Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.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 SoapClient异常,我做错了什么?_Php_Web Services_Soap - Fatal编程技术网

PHP SoapClient异常,我做错了什么?

PHP SoapClient异常,我做错了什么?,php,web-services,soap,Php,Web Services,Soap,我最近开始寻找使用PHP的web服务调用。 我无法让以下相当简单的代码片段正常工作,而是web服务返回一个异常 <?php $client = new SoapClient("http://www.webservicex.net/geoipservice.asmx?wsdl"); print($client->__soapCall("GetGeoIP", array('IP' => '83.251.30.62'))); ?> 您应该编写“IPAddress”,而不是“I

我最近开始寻找使用PHP的web服务调用。 我无法让以下相当简单的代码片段正常工作,而是web服务返回一个异常

<?php
$client = new SoapClient("http://www.webservicex.net/geoipservice.asmx?wsdl");
print($client->__soapCall("GetGeoIP", array('IP' => '83.251.30.62')));
?>
您应该编写
“IPAddress”
,而不是
“IP”
(在数组中),这样它就可以工作了

$client = new SoapClient("http://www.webservicex.net/geoipservice.asmx?wsdl"); 

$result = $client->GetGeoIP(array("IPAddress" => "83.251.30.62")); //change was made here

echo $result->GetGeoIPResult->CountryName;

我尝试了你的建议,但仍然产生了相同的例外:(哦,是的。我尝试用uu soapCall更改上面的代码以使用IPAddress,这是不起作用的。Wierd,到底有什么区别?web服务正在寻找名为
“IPAddress”
的字符串变量,而不是
“IP”
,仅此而已。我建议使用,它可以用来轻松查看输入变量的名称。非常感谢!标记为答案
$client = new SoapClient("http://www.webservicex.net/geoipservice.asmx?wsdl"); 

$result = $client->GetGeoIP(array("IPAddress" => "83.251.30.62")); //change was made here

echo $result->GetGeoIPResult->CountryName;