アプリケーションには特別な要件があります。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 用のクラスが生成されてそれぞれのパッケージに配置されるようにするにはどうすればよいですか?