ホームページ >バックエンド開発 >PHPチュートリアル >PHP は .Net の WebService asmx ファイルを呼び出すための SOAP を実装します

PHP は .Net の WebService asmx ファイルを呼び出すための SOAP を実装します

高洛峰
高洛峰オリジナル
2017-02-28 14:50:571615ブラウズ

この記事の例では、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(&#39;username&#39;=>&#39;test3&#39;,&#39;psw&#39;=>&#39;123&#39;);
//调用必须用__soapCall
$p = $client->__soapCall(&#39;ChkWele&#39;,array(&#39;parameters&#39; => $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サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。