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

Méthode PHP pour appeler le fichier asmx WebService de .Net via Soap

墨辰丷
墨辰丷original
2018-05-25 13:51:391938parcourir

Cet article présente principalement le fichier WebService asmx de .Net appelé par PHP via Soap, et analyse les compétences d'appel de PHP utilisant Soap pour implémenter l'interface WebService sous forme d'exemples. Les amis dans le besoin peuvent se référer aux exemples de celui-ci. article

Il décrit comment PHP peut appeler 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. Je dois maintenant tester l'appel du. Version PHP. Après diverses explorations, le processus pertinent d'appel du service Web par PHP est le suivant :

1 Ouvrir les extensions liées à PHP :

Trouver le fichier de configuration. 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://192.168.3.178:8080/ChkWelePsw.asmx?WSDL");
//本行测试不可行 $client = new SoapClient(" http://192.168.3.178: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,看看是什么类型。
?>

Remarque, 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" du WebService du côté appelé ci-dessus,

du côté appelant. La méthode "ChkWeleResult" correspondante.

Quelques éléments à prendre en compte dans le service Web .NET

/*
 *  <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;
}

Ce qui précède est l'intégralité du contenu de cet article, j’espère qu’il vous sera utile. L’apprentissage de chacun aide.


Recommandations associées :

Méthode de gestion de la classe PHP SoapClient introuvable

php5 .5.12 Message d'erreur SOAP de débogage

Classe PHP SoapClient introuvable Comment résoudre

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en 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