我有这个ASP.Net C#Web服务 http://www.emadbook.com/TestWebService/Convert.asmx
这是PHP客户端代码:
<?php
//Use C# Web Service:
require "lib/nusoap.php";
$client2 = new nusoap_client("http://www.emadbook.com/TestWebService/Convert.asmx?WSDL","http://tempuri.org/");
$result = $client2->call("CelsiusToFahrenheit", array(37));
echo $result;
?>
这段代码没有返回任何错误,任何人都可以修改我的代码以返回一个值,我认为主要的错误是将数字传递给服务,因为我在谷歌上查看但我找不到发送数字参数的方法?
编辑: 我看到了这个链接: Call asp.net web service from PHP with multiple parameters 我修改了我的代码:
<?php
//Use C# Web Service:
$client2 = new SoapClient("http://www.emadbook.com/TestWebService/Convert.asmx?WSDL");
$params->Celsius = '37';
$result = $client2->CelsiusToFahrenheit($params)->CelsiusToFahrenheitResult;
echo (string)$result;
?>
并返回结果,但在此之前它显示此错误: 警告:从空值创建默认对象 指向Params变量创建,所以这是一个很好的进步,但任何正文都可以解决生成的错误? 感谢
答案 0 :(得分:1)
这是我自己找到的答案,我喜欢与其他开发者分享
<?php
//Use C# Web Service:
$client2 = new SoapClient("http://www.emadbook.com/TestWebService/Convert.asmx?WSDL");
$params = new ArrayObject();
$params->Celsius = 37;
$result = $client2->CelsiusToFahrenheit($params)->CelsiusToFahrenheitResult;
echo $result;
?>