c# 调用 PHP 编写的Web Services

最近遇到一个项目,需要使用C# 调用PHP编写的Webservices 发送短信。如下是实现方案,仅供参考

  1. 使用 PHP 编写WebService ,可以使用nusoap 插件或Php自带的 soap 组件,我使用的Php 自带的soap组件
    //server端 serverSoap.php
    
    $soap = new SoapServer(null,array(‘uri‘=>"http://192.168.1.123/"));
    $soap->addFunction(‘Add_func‘);                                                 //Register the function
    $soap->addFunction(SOAP_FUNCTIONS_ALL);
    $soap->handle();
    
    function Add_func($i, $j){
        $res = $i + $j;
        return $res;
    }

     

  2. PHP 客户端调用
    //client端 clientSoap.php
    try {
        $client = new SoapClient(null,
      array(‘location‘ =>"http://192.168.1.123/test/serverSoap.php",‘uri‘ => "http://127.0.0.1/")
        );
        echo $client->Add_func(100,99);
    
    } catch (SoapFault $fault){
        echo "Error: ",$fault->faultcode,", string: ",$fault->faultstring;
    }

     

  3. 使用工具zendstudio 将服务端的webservice 生成WSDL 文件并发布。

     

  4. C# 调用此webservice 步骤
    • 使用 WSDL.exe 生成代理类:
      wsdl /language:c# /n:wsdlLib /out:D:/ServiceProxy.cs http://192.168.1.123/test/serverSoap.php?wsdl
    • 将生成的文件 ServiceProxy.cs放入项目文件app_code中
    • 直接调用此代理类中的方法Add_func(x,y);

c# 调用 PHP 编写的Web Services,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。