本文實例講述了php實作透過soap呼叫.Net的WebService asmx檔。分享給大家供大家參考,具體如下:
最近,幫一個同行測試用.net寫的WebService接口,C#調用通過,現在需要測試一下php版本對它的調用,經過各種探索,相關的PHP呼叫webservice的過程如下:
1.開啟php相關擴充:
##找到設定檔php.ini 文件, 開啟以下擴充功能extension = php_soap.dll extension = php_curl.dll extension = php_openssl.dll
2.php程式碼如下:
<?php header("content-type:text/html;charset=utf-8"); $client = new SoapClient(" http://www.php.cn/:8080/ChkWelePsw.asmx?WSDL"); //本行测试不可行 $client = new SoapClient(" http://www.php.cn/:8080/chkwelepsw.asmx?WSDL/ChkWele?username=test3&psw=123"); //参数这样传递 先包装一下 $param = array('username'=>'test3','psw'=>'123'); //调用必须用__soapCall $p = $client->__soapCall('ChkWele',array('parameters' => $param)); print_r($p->ChkWeleResult); //这里先输出一下变量$p,看看是什么类型。 ?>注意,在php呼叫某個方法後,其soap對象,就會自動產生一個Result方法,以方便顯示呼叫結果,如上面的被呼叫端的WebService的「ChkWele」方法,呼叫端就有對應的“ChkWeleResult”方法。 .NET部分 webservice要注意的地方
/* * <system.web>在这个节点中加入如下内容 <webServices> <protocols> <add name="HttpSoap"/> <add name="HttpPost"/> <add name="HttpGet"/> <add name="Documentation"/> </protocols> </webServices> */ [WebMethod(Description = "This......", EnableSession = false)] public string ChkWele(string username, string psw) { string ret = ""; return ret; }更多 php實作soap呼叫.Net的WebService asmx檔案相關文章請關注PHP中文網!