這篇文章主要介紹了php實現通過soap調用.Net的WebService asmx檔案,結合執行個體形式分析了php使用soap實現WebService介面的調用技巧,需要的朋友可以參考下
本文執行個體講述了php實現通過soap調用.Net的WebService asmx檔案。分享給大家供大家參考,具體如下:
最近,幫一個同行測試用.net寫的WebService介面,C#調用通過,現在需要測試一下php版本對它的調用,經過各種探索,相關的PHP調用webservice的過程如下:
1.開啟php相關擴充:
找到設定檔php.ini 檔案, 開啟以下擴充
extension = php_soap.dllextension = php_curl.dllextension = php_openssl.dll
2.php代碼如下:
<?phpheader("content-type:text/html;charset=utf-8");$client = new SoapClient(" http://192.168.3.178:8080/ChkWelePsw.asmx?WSDL");//本行測試不可行 $client = new SoapClient(" http://192.168.3.178: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;}
以上就是本文的全部內容,希望對大家的學習有所協助。