Foros del Web » Programando para Internet » PHP »

Webservices - SOAP para servidor y Nusoap para cliente, es posible?

Estas en el tema de Webservices - SOAP para servidor y Nusoap para cliente, es posible? en el foro de PHP en Foros del Web. Hola que tal amigos, estoy iniciando en esto de los webservices me encargaron consumir un service y estoy algo perdido :S Ya hice el cliente, ...
  #1 (permalink)  
Antiguo 08/11/2010, 09:57
 
Fecha de Ingreso: junio-2009
Mensajes: 128
Antigüedad: 14 años, 10 meses
Puntos: 5
Webservices - SOAP para servidor y Nusoap para cliente, es posible?

Hola que tal amigos, estoy iniciando en esto de los webservices me encargaron consumir un service y estoy algo perdido :S

Ya hice el cliente, pero me marca algun error que no comprendo y segun yo esta todo bien, entonces mi pregunta es:

es posible que el servidor este en SOAP, y yo pueda trabajar el cliente en NUSOAP? o debo forzozamente trabajar en SOAP?

Saludos!!
__________________
krowmx
Hostings y Dominios
Tú defines la idea, nosotros la desarrollamos
  #2 (permalink)  
Antiguo 08/11/2010, 10:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Webservices - SOAP para servidor y Nusoap para cliente, es posible?

NuSOAP es una librería para consumir servicios web en SOAP, así que el error que te marca debe de ser en alguna parte de tu implementación más que de la librería.

Saludos.
  #3 (permalink)  
Antiguo 08/11/2010, 10:37
 
Fecha de Ingreso: junio-2009
Mensajes: 128
Antigüedad: 14 años, 10 meses
Puntos: 5
Respuesta: Webservices - SOAP para servidor y Nusoap para cliente, es posible?

Gracias GatorV,

Tengo una duda más, ya hice mi archivo cliente, el servicio es demasiado sencillo al parecer, pero no encuentro por que me marca el error cuando lo suba a mi hosting:


http://krowmx.com/demo/demo3/traspasomovi.php

Servidor::::
http://sre.movistar.com.mx/WS_RECARG...aServicio?WSDL


Código PHP:
Ver original
  1. require_once('lib/nusoap.php');
  2.  
  3. // Create the client instance
  4.  
  5. $client = new soapclient('http://sre.movistar.com.mx/WS_RECARGA/RecargaServicio?WSDL','wsdl');
  6.  
  7. // Call the SOAP method
  8. $strXML = array(
  9.       'PASSWORD_IVR' => 0000,
  10.       'PUNTO_VENTA'         => 0000,
  11.       'MONTO'         => 10,
  12.       'DN'         => 0000,
  13.       'DI' => 12345,
  14.       'TRANSACCION'=>00
  15. );  
  16. $result = $client->call('recargaElectronica', $strXML);
  17.  
  18.  
  19. // Display the request and response
  20.  
  21.  print_r($result);

Me marca el siguiente error:

Array ( [faultcode] => env:Server [faultstring] => Failed to invoke end component com.cps.recarga.ws.RecargaServicioPortImpl (POJO), operation=recargaElectronica -> Failed to invoke method [detail] => Array ( [string] => java.lang.NullPointerException ) )

Es mi primera vez trabajando con WS, cualquier aporte que me pudieras dar te lo agradecería infinitamente

Saludos!
__________________
krowmx
Hostings y Dominios
Tú defines la idea, nosotros la desarrollamos
  #4 (permalink)  
Antiguo 08/11/2010, 11:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Webservices - SOAP para servidor y Nusoap para cliente, es posible?

Pues al parecer es un error del lado del servidor, o puede ser que no estes enviando un parámetro requerido ya que si te fijas te dice que tuvo un error al invocar el método y te lanza un error nulo.

Saludos.
  #5 (permalink)  
Antiguo 08/11/2010, 11:18
 
Fecha de Ingreso: junio-2009
Mensajes: 128
Antigüedad: 14 años, 10 meses
Puntos: 5
Respuesta: Webservices - SOAP para servidor y Nusoap para cliente, es posible?

Oye GatorV, disculpa de nuevo, me apena mucho tal vez preguntas muy novatas,

Yo mando la información pues en un array, cual es la diferencia de enviarlo como array y enviarlo como xml?

<RECARGA_ELECTRONICA><PASSWORD_IVR>0000</PASSWORD_IVR><PUNTO_VENTA>0000000000</PUNTO_VENTA><MONTO>cantidad</MONTO><DN>telefono</DN><DI>000000</DI><TRANSACCION>00</TRANSACCION>
</RECARGA_ELECTRONICA>

Para que funcione tal vez debería enviarlo como XML?
Saludos y gracias atentamente de nuevo
__________________
krowmx
Hostings y Dominios
Tú defines la idea, nosotros la desarrollamos
  #6 (permalink)  
Antiguo 08/11/2010, 11:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Webservices - SOAP para servidor y Nusoap para cliente, es posible?

