从PHP客户端调用C#Web服务

时间:2015-09-30 10:28:46

标签: c# php web-services

我有这个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变量创建,所以这是一个很好的进步,但任何正文都可以解决生成的错误? 感谢

1 个答案:

答案 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;
?>