Maison  >  Article  >  développement back-end  >  PHP implémente un service Web (testé pour être appelable par C# et Java)

PHP implémente un service Web (testé pour être appelable par C# et Java)

不言
不言original
2018-04-03 15:52:084495parcourir

Cet article partage avec vous l'implémentation du webservice en PHP (testé pour être appelable en C# et Java). Les amis dans le besoin peuvent s'y référer

Utiliser PHP pour créer un webservice dans d'autres langages tels que comme C# et JAVA. Les méthodes de Webservice disponibles sont différentes de la plupart des webservices construits avec PHP décrits sur Internet. Lorsque les paramètres d'entrée et les paramètres de sortie de l'interface sont relativement complexes, il est recommandé d'unifier directement les paramètres d'entrée et les paramètres de sortie en chaîne XML ou chaîne Json. L'accent est mis ici sur la manière d'implémenter un service Web. En ce qui concerne le format des paramètres d'entrée et de sortie, le fonctionnement de la chaîne XML ne sera pas présenté en détail. Vous pouvez effectuer de nombreuses recherches, mais vous devez faire attention au filtrage et à la vérification. paramètres pour XML et json. Cet article présente le service Web avec le fichier wsdl. La méthode no-wsdl est relativement simple et ne sera pas présentée ici

Vérifiez et activez l'extension soap

Vous devez d'abord activer l'extension soap, c'est-à-dire php.ini Supprimez le point-virgule avant extension=php_soap.dll dans le fichier et redémarrez Apache. Vérifiez si le savon est activé dans phpinfo. Le fonctionnement spécifique est ignoré ici. La mise en œuvre du service Web nécessite une extension Soap.

Créer un webservice C# dans VS

Le fichier wsdl généré par la méthode PHP de production de wsdl trouvé en ligne ne peut être utilisé que par PHP, alors ne vous laissez plus tromper. Nous utilisons donc ici une courbe pour enregistrer le pays afin de générer des fichiers wsdl. Créez d’abord un service Web via C# pour générer du wsdl, puis vous pourrez l’utiliser avec seulement de légères modifications.

1. Nouveau projet-> L'application Web ASP.NET crée un projet ;
PHP implémente un service Web (testé pour être appelable par C# et Java)
2.b. ->Choisissez le service Web (ASMX) pour le nouvel élément ;
PHP implémente un service Web (testé pour être appelable par C# et Java)
3. Notez que [WebMethod] doit être ajouté avant la fonction à publier dans. C#, qui peut également inclure Pour créer de nouvelles classes :
PHP implémente un service Web (testé pour être appelable par C# et Java)
4 Après l'écriture, appuyez sur ctrl+F5 pour exécuter et ce qui suit apparaîtra. Après avoir ajouté ?wsdl après le. url, le wsdl apparaîtra comme indiqué ci-dessous, enregistrez-le simplement sous.
PHP implémente un service Web (testé pour être appelable par C# et Java)
PHP implémente un service Web (testé pour être appelable par C# et Java)
5. Remplacez l'emplacement dans adresse :
PHP implémente un service Web (testé pour être appelable par C# et Java)
6. Interface du service Web d'écriture PHP :
PHP implémente un service Web (testé pour être appelable par C# et Java)
7.

Notez que la méthode Web Service peut avoir au plus un paramètre lorsqu'elle est déclarée, mais lors de l'appel de la méthode, vous devez passer deux paramètres, valeur1 et valeur2. (C'est très déroutant. Je crois comprendre que lors de l'appel de cette méthode, le système met tous les paramètres dans un objet et le transmet). La valeur de retour est également très spéciale. Au lieu de renvoyer $arry directement, vous la placez dans un objet et la renvoyez. La valeur clé dans la valeur de retour correspond au nom dans wsdl.
<?php
/**
 * Created by PhpStorm.
 * User: Damon
 * Date: 2018/1/26
 * Time: 11:16
 */
//引入自动加载
require __DIR__ . &#39;/vendor/autoload.php&#39;;

$wsdlfile=&#39;MESWebService.wsdl&#39;;//wsdl文件路径

$webserver = new \SoapServer($wsdlfile);
$webserver->setClass(\Src\MESWebService::class);
$webserver->handle();

Utilisez C# pour les tests d'appel

1. Nouveau projet->L'application Web ASP.NET crée un projet, comme avant ;

2. Cliquez avec le bouton droit sur la référence sous le projet. ->Pour ajouter une référence de service, cliquez sur les paramètres avancés de référence de service contextuel, cliquez sur Ajouter une référence Web dans le coin inférieur droit, comme indiqué ci-dessous :



PHP implémente un service Web (testé pour être appelable par C# et Java) 3. Remplissez l'adresse du service Webservice publié dans l'URL. Si l'image suivante apparaît correctement après avoir appuyé sur Entrée, modifiez le nom de la référence Web en fonction de vos besoins et cliquez sur Ajouter une référence :


4. Ensuite, cliquez avec le bouton droit sur le projet->Ajouter->Nouvel élément, sélectionnez le formulaire Web et modifiez le contenu du fichier .aspx.cs. PHP implémente un service Web (testé pour être appelable par C# et Java)

PHP implémente un service Web (testé pour être appelable par C# et Java)
5.e Enfin, appuyez sur ctrl+F5 pour exécuter pour voir la sortie correspondante, comme indiqué dans la figure. ci-dessous, description Le webservice implémenté par php peut être appelé correctement en C#. PHP implémente un service Web (testé pour être appelable par C# et Java)

PHP implémente un service Web (testé pour être appelable par C# et Java)

Recommandations associées :


php implémente l'interrogation de MySQL et la mise en cache sur Redis Méthode

Méthode php pour implémenter le socket

php implémente les tests des multi-variables de sortie var_dump et echo

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