2010-11-18 26 views
0

J'ai ce dilemme.Type de retour personnalisé du service Web Java

Je développe un service web. Il doit renvoyer une liste de langues prises en charge. Les langues sont stockées dans une énumération.

Vaut-il mieux retourner (à partir de la méthode web) un tableau enum ou le convertir en chaîne et retourner un tableau de chaînes. Peut-être que je préférerais un tableau de chaînes afin que le client n'ait pas à manipuler les types d'objets personnalisés et qu'aucune sérialisation/désérialisation ne soit nécessaire. Mais d'un autre côté, si j'ai besoin de cette énumération sur le client, je devrai le réimplémenter et convertir le tableau de chaînes en tableau enum.

Que suggérez-vous?

Répondre

1

Généralement, la règle du pouce doit être garder aussi simple que possible. Parce que j'ai vu des choses vraiment drôles arriver avec les WSDL tout en générant leurs clients.

+0

Pouvez-vous élaborer? J'utilise jax-ws 2.1 et n'ai jamais eu de problèmes lors de la génération d'un client. – chzbrgla

+0

J'ai vu la génération automatique dans axis2 créer des classes invalides lorsque simpleTypes sont utilisés dans un wsdl. Jax-WS est généralement plus propre et meilleur que l'axe 2 – Pushkar

1

Comme d'habitude: cela dépend :)

Vous avez déjà répondu à votre question, je dirais .. Le client besoin l'objet personnalisé afin de faire des opérations avec elle? Implémentez-le avec un objet personnalisé.

La représentation de chaîne est-elle suffisante? Optez pour que ..

Je ne connais pas de lignes directrices sur ce sujet ..

1

Je suis d'accord. Je crois que les services devraient être encapsulés et indépendants autant que possible. Quoi qu'il en soit, je ne suis pas un grand fan de tout type d'auto-génération. Aussi je préfère REST et HTTP pur sur WS et SOAP. Bien que je vais laisser les deux options disponibles.

Donc je pense que je vais juste rester avec le retour de tableau de chaînes simple. Au moins si personne ne me donne un argument fort pour ne pas :) :)