Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/08/2010, 11:58
kbmaster
 
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...