Comment écrire un client Java pour accéder fichier WSDL?
Comment puis-je accéder aux méthodes exposées dans un .wsdl
fichier à l'aide de Java? Aussi, quelles sont les étapes impliquées dans la rédaction d'un client Java et en consommant les webservices?
Vous devez vous connecter pour publier un commentaire.
En plus de L'Élite Gentleman répondre, voici mes étapes que j'ai utilisé avec succès pour générer des classes pour être en mesure d'utiliser le webservice:
Commande:
Explication:
J'ai eu le problème que les classes Java contenait le
JAXBElement<Type>
classes wrapper.Ainsi, au lieu d'un membre de classe de type
String
, je voudrais obtenir le type deJAXBElement<String>
, ce qui est horrible à utiliser. Avec le-b
commutateur pourwsimport
et suivantsbinding.xml
fichier, vous obtenez la bonne types:J'espère que cette aide.
wsimport
puis génère toutes les classes dont vous avez besoin ainsi qu'une classe contenant des méthodes pour tous vos webservices' méthodes.Par défaut, ces méthodes n'ont pas un délai d'attente (en parlant des problèmes de réseau, tout en demandant...), voir ici pour une question que j'avais à l'époque.
Je voudrais prendre un coup d'oeil à l'obtention de votre IDE pour générer automatiquement tout.
Dans Netbeans, les étapes sont les suivantes:
Clic droit sur votre projet, cliquez sur "ajouter un Client de Service Web", saisissez le WSDL url et cliquez sur Terminer.
Ce sera de l'auto-magiquement créer le proxy Java pour vous.
Pour mettre en œuvre le client dans votre code, faites glisser et drog la méthode requise (situé dans le Web des Services de Références dans votre projet), dans votre code.
Vous aurez besoin de besoin de générer un proxy Java à partir du Fichier WSDL. Vous pouvez le faire en utilisant Apche CXF ou Apache Axis/Axis2 pour générer Proxy Java/Java Client.
Dans la version 6 de Java, vous pouvez également générer client java aussi. Sur le JDK/bin il y a wsimport pour générer client de Service Web ou dans l'Axe, il y a WSDL2Java qui fait la même chose comme wsimport.
wsimport
et il n'y a de solution pour elle.Utilisation
wsimport -keep
qui vous donnera toutes les classes. Puis écrire une autre classe de service et de copier tous la méthode de la classe de service. Passer votre propre service de classe pourwsgen -keep -p
.Il vous donnera le nécessaire classes wrapper(jax-ws) qui vous allez revenir auprès de votre délégué d'invocation de méthodes.Je recommande de commencer avec le Service Web Explorer dans Eclipse Java EE. Cela vous permet d'étudier n'importe quel service web donné le WSDL.
Les instructions pour convertir le WSDL pour Java dépend du service web de la bibliothèque que vous souhaitez utiliser. Si vous utilisez Java 6 du Métro de la pile est intégrée.
soapUI est un des logiciels vous permettant d'accéder facilement en WSDL /SOAP monde. Vous pouvez générer des requêtes SOAP avec des valeurs de test pour être envoyé au serveur. Vous pouvez également voir le serveur du SAVON réponses. Cela vous permettra de comprendre un peu plus de WSDL /SOAP. Pour la génération du code java à partir du wsdl voir les recommandations ci-dessus.
C'est maintenant simple lors de l'utilisation de votre IDE. Permet de prendre netbeans comme notre échantillon.
le service client.
Netbeans va demander un WSDL et de l'emplacement du client
[wsdl et de l'emplacement du client][1]
choisir WSDL et entrez l'URL du WSDL emplacement
cliquez sur terminer et toutes les méthodes seront créés pour vous
Votre tâche à partir d'ici est d'appeler les méthodes et passer les paramètres