Pour commencer, dans le fichier pom.xml, il faut y mettre les repositories Sun pour les dépendances JAX-WS et le plugin utilisé pour la génération de code :
maven-repository.dev.java.net Java.net Repository for Maven 1 http://download.java.net/maven/1/ legacy maven2-repository.dev.java.net Java.net Repository for Maven 2 http://download.java.net/maven/2/ maven2-repository.dev.java.net http://download.java.net/maven/2/
Ensuite, on ajoute le plugin jaxws-maven-plugin :
org.codehaus.mojo jaxws-maven-plugin
wsimport
client.jaxws.addnumbers
${basedir}/src/main/java
Par défaut, le goal wsimport génère le code pour les fichiers WSDL situé dans le répertoire src/wsdl. Nous allons donc mettre notre fichier wsdl dans ce répertoire(par exemple le addnumbers.wsdl des samples JAX-WS RI).
La balise sourceDestDir permet de définir la destination du code généré. Par défaut, il est dans target/jaxws/wsimport/java.
Une seule dépendance suffit pour le client :
com.sun.xml.ws
jaxws-rt
2.1.4
jar
compile
Une simple commande mvn compile permet de générer le code et de le compiler.
La génération de code ne se fait qu'une fois tant que le répertoire target/stale existe.
Il n'y a plus qu'à créer une classe de test pour faire l'appel WebService :
package client.jaxws;
import client.jaxws.addnumbers.AddNumbersFault_Exception;
import client.jaxws.addnumbers.AddNumbersPortType;
import client.jaxws.addnumbers.AddNumbersService;
public class AddNumbers {
public static void main(String[] args) {
AddNumbersPortType client =
new AddNumbersService().getAddNumbersPort();
try {
int result = client.addNumbers(2, 2);
System.out.println("Résultat : " + result);
} catch (AddNumbersFault_Exception e) {
System.out.println(e.getFaultInfo().getMessage());
}
}
}
Pour plus de facilité, voici le fichier pom.xml complet :
4.0.0 client.jaxws addnumbers 1.0.0
maven-repository.dev.java.net
Java.net Repository for Maven 1
http://download.java.net/maven/1/
legacy
maven2-repository.dev.java.net
Java.net Repository for Maven 2
http://download.java.net/maven/2/
maven2-repository.dev.java.net
http://download.java.net/maven/2/
org.codehaus.mojo
jaxws-maven-plugin
wsimport
client.jaxws.addnumbers
${basedir}/src/main/java
org.apache.maven.plugins
maven-compiler-plugin
2.0.2
1.5
com.sun.xml.ws
jaxws-rt
2.1.4
jar
compile
2 commentaires:
Merci pour ces infos.
Ceci : ATTENTION, tous les tags copiés ici son en minuscules, et donc beaucoup sont erronés (groupId, artifactId, packageName, sourceDestDir notammnent)
Etienne
Merci pour la relecture.
Il y a eu un problème de copier/coller .J'ai corrigé les balises devant être en majuscules.
Laurent
Enregistrer un commentaire