Controlling del valor del atributo wsdlLocation JAX-WS (ruta absoluta) con jaxws-maven-plugin
Tengo un servicio web impulsado por JAX-WS cuyo WSDL generamos un cliente de servicio web en otro módulo Maven (que llamaréws-consumer
).
Para bien o para mal, copiamos los "WSDL publicados" (la versión de WSDL y XSD que el servicio tenía / generó en el punto de lanzamiento) a nuestrosrc/wsdl
carpeta dews-consumer
y luego usejaxws-maven-plugin
desde org.jvnet para generar un cliente usandojaxws:wsimport
con la siguiente configuración (truncada):
<plugin>
<groupId>org.jvnet.jax-ws-commons</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<!--phase>generate-sources</phase -->
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<wsdlDirectory>src/main/resources/META-INF/wsdl/</wsdlDirectory>
<wsdlFiles>
<wsdlFile>MyWS/MyWS.wsdl</wsdlFile>
</wsdlFiles>
</configuration>
</execution>
</executions>
</plugin>
Ahora, el código del cliente generado tiene las siguientes anotaciones aplicadas a nivel de clase:
@WebServiceClient(name = "MyWS", targetNamespace = "http://myws/blah", wsdlLocation = "**file:/C:/some/absolute/path/src/main/resources/META-INF/wsdl/MyWS/MyWS.wsdl"**)
emphasis mine
omo se puede ver, lawsdlLocation
el valor del atributo tiene una ruta absoluta codificada que será incorrecta cuando se implemente el servicio.
¿Hay alguna forma de "controlar" esto estableciéndolo en soloMETA-INF/wsdl/MyWS/MyWS.wsdl
o algún otro valor?