8

ApacheCXFに付属のwsdl2javaツールを使用してWebサービスプロキシを生成しようとしています。生成自体はうまくいくようですが、生成されたファイルにいくつかのエラーがあり、存在しないコンストラクターが呼び出されます。

このファイルは解決策を提供します:

//This constructor requires JAX-WS API 2.2. You will need to endorse the 2.2
//API jar or re-run wsdl2java with "-frontend jaxws21" to generate JAX-WS 2.1
//compliant code instead.

そこで、私はJAX-WSApiの2.2バージョンをダウンロードしてインストールすることに着手しました。これらの新しいファイルを推奨する方法を説明する次のインストールマニュアルを見つけました。http://dcx.sybase.com/1200/en/dbprogramming/httpserver-jaxws-lesson-two.htmlこのガイドのすべての手順に従い、古いファイルを削除しました。生成されたファイルと新しいファイルが生成されましたが、問題は解決しません。

ヒントやコツはありますか?(もちろん、プロキシを生成するために-frontend jaxws21フラグを使用していますが、それでも)。

4

1 に答える 1

7
<defaultOptions>
    <frontEnd>jaxws21</frontEnd>
</defaultOptions>

これは、mavenを使用して問題を解決した方法です:

        <plugin>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-codegen-plugin</artifactId>
            <version>2.5.2</version>
            <executions>
                <execution>
                    <id>generate-sources2</id>
                    <configuration>
                        <sourceRoot>${basedir}/target/generated-sources/cxf</sourceRoot>
                        <defaultOptions>
                            <frontEnd>jaxws21</frontEnd>
                        </defaultOptions>
                        <wsdlOptions>
                            <wsdlOption>
                                <wsdl>...</wsdl>
                            </wsdlOption>
                        </wsdlOptions>
                    </configuration>
                    <goals>
                        <goal>wsdl2java</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

編集: maven と cxf バージョン 2.7.3 を使用してこれを解決する別の方法を見つけました。これらのライブラリを依存関係に追加します。jaxws21 オプションを使用する必要がなくなりました。

    <dependency>
        <groupId>javax.xml.ws</groupId>
        <artifactId>jaxws-api</artifactId>
        <version>2.2.9</version>
    </dependency>
    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.2.7</version>
    </dependency>
于 2013-03-08T13:43:05.480 に答える