Ceci ne peut pas être fait avec du JavaScript simple à moins que le service web ne soit 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 à moins que le service soit sur le même domaine que votre page.
Si le service web est sur un autre domaine [et que vous devez prendre en charge IE<10] alors 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 prendre en charge les anciennes versions d'IE, vous devez ajouter le support CORS à votre service. Dans tous les cas, vous devriez utiliser quelque chose comme la librairie que timyates a suggérée car vous ne voulez pas avoir à analyser les résultats vous-même.
Si le service web est sur votre propre domaine alors ne pas utiliser SOAP. Il n'y a aucune bonne raison de le faire. Si le service web est sur votre propre domaine alors modifiez-le pour qu'il puisse renvoyer du JSON et épargnez-vous les problèmes liés à l'utilisation de SOAP.
La réponse courte est : Ne faites pas de requêtes SOAP depuis 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 adaptée au JavaScript.
5 votes
Être simple et clair peut entrer en conflit avec le fait de ne pas utiliser de bibliothèque externe. Voulez-vous vraiment écrire votre propre convertisseur de classe WSDL -> JS ?
19 votes
J'ai une question : si je voyais cette question en tant que première personne, je m'attendrais à ce qu'elle soit descendue avec des commentaires du genre "montre un peu de code, ce n'est pas 'louer un codeur'". Rien de personnel, Thomas :) Mais je ne comprends pas comment la communauté décide de ce qui est bon et mauvais.
4 votes
Bonjour pas de soucis. Je suppose que le point de la question est qu'il y a plusieurs façons d'écrire un client SOAP en utilisant JavaScript. Beaucoup d'entre elles sont laides, donc j'espérais avoir quelques idées pour le garder propre.
0 votes
@dan c'est parce que 1. cette question est plutôt ancienne, il y avait encore beaucoup de questions fondamentales posées qui ont traditionnellement beaucoup de votes positifs, 2. elle décrit un problème assez simple, elle a donc probablement tendance à attirer de nouveaux utilisateurs qui pourraient voter selon le principe de "hey je veux savoir ça aussi !" au lieu de "hey, cette question montre un effort de recherche. elle est utile et claire !". Comme la question manque de cela à mon avis, je l'ai votée négativement. Rien de personnel non plus :D
0 votes
@ThomasBratt Je vais probablement continuer ceci sur meta, mais ce type de questions mérite une chance. C'est la question idéale pour une bibliothèque de référence ou une base de connaissances descente. Mais peut-être que la réponse acceptée mérite aussi une incitation pour le travail supplémentaire ? Il n'y a toujours rien de plus accepté que SO, alors où d'autre ? Même SO a essayé et joué avec l'idée de construire un site de documentation - et a échoué. Rien pour remplacer SO ...