この記事の例では、soap を介して .Net の WebService asmx ファイルを呼び出す php の実装について説明します。参考までに皆さんと共有してください。詳細は次のとおりです。
最近、私は同僚が .net で書かれた WebService インターフェイスをテストするのを手伝い、C# 呼び出しに成功しました。今度は、それを呼び出すための PHP バージョンをテストする必要があります。さまざまな調査の後、関連する PHP Web サービスを呼び出すプロセスは次のとおりです:
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 メソッド (「ChkWele」メソッドなど) を自動的に生成することに注意してください。上記の呼び出される側の WebService の
呼び出し側には、対応するメソッド「ChkWeleResult」があります。
.NET Webサービスに関する注意事項
/* * <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; }
.NetのWebService asmxファイルを呼び出すためのsoapを実装するPHPに関する記事については、PHP中国語Webサイトに注目してください。