1

私のスプリング ブート アプリケーションでは、2 つの Web サービス [AA および B Web サービス] のクライアント コードを作成する必要があります。私は jaxws-maven-plugin を使用しており、コードを生成しています。

私の目の前の課題は、私の Web プロジェクトで、生成されたフォルダーが 1 つあり、生成されたすべてのコードがそのフォルダーに入るということです。ここで、A サービスに対して jaxws-maven-plugin を実行すると、コードと wsdl ロケーション ポイントが作成され、生成されたコード、つまり A.wsdl からロケーションが修正されます。その後、B サービスに対して jaxws-maven-plugin を実行すると、適切な生成コードも作成されますが、この場合、最初の Web サービス生成クライアント コードの wsdl の場所が変更され、B.wsdl を指します。

このアプローチにより、A.wsdl のクライアント コードが正しくない実装を指しているため、動作しなくなります。

提案してください。

4

1 に答える 1

4

1 回の jaxws-maven-plugin 実行で複数の WSDL ファイルの Java コードを生成し、パス接頭辞を指定できます。

<build>
    ...
    <plugins>
        <plugin>
            <groupId>org.jvnet.jax-ws-commons</groupId>
            <artifactId>jaxws-maven-plugin</artifactId>
            <version>2.3</version>
            <executions>
                <execution>
                    <goals>
                        <goal>wsimport</goal>
                    </goals>
                    <configuration>
                        <keep>true</keep>
                        <wsdlLocation>http://mywebservices/*</wsdlLocation>
                        <wsdlDirectory>src/mywsdls</wsdlDirectory>
                        <wsdlFiles>
                            <wsdlFile>A.wsdl</wsdlFile>
                            <!-- produces wsdlLocation = http://mywebservices/A.wsdl -->
                            <wsdlFile>B.wsdl</wsdlFile>
                            <!-- produces wsdlLocation = http://mywebservices/B.wsdl -->
                        </wsdlFiles>
                    </configuration>
                </execution>
            </executions>
        </plugin>
        ...
    </plugins>
    ...
<build>

JAX-WS Commons サイトのこの例を参照してください。

于 2015-10-19T14:20:03.177 に答える