web-dev-qa-db-fra.com

Comment convertir des WSDL en Java) classes utilisant Eclipse?

J'ai un fichier WSDL (ou plus précisément son URL). Je dois le convertir en classes Java. Je dois également fournir des tests pour le service Web qu'il décrit. Les nouveaux services Web me sont nouveaux. Quelqu'un pourrait-il me dire comment convertir des fichiers WSDL en Java? ?

J'utilise Eclipse JEE Kepler. Peut-être existe-t-il des plugins pour le faire automatiquement?

34
khris

Dans Eclipse Kepler, il est très facile de générer des classes de client de service Web. Vous pouvez y parvenir en procédant comme suit.

Cliquez avec le bouton droit sur n’importe quel projet-> Créer un autre -> Web Services-> Client de service Web-> puis collez l’URL (ou emplacement) WSDL dans Définition du service-> Suivant-> Terminer

Vous verrez que les classes générées sont dans votre dossier src.

REMARQUE: Sans Eclipse, vous pouvez également générer des classes client à partir d'un fichier wsdl à l'aide de l'utilitaire de commande wsimport fourni avec JDK.

reportez-vous à ce lien création d'un client de service Web à l'aide de wsdl

46
Ashok_Pradhan

Vous devez faire ensuite en ligne de commande:

wsimport -keep -s (name of folder where you want to store generated code) urlToWsdl

par exemple:

wsimport -keep -s C: // NewFolder https://www.blablabla.com

17
Shell Scott

Je ne recommanderais pas d'utiliser l'outil Eclipse pour générer le client WS, car j'avais une mauvaise expérience de ce dernier:

Je ne sais pas vraiment si c'est important, mais je devais utiliser un fichier WS écrit en .NET. Lorsque j’utilisais l’outil "Nouveau client de service Web" d’Eclipse, il générait les classes Java utilisant Axis (version 1.x) = qui, comme vous pouvez le vérifier, est ancien (dernier). version 2006). Il y a ne version plus récente bien que cela ait quelques modifications majeures mais Eclipse ne l'utilise pas.

Pourquoi l’ancienne version d’Axis compte-t-elle? Parce que lorsque vous utilisez OpenJDK, vous pouvez rencontrer des problèmes tels que algorithmes de cryptographie manquants dans OpenJDK qui sont présentés dans le JDK d’Oracle et que certaines bibliothèques comme celle-ci en dépendent.

Donc, je viens d'utiliser l'outil wsimport et j'ai mis fin à mes maux de tête.

6
nyxz

Les options sont:

Lisez les liens ci-dessus avant de prendre un appel.

5
ishandutta2007

L'équipe Eclipse de The Open University a préparé le document suivant, qui inclut la création de classes proxy avec des tests. C'est peut-être ce que vous recherchez.

http://www.Eclipse.org/webtools/community/education/web/t320/Generating_a_client_from_WSDL.pdf

Tout est inclus dans le modèle Dynamic Web Project .

Dans le projet, créez un client de service Web . Cela démarre un assistant qui vous demande de pointer une URL WSDL et crée le client avec des tests pour vous.

Le guide de l’utilisateur (destiné à Indigo) pour cette tâche se trouve à l’adresse http://help.Eclipse.org/Indigo/index.jsp?topic=%2Forg.Eclipse.jst.ws.cxf.doc. utilisateur% 2Ftasks% 2Fcreate_client.html .

3
Captain Giraffe

En utilisant l'invite de commande dans Windows, vous pouvez utiliser la commande ci-dessous pour obtenir des fichiers de classe.

wsimport "complete file path of your .wsdl file"
example : wsimport C:\Users\schemas\com\myprofile\myprofile2019.wsdl

si vous voulez générer du code source, vous devriez utiliser ci-dessous commnad.

wsimport -keep -s src "complete file path of your .wsdl file"
example : wsimport -keep -s src C:\Users\schemas\com\myprofile\myprofile2019.wsdl

Note: Ici "-s" signifie le répertoire source et "src" est le nom du dossier à créer avant l'exécution de cette commande. Wsimport est un outil qui est fourni avec Java SE, aucun téléchargement séparé n'est requis.

0
Harsh