Использование разных имен пакетов для привязок и wsdl с помощью плагина jaxws maven
У нас есть специальное требование к нашему приложению: файлы, созданные для wsdl, должны иметь заданное имя пакета, а файлы, созданные для файлов xsd, должны иметь другое имя пакета.
Кажется, нет способа настроить это с помощью плагина jaxws maven. Вот наша текущая конфигурация:
<execution>
<id>wsimport-finderpro</id>
<phase>generate-sources</phase>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<bindingDirectory>src/main/resources/xml-resources/web-service-references/B2T_DataModel.asmx/xsd</bindingDirectory>
<bindingFiles>
<bindingFile>ServerResponse_login.xsd</bindingFile>
<bindingFile>OpenDirectAccessSession.xsd</bindingFile>
</bindingFiles>
<!--wsdls file directory -->
<wsdlDirectory>src/main/resources/xml-resources/web-service-references/B2T_DataModel.asmx/wsdl</wsdlDirectory>
<!-- which wsdl file -->
<wsdlFiles>
<wsdlFile>B2T_DataModel.asmx.wsdl</wsdlFile>
</wsdlFiles>
<!-- Keep generated files -->
<keep>true</keep>
<!-- Package name -->
<packageName>com.mycompany.world.worldlink.finderpro.ws</packageName>
<!-- generated source files destination-->
<sourceDestDir>target/generated-code/src</sourceDestDir>
<staleFile>target/jaxws/fp/.staleFlag</staleFile>
<target>2.1</target>
</configuration>
</execution>
Может кто-нибудь, пожалуйста, посоветуйте?
изменить 1: я придумал следующий код:
<execution>
<id>wsimport-finderpro-01</id>
<phase>generate-sources</phase>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<bindingDirectory>src/main/resources/xml-resources/web-service-references/B2T_DataModel.asmx/xsd</bindingDirectory>
<bindingFiles>
<bindingFile>OpenDirectAccessSession.xsd</bindingFile>
</bindingFiles>
<!--wsdls file directory -->
<wsdlDirectory>src/main/resources/xml-resources/web-service-references/B2T_DataModel.asmx/wsdl</wsdlDirectory>
<!-- which wsdl file -->
<wsdlFiles>
<wsdlFile>B2T_DataModel.asmx.wsdl</wsdlFile>
</wsdlFiles>
<!-- Keep generated files -->
<keep>true</keep>
<!-- Package name -->
<packageName>com.ids.world.worldlink.finderpro.xmlstubs</packageName>
<!-- generated source files destination-->
<sourceDestDir>target/generated-code/src</sourceDestDir>
<staleFile>target/jaxws/fp-01/.staleFlag</staleFile>
<target>2.1</target>
</configuration>
</execution>
<execution>
<id>wsimport-finderpro-02</id>
<phase>generate-sources</phase>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<bindingDirectory>src/main/resources/xml-resources/web-service-references/B2T_DataModel.asmx/xsd</bindingDirectory>
<bindingFiles>
<bindingFile>GetAllMyEntityQuotes.xsd</bindingFile>
</bindingFiles>
<!--wsdls file directory -->
<wsdlDirectory>src/main/resources/xml-resources/web-service-references/B2T_DataModel.asmx/wsdl</wsdlDirectory>
<!-- which wsdl file -->
<wsdlFiles>
<wsdlFile>B2T_DataModel.asmx.wsdl</wsdlFile>
</wsdlFiles>
<!-- Keep generated files -->
<keep>true</keep>
<!-- Package name -->
<packageName>com.ids.world.worldlink.finderpro.xmlstubs.allMyEntityQuotes</packageName>
<!-- generated source files destination-->
<sourceDestDir>target/generated-code/src</sourceDestDir>
<staleFile>target/jaxws/fp-02/.staleFlag</staleFile>
<target>2.1</target>
</configuration>
</execution>
Проблема в том, что я заметил, что многие классы обновляются несколько раз (здесь x2), и я получаю одни и те же классы в разных пакетах.
Как я могу гарантировать, что классы, сгенерированные для wsdl, генерируются один раз, а классы для xsd генерируются и помещаются в их соответствующий пакет?