...
Podemos añadir, también en el pom.xml, el siguiente plugin para generar las clases necesarias para el cliente automáticamente, a partir de un archivo .wsdl, que lo situaremos en la ruta /src/main/resources/xsd. La ruta de nuestro .wsdl la tendremos que poner en el bloque <schemaDirectory>, y el nombre del archivo en <include>. Si queremos generar las clases a partir de diferentes varios .wsdl, debemos ponerlos en diferentes bloque s<execution>poner tener un bloque <execution> por cada archivo. Además, podemos definir el paquete de nuestro proyecto en el que se generarán las clases, especificándolo en el campo <generatePackage>:
| Bloque de código | ||
|---|---|---|
| ||
<!-- SOAP -->
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.14.0</version>
<executions>
<execution>
<id>Fopum</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<args>
<arg>-XautoNameResolution</arg>
</args>
<schemaLanguage>WSDL</schemaLanguage>
<generateDirectory>${project.basedir}/src/main/java</generateDirectory>
<generatePackage>es.um.atica.bajamatricula.soap.fopum</generatePackage>
<schemaDirectory>${project.basedir}/src/main/resources/xsd</schemaDirectory>
<schemaIncludes>
<!-- <include>ServicioFopumDesa.wsdl</include> -->
<include>ServicioFopumTest.wsdl</include>
<!-- <include>ServicioFopumProd.wsdl</include> -->
<!-- <include>ServicioArchivoUMU.wsdl</include> -->
</schemaIncludes>
</configuration>
</execution>
<execution>
<id>ArchivoUMU</id>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<args>
<arg>-XautoNameResolution</arg>
</args>
<schemaLanguage>WSDL</schemaLanguage>
<generateDirectory>${project.basedir}/src/main/java</generateDirectory>
<generatePackage>es.um.atica.bajamatricula.soap.archivo</generatePackage>
<schemaDirectory>${project.basedir}/src/main/resources/xsd</schemaDirectory>
<schemaIncludes>
<include>ServicioArchivoUMU (1).xml</include>
</schemaIncludes>
</configuration>
</execution>
</executions>
</plugin> |
Generar clases
Lo normal es que al añadir el plugin al pom.xml y guardarlo, se ejecute automáticamente el plugin y se generen las clases, pero si no es así, podemos hacer un Maven Build (Click derecho en el proyecto → Run As → Maven Build) para hacer que se ejectueAquí, tendremos que especificar el campo generatePackage, con el paquete en el que se crearán las clases, schemaDirectory con el directorio donde el plugin buscará los archivos wsdl, que se especificarán dentro de schemaIncludes.
Cliente
Una vez generadas las clases necesarias por el plugin, tendremos que hacer el cliente:
...