Maison  >  Article  >  développement back-end  >  PHP implémente Soap pour appeler le fichier asmx WebService de .Net

PHP implémente Soap pour appeler le fichier asmx WebService de .Net

高洛峰
高洛峰original
2017-02-28 14:50:571577parcourir

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(&#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,看看是什么类型。
?>

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 !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn