本文實例講述了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://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; }
更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP針對XML文件操作技巧總結》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》、《PHP錯誤與異常處理方法總結》、《PHP基本語法入門教程》、《php面向對象程序設計入門教程》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。