Quel est l'exemple SOAP le plus simple utilisant Javascript?
Pour être aussi utile que possible, la réponse doit:
- Être fonctionnel (en d'autres termes, fonctionner réellement)
- Envoyer au moins un paramètre qui peut être défini ailleurs dans le code
- Traiter au moins une valeur de résultat qui peut être lue ailleurs dans le code
- Fonctionne avec la plupart des versions de navigateur modernes
- Soyez aussi clair et court que possible, sans utiliser de bibliothèque externe
javascript
soap
Thomas Bratt
la source
la source
Réponses:
Il s'agit du client SOAP JavaScript le plus simple que je puisse créer.
la source
xmlhttp.setRequestHeader('SOAPAction', 'http://myurl.com/action');
juste avant l'axmlhttp.send(sr)
corrigé.Il existe de nombreuses bizarreries dans la façon dont les navigateurs gèrent XMLHttpRequest, ce code JS fonctionnera sur tous les navigateurs:
https://github.com/ilinsky/xmlhttprequest
Ce code JS convertit XML en objets JavaScript faciles à utiliser:
http://www.terracoder.com/index.php/xml-objectifier
Le code JS ci-dessus peut être inclus dans la page pour répondre à vos besoins sans bibliothèque externe.
Deux autres options:
Client SOAP JavaScript:
http://www.guru4.net/articoli/javascript-soap-client/en/
Générez JavaScript à partir d'un WSDL:
https://cwiki.apache.org/confluence/display/CXF20DOC/WSDL+to+Javascript
la source
Cela ne peut pas être fait avec du JavaScript simple, sauf si le service Web est sur le même domaine que votre page.Edit: en 2008 et dans IE <10, cela ne peut pas être fait avec du javascript simple, sauf si le service est sur le même domaine que votre page.Si le service Web se trouve sur un autre domaine [et que vous devez prendre en charge IE <10], vous devrez utiliser une page proxy sur votre propre domaine qui récupérera les résultats et vous les renverra. Si vous n'avez pas besoin de l'ancien support IE, vous devez ajouter le support CORS à votre service. Dans les deux cas, vous devez utiliser quelque chose comme la bibliothèque suggérée par timyates, car vous ne voulez pas avoir à analyser les résultats vous-même.
Si le service Web est sur votre propre domaine, n'utilisez pas SOAP. Il n'y a aucune bonne raison de le faire. Si le service Web est sur votre propre domaine, modifiez-le afin qu'il puisse renvoyer JSON et évitez de vous occuper de tous les tracas qui accompagnent SOAP.
La réponse courte est: ne faites pas de demandes SOAP à partir de javascript. Utilisez un service Web pour demander des données à un autre domaine, et si vous le faites, analysez les résultats côté serveur et renvoyez-les sous une forme conviviale js.
la source
XMLHttpRequest
, probablement via une bibliothèque telle que jquery. Un client de noeud utiliserait autre chose. La plupart des services Web utilisent REST comme guide pour concevoir leur API, mais il existe de nombreux bons modèles. La clé ici est que les corps de demande / réponse sont JSON parce que les clients javascript (navigateur / nœud / partout) comprennent JSON nativement.Vous pouvez utiliser le plugin jquery.soap pour faire le travail à votre place.
Exemple d'utilisation du site:
la source
Thomas:
JSON est préféré pour une utilisation frontale car il est en javascript. Vous n'avez donc pas de XML à gérer. SOAP est une douleur sans utiliser une bibliothèque à cause de cela. Quelqu'un a mentionné SOAPClient, qui est une bonne bibliothèque, nous l'avons commencé pour notre projet. Cependant, il avait certaines limites et nous avons dû en réécrire de gros morceaux. Il a été publié en tant que SOAPjs et prend en charge le passage d'objets complexes au serveur, et comprend des exemples de code proxy pour consommer les services d'autres domaines.
la source
Quelqu'un at-il essayé cela? https://github.com/doedje/jquery.soap
Semble très facile à mettre en œuvre.
Exemple:
aura pour résultat
la source
Hear is best JavaScript with SOAP tutorial with example.
http://www.codeproject.com/Articles/12816/JavaScript-SOAP-Client
la source
Quelques bons exemples (et un client SOAP JavaScript tout prêt!) Ici: http://plugins.jquery.com/soap/
Vérifiez le fichier Lisez-moi et méfiez-vous de la restriction de navigateur de même origine.
la source
Consommer facilement des services Web SOAP avec JavaScript -> Listing B
Cela peut ne pas répondre à toutes vos exigences, mais c'est un début pour répondre à votre question. (J'ai changé XMLHttpRequest () pour ActiveXObject ("MSXML2.XMLHTTP") ).
la source
L'exemple le plus simple consisterait en:
Composer un message XML SOAP similaire à celui-ci
POSTAGE d'un message à l'URL du service Web à l'aide de XHR
Analyser la réponse SOAP XML de webservice similaire à ceci
Présentation des résultats à l'utilisateur.
Mais c'est beaucoup de tracas sans bibliothèques JavaScript externes.
la source
la source
Angularjs $ http wrap base sur XMLHttpRequest . Tant que dans le contenu de l'en-tête, le code suivant fera l'affaire.
Par exemple:
la source
La question est «Quel est l'exemple SOAP le plus simple utilisant Javascript?
Cette réponse est un exemple dans l' environnement Node.js , plutôt qu'un navigateur. (Appelons le script soap-node.js) Et nous utiliserons le service Web public SOAP d'Europe PMC comme exemple pour obtenir la liste de référence d'un article.
Avant d'exécuter le code, vous devez installer deux packages:
Vous pouvez maintenant exécuter le code:
Et vous verrez la sortie comme ci-dessous:
la source