Foros del Web » Programando para Internet » PHP »

Paso de parametros con soap

Estas en el tema de Paso de parametros con soap en el foro de PHP en Foros del Web. Deceo consumir un servicio web con php soap no-wsdl pero tanto utilizando el zend framework como haciendolo directamente con las fuciones de php tengo un ...
  #1 (permalink)  
Antiguo 12/08/2010, 11:58
 
Fecha de Ingreso: julio-2009
Mensajes: 42
Antigüedad: 14 años, 9 meses
Puntos: 3
Paso de parametros con soap

Deceo consumir un servicio web con php soap no-wsdl pero tanto utilizando el zend framework como haciendolo directamente con las fuciones de php tengo un error con el pasaje de paremetros a los metodos del servicio.

Estoy utilizando para las pruebas un web service free : http://www.webservicex.net/WCF/ServiceDetails.aspx?SID=46

GeoIpsevice tiene los siguientes metodos

GetGeoIP: recibe un string IPAddress y retorna los datos -localizacion en el mundo- de esa ip

GetGeoIPContext : no recibe nada devuelve los datos de mi ip


El codigo que posteo a continuacion funciona perfectamente con el segundo metodo -cuando no hay q pasar parametros- pero con el primero responde con un error : 'Error Occured.Please ensure you enter proper IP address or try again later'; con otros servicios pasa lo mismo cuando paso los parametros los mismos llegan como null.

try
{
$client = new SoapClient(NULL,array('location' => 'http://www.webservicex.net/geoipservice.asmx',
'uri'=> 'http://www.webservicex.net'));

$params=array("IPAddress"=> "192.68.34.1");
$response=$client->__soapCall("GetGeoIP", $params,
array('soapaction' => 'http://www.webservicex.net/GetGeoIP',
'uri' => 'http://www.webservicex.net'));


var_dump($response);
}


catch (SoapFault $s)
{
echo 'ERROR: [' . $s->faultcode . '] ' . $s->faultstring;
}

catch (Exception $e)
{
echo 'ERROR: ' . $e->getMessage();
}




se agradece la ayuda...
  #2 (permalink)  
Antiguo 20/08/2010, 11:56
 
Fecha de Ingreso: julio-2009
Mensajes: 42
Antigüedad: 14 años, 9 meses
Puntos: 3
Respuesta: Paso de parametros con soap

Me autorrespondo por si a alguien le sirve, lo que hay que hacer es pasar los parametros de la siguiente forma:

$params=array(new SoapParam("220.140.161.122","ns1:IPAddress"));

al parecer ns1 hace referencia al namespace ... saludos
  #3 (permalink)  
Antiguo 30/08/2010, 10:47
 
Fecha de Ingreso: diciembre-2008
Mensajes: 84
Antigüedad: 15 años, 4 meses
Puntos: 0
Respuesta: Paso de parametros con soap

Hola amigo ,
Tengo que enviar a un Web service un a clase , no se como hacerlo ya que me surgen dudas, el esquema del asmx esta contruido en .net .
1.-Se puede enviar una clase en php hacia .net?
2.-Tendre que crear una clase en php y luego instanciar un objeto y envia el objeto a .net ?

Yo he enviado cadena de caracteres pero una clase nunca, se agradece cualquier ayuda ya que estoy contra el tiempo.

Si tienes un ejemplo se agradece...............

Etiquetas: parametros, soap
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 17:48.