Управление значением атрибута JAX-WS wsdlLocation's (абсолютный путь)с помощью плагина jaxws-maven-

У меня есть веб-служба, управляемая 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или другое значение?

19
задан Alex 21 March 2012 в 10:16
поделиться