使用SoapClient的PHP Web服务无法正常工作

时间:2011-10-12 15:15:16

标签: php soap nusoap webservices-client

我们需要与.NET webservice url进行通信,并通过传递相应的参数从方法中获取日期。当尝试在响应中使用NUSOAP库时,我在响应节点中得到了错误。

所以我尝试了样本w3schools温度转换webservice链接并测试了它。在这样做时,我得到了相同的错误结果。我已粘贴以下代码供您参考:

$client = new nusoap_client('http://www.w3schools.com/webservices/tempconvert.asmx',false);
$soapaction = "http://tempuri.org/CelsiusToFahrenheit";
$namespace= "http://tempuri.org/";
$client->soap_defencoding = 'UTF-8';
$params = array(
'Celsius' => "122"
);
$result = $client->call('CelsiusToFahrenheit', $params,$namespace,$soapaction);

我得到的答复如下,

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><CelsiusToFahrenheitResponse xmlns="http://tempuri.org/"><CelsiusToFahrenheitResult>Error</CelsiusToFahrenheitResult></CelsiusToFahrenheitResponse></soap:Body></soap:Envelope>        

您能否告诉我访问网络服务电话的错误。如果您需要任何其他详细信息,请通知我。

先谢谢,

此致

斯里尼瓦桑

1 个答案:

答案 0 :(得分:0)

发现web服务调用在php中使用nusoap

我在下面的行中进行了更改     $ client = new nusoap_client('http://www.w3schools.com/webservices/tempconvert.asmx',false);

使用以下代码,

$client = new nusoap_client('http://www.w3schools.com/webservices/tempconvert.asmx?wsdl',true);