jaxws-maven-plugin 和 spring 启动
jaxws-maven-plugin and spring boot
在我的 spring 引导应用程序中,我必须为两个网络服务 [A A 和 B 网络服务] 创建客户端代码。我正在使用 jaxws-maven-plugin 并且它正在生成代码。
摆在我面前的挑战是,在我的 Web 项目中,我有一个生成的文件夹,所有生成的代码都放在该文件夹中。现在,如果我为 A 服务执行 jaxws-maven-plugin,它会创建代码和 wsdl 位置指向生成代码的正确位置,即 A.wsdl。之后,如果我为 B 服务执行 jaxws-maven-plugin,它也会创建正确的生成代码,但在这种情况下,第一个 webservices 生成的客户端代码的 wsdl 位置被修改并指向 B.wsdl
由于这种方法,我的 A.wsdl 客户端代码停止工作,因为它指向不正确的实现
求推荐。
您可以在一次 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 站点查看 this example。
在我的 spring 引导应用程序中,我必须为两个网络服务 [A A 和 B 网络服务] 创建客户端代码。我正在使用 jaxws-maven-plugin 并且它正在生成代码。
摆在我面前的挑战是,在我的 Web 项目中,我有一个生成的文件夹,所有生成的代码都放在该文件夹中。现在,如果我为 A 服务执行 jaxws-maven-plugin,它会创建代码和 wsdl 位置指向生成代码的正确位置,即 A.wsdl。之后,如果我为 B 服务执行 jaxws-maven-plugin,它也会创建正确的生成代码,但在这种情况下,第一个 webservices 生成的客户端代码的 wsdl 位置被修改并指向 B.wsdl
由于这种方法,我的 A.wsdl 客户端代码停止工作,因为它指向不正确的实现
求推荐。
您可以在一次 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 站点查看 this example。