
12/08/2010, 11:58
|
| | Fecha de Ingreso: julio-2009
Mensajes: 42
Antigüedad: 15 años, 7 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... |