Je suis un peu rouillé dans mon Java, et c'est la première fois que j'utilise metro/JAX-WS, donc si c'est une question bête je m'excuse.Consommation du service Web .NET en Java (métro) - Consommation XMLNode/XMLDocument?
Je dois écrire un client qui consomme un service Web .NET. J'ai les bases bas; J'ai généré les wrappers à partir du WSDL, et je peux créer mon objet et mon port et passer un appel et obtenir une réponse.
Widgets d = new Widgets();
WidgetsSoap dp = d.getWidgetsSoap();
((BindingProvider)dp).getRequestContext(). put(javax.xml.ws.BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "http://actualsite/foo.asmx");
UserGetWidgetsResponse.UserGetWidgetsResult j = dp.userGetWidgets();
Les valeurs de retour de webservice sont presque toutes XmlDocument ou XmlNode. Comment puis-je obtenir à partir du "UserGetWidgetsResponse.UserGetWidgetsResult" généré par wsimport au XML réel renvoyé par l'appel?
J'ai un certain nombre de ces services avec un tas de méthodes, donc j'espère trouver une solution qui ne nécessite aucune modification des enveloppes générées. Je n'ai également aucun contrôle sur les informations renvoyées par les services Web.
Etes-vous sûr d'avoir XmlNode et XmlDocument côté Java? Ceux-ci semblent être des termes en C#. Cette remarque peut sembler stupide, mais il y a beaucoup de parseurs XML qui ont quitté et tous se comportent différemment :) – extraneon
Eh bien, XmlNode/XmlDocument ont des équivalents directs aux objets Document et Node de Java. Renvoyer XmlNode/XmlDocuments à partir de WS est une méthode suggérée par MS pour renvoyer des données complexes. Cela semble correspondre correctement dans le WSDL en tant que "toutes" les données, je ne suis pas sûr de savoir comment je le prends du côté Java. – Joe
Il me semble que vous devez obtenir la charge utile de LocalMessage de quelque part. Si vous pouvez obtenir le LogicalMessageContext, vous êtes en affaires. Peut-être que le dp.getRequestContext() renvoie un. Je ne peux pas vous aider davantage, voire pas du tout, car normalement je ne génère pas de liaisons mais je gère directement le XML. – extraneon