Java Webservice Client (Meilleure façon)


J'ai un WSDL tiers, j'ai besoin d'écrire du code en 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 talon client à l'aide de l'outil WSDL2JAVA d'Axis et utilisé les XMLbeans pour la liaison de données.

  1. Quelle est la meilleure approche pour faire ce JAVA?
  2. J'ai lu à propos de 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 wsimport dans une autre option. Quels sont les avantages et les inconvénients?
  4. Quelqu'un peut-il envoyer les liens pour de bons tutoriels sur ces sujets?
  5. Quelles sont les options que nous devons utiliser lors de la génération du code en utilisant le 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
Author: Koray Tugay, 2010-08-28

4 answers

Quelle est la meilleure approche pour faire ce JAVA?

Personnellement, je ne PAS utiliser Axis 2, même pour le développement côté client uniquement. Voici pourquoi je m'en éloigne:

  1. Je n'aime pas son architecture et je déteste son modèle de déploiement contre-productif.
  2. Je trouve que c'est 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 configurer les dépendances (I utilisez Maven et je toujours dois se battre avec le gazillion de dépendances) (voir #2)
  5. Axis a aspiré beaucoup de temps 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, jamais plus.

La seule raison pour laquelle Axis est toujours présent est IMO car il est utilisé dans Eclipse depuis des lustres. Dieu merci, cela a été corrigé dans Eclipse Helios et j'espère qu'Axis2 va enfin mourir. Il y a juste de bien meilleures piles.

Je lire à propos de SAAJ, on dirait que ce sera plus granulaire niveau d'approche?

Pour faire quoi?

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

Oui! Préférez une pile JAX-WS comme CXFou JAX-WS RI (vous pourriez aussi lire sur Metro, Metro = JAX-WS RI + WSIT), ils sont juste plus élégants, plus simples, plus faciles à utiliser. Dans votre cas, j'utiliserais simplement JAX-WS RI qui est inclus dans Java 6 et donc wsimport.

Quelqu'un peut-il envoyer les liens pour de 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 que nous devons utiliser lors de la génération du code en utilisant le WSDL2Java?

Aucune option, utilisez wsimport :)

Voir aussi

Questions connexes

 159
Author: Pascal Thivent, 2017-05-23 11:46:40

J'ai eu un bon succès en utilisant Spring WS pour la fin 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 du xmlbeans-maven-plugin)

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

  • Certains Dozer - mapping le XMLBeans complexes en beans simples pour l'interface graphique client

 8
Author: Steve, 2010-08-27 23:16:28

Vous pouvez trouver quelques ressources liées au développement d'un client 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 articles 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
Author: aravindaM, 2012-03-25 15:41:23

Quelques idées dans la réponse suivante:

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

Donne un exemple d'un client Groovy invoquant les classes ADB générées à partir du WSDL.

Il existe de nombreux frameworks de services Web...

 0
Author: Mark O'Connor, 2017-05-23 12:32:20