Das Beispiel in diesem Artikel beschreibt die Implementierung von PHP, der die WebService-ASMX-Datei von .Net über Soap aufruft. Teilen Sie es allen als Referenz mit. Die Details lauten wie folgt:
Kürzlich habe ich einem Kollegen beim Testen der in .net geschriebenen WebService-Schnittstelle geholfen, und der C#-Aufruf wurde erfolgreich durchgeführt PHP-Version zum Aufrufen. Zur Erkundung ist der entsprechende Prozess zum Aufrufen von PHP-Webdiensten wie folgt:
1. Öffnen Sie PHP-bezogene Erweiterungen:
Suchen Sie die Konfiguration Datei php.ini Datei und öffnen Sie die folgende Erweiterung
extension = php_soap.dll extension = php_curl.dll extension = php_openssl.dll
2.php-Code lautet wie folgt:
<?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,看看是什么类型。 ?>
Beachten Sie, dass nach dem Aufrufen einer Methode durch PHP sein Soap-Objekt automatisch eine Ergebnismethode generiert, um die Anzeige des Aufrufergebnisses zu erleichtern, z. B. die Methode „ChkWele“ von der oben aufgerufene WebService,
Aufruf Am Ende befindet sich eine entsprechende „ChkWeleResult“-Methode.
.NET-Teil-Webservice sollte beachtet werden
/* * <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; }
Weitere Artikel über die PHP-Implementierung von Soap zum Aufrufen der WebService-ASMX-Datei von .Net finden Sie unter PHP Chinesische Website!