8

複数の wsdl ファイルから Java クラスを生成する必要がある Maven プロジェクトがあります。axistools-maven-plugin私はmavenプラグインを使用して分析しcxf-codegen-pluginましたが、私が直面している問題は、異なるwsdlのJavaファイルが異なるパッケージに移動する必要があることです。

私はこのリンクをチェックしました: http://decimalsolutions.blogspot.in/2011/10/wsdl2java-maven2.htmlしかし、それは私の問題を解決しません。

これを達成する方法は?

4

3 に答える 3

20

ドキュメント<extraarg>には、要素を使用してパラメータをwdsl to Java プロセスに渡すことができると記載されています。cxf-codegen-pluginしたがって、次の方法で構成できます

<configuration>
    <sourceRoot>${project.build.directory}/generated-code/mywebservice</sourceRoot>
    <wsdlOptions>
        <wsdlOption>
            <wsdl>${basedir}/src/main/resources/wsdl/serviceOne.wsdl</wsdl>
            <extraargs>
                <extraarg>-p</extraarg>
                <extraarg>first.packagename</extraarg>
            </extraargs>
        </wsdlOption>
        <wsdlOption>
            <wsdl>${basedir}/src/main/resources/wsdl/serviceTwo.wsdl</wsdl>
                <extraargs>
                <extraarg>-p</extraarg>
                <extraarg>another.packagename</extraarg>
            </extraargs>
        </wsdlOption>
    </wsdlOptions>
</configuration>
于 2013-09-03T15:00:40.907 に答える
2

jaxb バインディング ファイルを使用すると、パッケージを変更できます (このドキュメントを参照してください)。

Maven と cxf プラグインを使用している場合は、これを pom.xml に追加できます。

      <plugin>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-codegen-plugin</artifactId>
            <version>${cxf.version}</version>
            <executions>
                <execution>
                    <id>generate-sources</id>
                    <phase>generate-sources</phase>
                    <configuration>
                        <wsdlOptions>
                            <wsdlOption>
                                <wsdl><path_to_wsdl</wsdl>
                                <frontEnd>jaxws21</frontEnd>
                                <faultSerialVersionUID>1</faultSerialVersionUID>
                                <bindingFiles>
                                    <bindingFile>src/main/resources/binding.xml</bindingFile>
                                </bindingFiles>
                            </wsdlOption>
                        </wsdlOptions>
                    </configuration>
                    <goals>
                        <goal>wsdl2java</goal>
                    </goals>
                </execution>
            </executions>
            <dependencies>
                <dependency>
                    <groupId>org.jvnet.jaxb2_commons</groupId>
                    <artifactId>jaxb2-fluent-api</artifactId>
                    <version>3.0</version>
                </dependency>
                <dependency>
                    <groupId>org.jvnet.jaxb2_commons</groupId>
                    <artifactId>jaxb2-basics</artifactId>
                    <version>0.6.4</version>
                </dependency>
            </dependencies>
        </plugin>
于 2013-09-03T15:04:04.327 に答える