Управление значениями атрибутов wsdlLocation JAX-WS (абсолютный путь) с помощью jaxws-maven-plugin
У меня есть JAX-WS-управляемый веб-сервис, WSDL которого мы создаем клиентом веб-сервиса в другом модуле Maven (который я назовуws-consumer
).
Что бы там ни было, мы копируем «опубликованные WSDL» (версия WSDL и XSD, которые служба держала / генерировала в момент выпуска) в нашуsrc/wsdl
папка изws-consumer
а затем использоватьjaxws-maven-plugin
из org.jvnet для генерации клиента с помощьюjaxws:wsimport
со следующей (усеченной) конфигурацией:
<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>
Теперь сгенерированный код клиента имеет следующие аннотации, примененные на уровне класса:
@WebServiceClient(name = "MyWS", targetNamespace = "http://myws/blah", wsdlLocation = "**file:/C:/some/absolute/path/src/main/resources/META-INF/wsdl/MyWS/MyWS.wsdl"**)
акцент мой
Как вы можете надеяться,wsdlLocation
Значение атрибута имеет жестко заданный абсолютный путь, который будет неправильным при развертывании службы.
Есть ли способ, которым я могу «контролировать» это, установив его простоMETA-INF/wsdl/MyWS/MyWS.wsdl
или какое-то другое значение?