2010-12-13 79 views
2

Je développe un service Web dans java et Metro qui nécessite beaucoup d'informations à transmettre. Par exemple, quelque chose comme xml décrivant tous les attributs d'un client.Passage d'un document XML (en tant que paramètre?) À un service Web

Je me demande s'il existe un moyen standard de transmettre les données dans un document. Actuellement, j'ai transmis les données sous la forme d'un paramètre de chaîne appelé "customerXML".

Toute suggestion appréciée. Pour info J'ai défini un autre ws reposant utilisant RestEasy qui fonctionne très bien en utilisant des flux d'entrée/sortie, mais je cherche un moyen de tirer parti des services web à base de savon pour exposer des fonctionnalités similaires.

+0

Je ne suis pas sûr si cela est approprié ici, mais essayez SOAP. Je vais laisser quelqu'un d'autre répondre qui est plus sûr, cependant. – Mike

+0

Oui, j'ai utilisé un service Web basé sur SOAP et JAX-WS pour créer un service Web en utilisant les annotations @WebService et @WebMethod. Je déploie le fichier war et le WSDL est généré et tout fonctionne. Ma méthode est @WebMethod String getResponse (Chaîne custId, Chaîne p2, Chaîne p3, int 5 ...). Maintenant, comment pourrais-je modifier la méthode pour prendre un xmlDoc comme un paramètre. Oui, je pourrais le passer comme une chaîne, mais je cherche une solution plus standard. En utilisant REST, ce n'est pas un problème. – David

Répondre

2

JAX WS est parfait pour cette exigence, il fonctionne sur SOAP

0

Mon hypothèse est qu'il n'y a pas un moyen standard de transmettre des documents XML à un service Web à base de savon sans coder l'intégralité du message SOAP vous. Par conséquent, je ne pense pas qu'il existe un moyen facile de le faire et une raison pour laquelle les services Web RESTful sont de plus en plus acceptés. La meilleure façon de le faire en utilisant les services Web basés sur SOAP est de passer le document en tant que paramètre de chaîne et de valider/analyser au sein de votre code serveur.