Foros del Web » Programando para Internet » PHP »

Consumir WS .NET desde PHP

Estas en el tema de Consumir WS .NET desde PHP en el foro de PHP en Foros del Web. Buenas forer@s estoy consumiendo un web service que está hecho en .NET desde PHP existe un método llamado calcular, su estructura es: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código ...
  #1 (permalink)  
Antiguo 18/03/2015, 16:04
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 7 meses
Puntos: 45
Exclamación Consumir WS .NET desde PHP

Buenas forer@s

estoy consumiendo un web service que está hecho en .NET desde PHP

existe un método llamado calcular, su estructura es:

Código XML:
Ver original
  1. <con:request>
  2.                 <con:Documentcontable>
  3.                     <con:ANIO>2010</con:ANODCTO>
  4.                     <con:FNT>83</con:FNTEDCTO>
  5.                     <con:NUM>0000000256</con:NUMEDCTO>
  6.                 </con:Documentcontable>
  7.                                 <con:Documentcontable>
  8.                     <con:ANIO>2010</con:ANODCTO>
  9.                     <con:FNT>84</con:FNTEDCTO>
  10.                     <con:NUM>0000000257</con:NUMEDCTO>
  11.                 </con:Documentcontable>
  12.                          </con:request>

Como ven la posición Documentcontable se repite.

Para llamar este método envío un array del siguiente tipo

Código PHP:
Ver original
  1. $array['request']['Documentcontable']['ANIO'] = '2010';
  2. $array['request']['Documentcontable']['FNT'] = '83';
  3. $array['request']['Documentcontable']['NUM'] = '0000000256';
  4.  
  5. //se repite, pero es obvio que no puedo hacer esto porque se me reemplazan los valores
  6.  
  7. $array['request']['Documentcontable']['ANIO'] = '2010';
  8. $array['request']['Documentcontable']['FNT'] = '83';
  9. $array['request']['Documentcontable']['NUM'] = '0000000256';
  10.  
  11. $this->callFuntionWs('calcular',$array);

se repite, pero es obvio que no puedo hacer esto porque se me reemplazan los indices de los arreglos.

Como puedo hacer que está posición se repita sin que sobreescriba los valores.

Cabe decir que este WS no es de nuestra propiedad.

Muchas gracias por cualquier ayuda o cualquier pista.
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #2 (permalink)  
Antiguo 18/03/2015, 16:05
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Consumir WS .NET desde PHP

Me imagino que el cliente para consumir dicho servicio debería indicarte cómo pasar múltiples valores, pero pues es imposible para nosotros adivinar cómo se hace.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 18/03/2015, 16:11
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 7 meses
Puntos: 45
Respuesta: Consumir WS .NET desde PHP

Hola pateketrueke

Esos manes no dicen nada, lo que yo quiero es generar dicha estructura con el arreglo formado.

O me estas diciendo que esto depende unicamente del dueño del WS?
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #4 (permalink)  
Antiguo 18/03/2015, 16:13
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Consumir WS .NET desde PHP

No creo que dependa del WS, pero si ellos no te dan documentación precisa sobre cómo resolver lo que buscas, ¿qué cosa podríamos saber nosotros?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 18/03/2015, 16:22
Avatar de malakian  
Fecha de Ingreso: septiembre-2010
Ubicación: $malakian->Colombia();
Mensajes: 469
Antigüedad: 13 años, 7 meses
Puntos: 45
Respuesta: Consumir WS .NET desde PHP

El tema es que la documentación de ellos es un XML y WSDL, no hay nada más.

en el WSDL vemos el método y este tiene una estructura algo así:

Código XML:
Ver original
  1. <prod:issnList>
  2. <!--Zero or more repetitions:-->
  3. <item>0960-085X</item>
  4. <item>1746-0166</item>
  5. </prod:issnList>

Ese comentario <!--Zero or more repetitions:--> nos indica que issnList se repite.

También sabemos que debemos enviar un array con dicha estructura para que el WS forme el XML.

Es posible llegar a esta estructura desde php de alguna forma?
__________________
Guitar Loco, Desarrollador Web PHP
Sigueme: @jose1x
  #6 (permalink)  
Antiguo 18/03/2015, 16:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Consumir WS .NET desde PHP

Creo que te refieres a un array de arrays:
Código PHP:
Ver original
  1. $array['request']['Documentcontable'][0]['ANIO'] = '2010';
  2. $array['request']['Documentcontable'][1]['ANIO'] = '2011';

Sólo estoy especulando, no tengo certeza de que así sea.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 18/03/2015, 17:03
 
Fecha de Ingreso: febrero-2015
Mensajes: 61
Antigüedad: 9 años, 2 meses
Puntos: 15
Respuesta: Consumir WS .NET desde PHP

y cual es el codigo q usas para consumir /llamar ese ws

Etiquetas: .net, service
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:00.