Controlling do valor do atributo wsdlLocation JAX-WS (caminho absoluto) com jaxws-maven-plugin
Tenho um serviço da Web orientado por JAX-WS cujo WSDL geramos um cliente de serviço da web em outro módulo Maven (que chamarei dews-consumer
).
Para melhor ou para pior, copiamos os "WSDLs publicados" (a versão dos WSDL e XSDs que o serviço manteve / gerou no ponto de lançamento) em nossosrc/wsdl
pasta dews-consumer
e depois usejaxws-maven-plugin
from org.jvnet para gerar um cliente usandojaxws:wsimport
com a seguinte configuração (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>
Agora, o código do cliente gerado possui as seguintes anotações aplicadas no nível da classe:
@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 você pode ver, owsdlLocation
valor do atributo @ possui um caminho absoluto codificado que ficará incorreto quando o serviço for implantad
Existe alguma maneira de "controlar" isso configurando-o comoMETA-INF/wsdl/MyWS/MyWS.wsdl
ou algum outro valor?