Cet article présente principalement l'exemple de code de Nodejs appelant WebService. L'éditeur pense que c'est plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur pour y jeter un œil, j'espère que cela pourra aider tout le monde.
Ces deux derniers jours, j'ai essayé d'écrire des js pour des pages purement statiques pour appeler des WebService écrits en Java, mais je n'ai pas réussi (la période de construction principale est serrée, je vais étudiez-le plus tard quand j'aurai plus de temps libre, et voyez si je peux. Vous ne pouvez pas écrire une page js purement statique pour appeler WebService). En fin de compte, il n'y a pas d'autre moyen que de passer à Node JS pour appeler WebService. J'ai voulu trouver des informations sur Internet, mais j'ai trouvé que rien n'était satisfaisant. J'ai finalement dû me référer aux documents sur le site officiel et créer un programme côté client basé sur mes propres besoins. utile à tout le monde.
Faites d'abord les préparatifs préliminaires, en supposant que vous avez installé nodejs, car je ne l'ai pas configuré via le projet, mais directement via la commande, donc Installons d'abord le package nodejs qui doit être utilisé (si vous utilisez la méthode projet, vous pouvez configurer package.json pour y parvenir)
La commande est la suivante
npm install soap npm install sinon npm install request npm install debug npm install lodash npm install soap npm install concat-stream npm install optional npm install ejs npm install xml-crypto npm install node-uuid npm install sax npm install strip-bom npm install selectn npm install mocha –save-dev
Après avoir installé cette partie, vous pouvez commencer à écrire du code. Nom du fichier monServeur.js.
Le code est le suivant
var wsdlOptions ={ "overrdeRootElement":{ "namespace":"xmlns:tns", "xmlnsAttributes":[{ "name":"xmlns:ns", "value":"http://www.php.cn/" }] } }; var url='http://www.php.cn/WebService/WebService?wsdl'; var soap=require('soap'); var args={'Param1':'value1','Param2':'value2'}; soap.createClient(url,wsdlOptions,function(err,client){ if(err!==null){ console.log(err); } // client.setSOAPAction(url); client.MyService(args,function(err,result){ if(err!==null){ console.log(err); } console.log (result); }); });
Test via la commande
node myServer.js
pour obtenir Le résultat sera basé sur les données renvoyées par le serveur. Ce que j'obtiens ici est une donnée JSON (Il sera basé sur les données renvoyées par le serveur. Ce que j'obtiens ici est une donnée JSON.
Remarque : http://www Remplacez .php.cn par l'espace de noms de votre propre service, var url='http://www.php.cn/WebService/WebService?wsdl' par votre propre adresse de service, il est préférable de ne pas utiliser new Array (pour le paramètre args) pour créer, en utilisant des données JSON, le nombre de paramètres doit être défini de manière plus réaliste. Enfin, si vous souhaitez l'exécuter sur un navigateur, vous devez résoudre le problème de sécurité. avant de pouvoir être utilisé normalement
Recommandations associées :
Exemple simple d'appel inter-domaines JS
Résumé du service Web d'appel Jquery ajax
Node Introduction détaillée à l'implémentation du service Web de style Restful dans js
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!