2

私はMavenとCXFを初めて使用し、wsdl2javaでコードを生成するようにpom.xmlをセットアップしようとしています。コマンドに追加する必要のある引数がいくつかありますが、そのwsdl2java方法がわかりません。

これは、コマンドが端末をどのように見るかです。

wsdl2java -fe jaxws21 -d gen -validate -p com.example -faultSerialVersionUID FQCN -asyncMethods -bareMethods -exceptionSuper com.example.ExampleException wsdl/objects.wsdl

私の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>
                <sourceRoot>${project.build.directory}/generated-sources/cxf</sourceRoot>
                <wsdlOptions>
                    <wsdlOption>
                        <wsdl>${project.basedir}/src/main/resources/wsdl/objects.wsdl</wsdl>
                        <wsdlLocation>classpath:wsdl/objects.wsdl</wsdlLocation>
                    </wsdlOption>
                </wsdlOptions>
                <defaultOptions>
                    <markGenerated>true</markGenerated>
                    <asyncMethods />
                    <bareMethods />
                </defaultOptions>
            </configuration>
            <goals>
                <goal>wsdl2java</goal>
            </goals>
        </execution>
    </executions>
</plugin>

コードがokを生成するので、asyncMethods引数とbareMethods引数を正しく取得したと確信しています。しかし、私はいくつかのことに興味があります。

私はどのようにすべきか疑問に思っています:

  • -feと一緒に引数を追加しますjaxws21

  • -p引数にcom.example値を追加します

  • に値を追加し-faultSerialVersionUIDますFQCN

  • に値を追加し-exceptionSuperますcom.example.ExampleException

私はCXFのドキュメント、SO、Google、その他多くの場所を読んでみました。「cxfpomfiletype:xml」をグーグルで検索して、さまざまなxmlファイルを読みました。残念ながら、私はこの最後のビットを理解することができませんでした。

4

1 に答える 1

4

これは、質問に基づいた構成の外観です。

... ...    

<defaultOptions>
    <markGenerated>true</markGenerated>
    <asyncMethods />
    <bareMethods />
    <!-- add the -fe argument together with the jaxws21 value -->
    <frontEnd>jaxws21</frontEnd>
    <!-- add the -p argument with the com.example value -->
    <packagenames>
        <packagename>com.example</packagename>
    </packagenames>
    <!-- add the -faultSerialVersionUID with the FQCN value -->
    <faultSerialVersionUID>FQCN</faultSerialVersionUID>
    <!-- add the -exceptionSuper with the com.example.ExampleException value -->
    <exceptionSuper>com.example.ExampleException</exceptionSuper>
</defaultOptions>

... ...

cxf-codegen-plugin.jarのコンプライアンスを解除し、ソースを直接調べて、これらのコマンドライン引数、より具体的には次のクラスをどのように解析するかを確認できます。

org.apache.cxf.maven_plugin.wsdl2java.WsdlOption

お役に立てれば。

于 2013-02-19T01:49:29.160 に答える