Maison > Article > développement back-end > PHP implémente Soap pour appeler le fichier asmx WebService de .Net
L'exemple de cet article décrit l'implémentation de PHP appelant le fichier asmx WebService de .Net via Soap. Partagez-le avec tout le monde pour référence, les détails sont les suivants :
Récemment, j'ai aidé un collègue à tester l'interface WebService écrite en .net, et l'appel C# a réussi. Version PHP pour l'appeler. Après diverses explorations, le processus associé d'appel du service Web PHP est le suivant :
1. Ouvrez les extensions liées à PHP :
Trouvez la configuration. fichier php.ini et ouvrez l'extension suivante
extension = php_soap.dll extension = php_curl.dll extension = php_openssl.dll
Le code 2.php est le suivant :
<?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,看看是什么类型。 ?>
Notez qu'après que php appelle une méthode, son objet soap générera automatiquement une méthode Result pour faciliter l'affichage du résultat de l'appel, comme la méthode "ChkWele" de le WebService appelé ci-dessus,
appel Il y a une méthode "ChkWeleResult" correspondante à la fin.
Le service Web partiel .NET doit prêter attention à
/* * <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; }
Pour plus d'articles sur l'implémentation de PHP par Soap pour appeler le fichier asmx WebService de .Net, veuillez faire attention au PHP Site chinois !