Pues ahí si depende de tu servicio web en que formato lo quieras.

Saludos.
  #7 (permalink)  
Antiguo 08/11/2010, 12:43
 
Fecha de Ingreso: junio-2009
Mensajes: 128
Antigüedad: 14 años, 10 meses
Puntos: 5
Respuesta: Webservices - SOAP para servidor y Nusoap para cliente, es posible?

GatorV muchas gracias, he logrado avanzar con tu ayuda,

Mira ya hice el XML y lo envio asi:

Código PHP:
Ver original
  1. $cadena =  "<?xml version='1.0'?>
  2. <recarga_electronica>
  3. <password_ivr>1234</password_ivr>
  4. <punto_venta>123450</punto_venta>
  5. <monto>10</monto>
  6. <dn>8330000</dn>
  7. <di>1000</di>
  8. <transaccion>00</transaccion>
  9. </recarga_electronica>";
  10.  
  11. // Display the request and response
  12. $result = $client->call('recargaElectronica', $cadena);


Me manda el siguiente error:

Código PHP:
Ver original
  1. env:Server: [Server CodecHandler] Failed to decode -> Failed to decode message

Mi duda a esto es:

estará bien enviado esto??
Código PHP:
Ver original
  1. <password_ivr>2010</password_ivr>

o dentro del tag debo considerar el tipo de dato o algo asi? y es que he visto que luego le agregan lo que viene en el WSDL
por ejemplo:

Código XML:
Ver original
  1. <s0:part name="string" type="s1:string"/>

eso de s0, s1, etc como sería? cualquier aporte es excelente

gracias y disculpa las molestias,
__________________
krowmx
Hostings y Dominios
Tú defines la idea, nosotros la desarrollamos
  #8 (permalink)  
Antiguo 08/11/2010, 12:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Webservices - SOAP para servidor y Nusoap para cliente, es posible?

Lee tu documentación en ella te debe de especificar como es el formato que tienes que enviar, ya que yo no conozco ese webservice, y la documentación del tal te debe de dar una idea de como enviar el parámetro.

Saludos.
  #9 (permalink)  
Antiguo 08/11/2010, 17:27
 
Fecha de Ingreso: junio-2009
Mensajes: 128
Antigüedad: 14 años, 10 meses
Puntos: 5
Respuesta: Webservices - SOAP para servidor y Nusoap para cliente, es posible?

Bueno estoy avanzando un poco más:::

Quite la cabecera XML::

Código PHP:


$cadena =  "<?xml version='1.0'?>

<recarga_electronica>

<password_ivr>1234</password_ivr>

<punto_venta>123450</punto_venta>

<monto>10</monto>

<dn>8330000</dn>

<di>1000</di>

<transaccion>00</transaccion>

</recarga_electronica>";
Y lo dejé así:

Código PHP:

$cadena 
=  "<password_ivr>1234</password_ivr>

<punto_venta>123456789</punto_venta>

<monto>10</monto>

<dn>8330000</dn>

<di>1000</di>

<transaccion>00</transaccion>"

Es decir solo pase los parametros que me piden,

Ahora tengo el siguiente error Gator, espero puedas darme alguna orientación

este es el error:::

env:Server: [Server CodecHandler] Failed to decode
-> Found more elements in the soap envelope than required by WSDL:punto_venta. WSDL Message for this operation is: (WsdlBindingMessage@25093361 )}>)>)

Alguna idea por que es eso?
__________________
krowmx
Hostings y Dominios
Tú defines la idea, nosotros la desarrollamos
  #10 (permalink)  
Antiguo 08/11/2010, 23:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Webservices - SOAP para servidor y Nusoap para cliente, es posible?

Pues si traduces el error te dice el problema, tienes más elementos en tu llamada de los que requiere el wsdl.

Saludos.
  #11 (permalink)  
Antiguo 09/11/2010, 10:25
 
Fecha de Ingreso: junio-2009
Mensajes: 128
Antigüedad: 14 años, 10 meses
Puntos: 5
Respuesta: Webservices - SOAP para servidor y Nusoap para cliente, es posible?

Bien ahora me aparece el siguiente error GatorV, agradezco tus valiosas aportaciones para mi:

Código PHP:
Ver original
  1. env:Server: [Server CodecHandler] Failed to decode
  2.  -> Failed to decode message


Segun la documentacion me debe regresar un XML, debo hacer algo para recibir la respuesta en modo XML?, el error mencionado tiene algo que ver a eso?

Por ahora solo estoy imprimiendolo asi:
Código PHP:
Ver original
  1. print "<h2>Result: </h2><pre>". $result."</pre>";

Pero me surgió la duda si debo hacer algo mas para poder leer la respuesta que viene en XML

Saludos!
__________________
krowmx
Hostings y Dominios
Tú defines la idea, nosotros la desarrollamos

Etiquetas: cliente, nusoap, posible, soap, servidores, webservice
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 23:01.