Foros del Web » Programando para Internet » PHP »

Servicios Web PHP 5

Estas en el tema de Servicios Web PHP 5 en el foro de PHP en Foros del Web. Hola a todos, Estoy implementando un cliente PHP muy sencillo que consume Servicios Web definidos en un WSDL. El WSDL en cuestión tiene varios métodos ...
  #1 (permalink)  
Antiguo 15/05/2010, 17:09
 
Fecha de Ingreso: mayo-2010
Mensajes: 4
Antigüedad: 13 años, 11 meses
Puntos: 0
Servicios Web PHP 5

Hola a todos,

Estoy implementando un cliente PHP muy sencillo que consume Servicios Web definidos en un WSDL.

El WSDL en cuestión tiene varios métodos de los cuales, ahora mismo, solo he conseguido acceder a uno.

Al probar con los demás, "print_r" me devuelve un simple "stdClass Object ( ) ". (¿Entiendo que es un objeto nulo?)

La única diferencia es que el primer método no necesita parámetros y el segundo sí: dos datos de tipo string.


Código:
 
   $result =  $client->consulta1();     // esta es la que sí funciona
   print_r($result->return);


   $result2 = $client2->consulta2('a','b');  //esta es la que no funciona
   print_r($result2->return);
Mi pregunta es si el paso de parámetros para consumir servicios web tiene alguna particularidad.

En NuSOAP, por ejemplo, conviene pasarlos como una array. He probado de esta manera y tampoco funciona.

Gracias de antemano
  #2 (permalink)  
Antiguo 15/05/2010, 17:36
 
Fecha de Ingreso: mayo-2010
Mensajes: 4
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Servicios Web PHP 5

Efectivamente, es mediante un array. Se conoce que estaba pasando el dato incorrecto. Lo que tiene programar a altas horas de la noche.

Dejo el código de llamada correcta:

Código:
   $result =  $client->consulta1();     // esta es la que sí funciona
   print_r($result->return);

   $param = array(var1=>'a', var2=>'b');
   $result2 = $client2->consulta2($param);  
   print_r($result2->return);

Etiquetas: servicios
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 09:32.