使用PHP时SOAP请求失败
我想使用来自此Web服务的简单SOAP请求: System.Web.Services.Protocols.SoapException:服务器无法运行 处理请求。-->System.NullReferenceException:对象引用 未设置为对象的实例。在 位于的WebserviceX.Service.Adapter.IPAdapter.CheckIP(字符串IP) WebserviceX.Service.GeoIPService.GetGeoIP(字符串IPAddress) 这是我从Webservice获得的例外,这是我的代码:使用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
$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地址”的响应?