Quelle est la différence entre les deux ?wsdl et ?singleWsdl paramètres
Mon fournisseur de messages me donne deux différents types de fichiers wsdl à utiliser.
http://my.amazonaws.com:8000/webservice/?wsdl
http://my.amazonaws.com:8000/webservice/?singleWsdl
Le premier est un intégré WSDL. Ne pouvez PAS l'utiliser pour générer WSDL2java
paquets et
ne pouvez PAS utiliser JAX-WS pour créer une connexion.
Le second est un unique WSDL. Il peut générer les packages Java avec CXF 3.0 WSDL2java et peut utiliser JAX-WS pour créer une connexion. Il fonctionne très bien.
S'il vous plaît laissez-moi savoir quelle est la différence entre ces deux types de fichiers wsdl.
Vous devez vous connecter pour publier un commentaire.
Sans savoir ce que ces liens de retour, nous ne pouvons que deviner, mais voici quelques détails qui pourraient vous aider....
Suffixant la terminaison de service web avec
?wsdl
vous un fichier WSDL. Le WSDL peut être généré par le cadre au moment de l'exécution basé sur le web service de squelette de code ou peut-être un physique de fichier que le serveur envoie juste en arrière lorsque le paramètre URL est spécifiée.Le WSDL contient un Schéma XML qui peut être spécifié à l'intérieur de l'WSDL lui-même ou en tant que fichiers distincts qui sont importés par le WSDL. Et maintenant, un problème survient...
Certains de service web stub générateurs ne peut gérer qu'un plein WSDL, avec le Schéma à l'intérieur. Si le WSDL d'importer d'autres fichiers, les outils ne peuvent pas résoudre les importations et échoue. Cela fait des services web dur à consommer parce que les clients avaient des problèmes de la création d'un bouchon à interagir avec le service web. Tant et si bien que les fournisseurs de service soit utilisé un réel WSDL pour répondre à la
?wsdl
demande ou a commencé à écrire toutes sortes de hacks et de plugins pour faire le service web générer l'intégralité du WSDL.Mais certains fournisseurs n'ont même pas pris la peine de sorte que les clients devaient écrire le hacks pour analyser le WSDL ou ils avaient pour télécharger tous les fichiers, de les assembler manuellement dans un seul fichier et l'utiliser à la place.
Avec le temps les gens ont vu cela comme un problème et cadres adaptés pour fournir le WSDL, pas un seul avec les importations. Mais cela a généré un autre problème. Changer ce que les
?wsdl
URL retournés pourraient briser tous ces hacks créé autour d'elle pour résoudre le problème d'importation. Pour cette raison, une autre convention a été choisi pour retourner la totalité WSDL:?singleWsdl
.Il y a donc des cadres de générer un fichier WSDL, certains qu'il génère avec les importations, certains vous permettent de spécifier un véritable fichier physique, certains qui prennent en charge les
?singleWsdl
convention, certains n'ont pas. Pas pertinents pour cette question, mais juste pour la fin, il est aussi un?wsdl2
convention que vous WSDL 2.0 définition (?wsdl
vous obtenir un WSDL 1.1). Certains cadres de soutien?wsdl2
, certains ne le font pas.Ma conjecture est que les problèmes sont causés par le Schéma des importations, mais sans le langage wsdl eux-mêmes, je ne peux pas dire. Espérons au moins que ces détails vous aider à mieux cerner le problème.
?singleWsdl
option la plus sûre est d'utiliser (en supposant que le service prend en charge)