web-dev-qa-db-fra.com

Java Client Webservice (Meilleur moyen)

J'ai un WSDL tiers, je dois écrire du code dans Java pour qu'un client de service Web appelle les opérations dans le WSDL tiers. À l'heure actuelle, j'ai généré le stub client à l'aide de WSDL2Java outil de Axis et utilisé les XMLbeans pour la liaison de données.

  1. Quelle est la meilleure approche pour faire cette JAVA?
  2. J'ai lu sur SAAJ, on dirait que ce sera un niveau d'approche plus granulaire?
  3. Existe-t-il un autre moyen que d'utiliser l'outil WSDL2Java pour générer le code? Peut-être que wsimport dans une autre option. Quels sont les avantages et inconvénients?
  4. Quelqu'un peut-il envoyer les liens de quelques bons tutoriels sur ces sujets?
  5. Quelles sont les options nécessaires pour générer le code à l'aide de WSDL2Java?

J'ai utilisé certaines des choses de base au départ. Maintenant j'ai ces options

C:\axis2-1.5.1\bin>wsdl2Java -uri  mywsdlurl  -o client -p somepackage -d xmlbeans -s -t -ssi
81
Java Guy

Quelle est la meilleure approche pour faire cette JAVA?

Personnellement, j'utiliserais Axis 2 [~ # ~] et non [~ # ~] , même pour le développement côté client uniquement. Voici pourquoi je m'en éloigne:

  1. Je n'aime pas son architecture et déteste son modèle de déploiement contre-productif.
  2. Je trouve qu'il s'agit d'un projet de faible qualité.
  3. Je n’aime pas ses performances (voir ce benchmark contre JAX-WS RI ).
  4. C'est toujours un cauchemar de mettre en place des dépendances (j'utilise Maven et je ai toujours à me battre avec des milliards de dépendances) (voir n ° 2)
  5. Axis a été vraiment nul et Axis2 n'est pas meilleur. Non, ce n'est pas une opinion personnelle, il y a un consensus.
  6. J'ai souffert une fois, plus jamais.

La seule raison pour laquelle Axis est toujours là est IMO car il est utilisé depuis bien longtemps dans Eclipse. Merci mon Dieu, cela a été corrigé dans Eclipse Helios et j'espère qu'Axis2 mourra enfin. Il y a juste beaucoup de meilleures piles.

J'ai lu sur SAAJ, on dirait que ce sera un niveau d'approche plus granulaire?

Pour faire quoi?

Existe-t-il un autre moyen que d'utiliser l'outil WSDL2Java pour générer le code? Peut-être que nous importons dans une autre option. Quels sont les avantages et inconvénients?

Oui! Préférez une pile JAX-WS comme CXF ou JAX-WS RI (vous pouvez également lire des informations sur Metro, Metro = JAX-WS RI + WSIT ), ils sont simplement plus élégants, plus simples, plus faciles à utiliser. Dans votre cas, je voudrais simplement utiliser RI JAX-WS qui est inclus dans Java 6 et donc wsimport.

Quelqu'un peut-il envoyer les liens de quelques bons tutoriels sur ces sujets?

C'est un autre pro, il y a beaucoup de tutoriels (de bonne qualité) pour JAX-WS, voir par exemple:

Quelles sont les options nécessaires pour générer le code à l'aide de WSDL2Java?

Aucune option, utilisez wsimport :)

Voir également

Questions connexes

160
Pascal Thivent

J'ai eu un bon succès en utilisant Spring WS pour le client d'une application de service Web - voir http://static.springsource.org/spring-ws/sites/1.5/reference/html/client.html =

Mon projet utilise une combinaison de:

  • XMLBeans (généré à partir d'un simple travail Maven à l'aide de xmlbeans-maven-plugin)

  • Spring WS - l'utilisation de marshalSendAndReceive () réduit le code à une ligne pour l'envoi et la réception

  • some Dozer - mappe les XMLBeans complexes en beans simples pour l'interface graphique du client

8
Steve

Vous pouvez trouver des ressources sur le développement de clients de services Web à l'aide d'Apache axis2 ici.

http://today.Java.net/pub/a/today/2006/12/13/invoking-web-services-using-Apache-axis2.html

Les messages ci-dessous donnent de bonnes explications sur le développement de services Web à l'aide d'Apache axis2.

http://www.ibm.com/developerworks/opensource/library/ws-webaxis1/

http://wso2.org/library/136

1
aravindaM

Quelques idées dans la réponse suivante:

Etapes de la création d'un service Web à l'aide d'Axis2 - Le code client

Donne un exemple de client Groovy appelant les classes ADB générées à partir du WSDL.

Il y a beaucoup de cadres de services Web sur le marché ...

0
Mark O'Connor