Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP时SOAP请求失败_Php_Web Services_Soap - Fatal编程技术网

使用PHP时SOAP请求失败

使用PHP时SOAP请求失败,php,web-services,soap,Php,Web Services,Soap,我想使用来自此Web服务的简单SOAP请求: System.Web.Services.Protocols.SoapException:服务器无法运行 处理请求。-->System.NullReferenceException:对象引用 未设置为对象的实例。在 位于的WebserviceX.Service.Adapter.IPAdapter.CheckIP(字符串IP) WebserviceX.Service.GeoIPService.GetGeoIP(字符串IPAddress) 这是我从Web

我想使用来自此Web服务的简单SOAP请求:

System.Web.Services.Protocols.SoapException:服务器无法运行 处理请求。-->System.NullReferenceException:对象引用 未设置为对象的实例。在 位于的WebserviceX.Service.Adapter.IPAdapter.CheckIP(字符串IP) WebserviceX.Service.GeoIPService.GetGeoIP(字符串IPAddress)

这是我从Webservice获得的例外,这是我的代码:

    $wsdl = 'http://www.webservicex.net/geoipservice.asmx?WSDL';
    $soap = new SoapClient($wsdl);

    $functions = $soap->__getFunctions();
    $types = $soap->__getTypes();

    $parameters = array("IPAddress"=> "exampleIPAddress");
    $response = $soap->GetGeoIP($parameters);
当然,使用真实的ip地址而不是“exampleIPAddress”


谢谢

看来soap服务器端出现了一个错误(谢谢James)。我尝试了另一个IP地址,效果很好。可能某些ip区域不受支持:D

在本地服务器或远程服务器上,您在哪里检查此代码。如果是本地服务器,您使用的是什么操作系统?此代码在Ubuntu上的本地vm上运行。我认为soap的优点是,它不依赖于操作系统?这个Webservice上的另一个函数不需要任何参数,它工作得非常好!是的,但我想确认启用了SOAP扩展,这就是我要求OS的原因,你可以导航到php.ini文件并检查,我只是通过调用:extension_loaded('SOAP')来检查它。它告诉我错误听起来像是来自远程(soap)服务器,而不是php服务器。按原样尝试(使用“exampleIPAddress”)是否同样失败,或者您是否收到包含“无效IP地址”的响应?