我很难理解如何制作一个web服务客户端。故事是,我需要打个电话给一个web服务。正如我所理解的那样,我需要以某种方式使用web服务来获得web服务的正确类。
我已经研究了很多方法来做这个。例如,我尝试使用脚本来使用它们,然后只导入类。
但是,我的一位同事建议我尝试使用Maven-plugin wsdl2code,因为我们已经使用了Maven-2。这样做是可行的,但在我看来,它会创建很多垃圾文件。我在我的pom.xml文件中添加了以下内容:
<plugin>
<groupId>org.apache.axis2</groupId>
<artifactId>axis2-wsdl2code-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<goals>
<goal>wsdl2code</goal>
</goals>
<configuration>
<packageName>ws.client.test</packageName>
<wsdlFile>http://localhost:8088/test?WSDL</wsdlFile>
<databindingName>xmlbeans</databindingName>
<outputDirectory>target/ws/test</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>这成功地创建了文件,但正如所说的,还有很多垃圾文件(xmlsoap/schema/soap/encoding/.)或者至少比我尝试过的其他WSDLconsume有更多的无用文件(据我所见)。
问题
更新/编辑
例如,通过使用,我得到了我想要的生成的文件。但是,通过在/target-文件夹中创建这些文件,我希望在同一个项目中找到它们,以实际调用web服务。这个是可能的吗?
发布于 2011-02-02 11:02:00
如果您有java-1.6,您可以(应该)使用jax-ws,这与内置的java工具非常容易。有一个很好的maven插件可以创建一个webservice客户端,可以使用它而不需要任何额外的依赖关系。看看http://jax-ws-commons.java.net/jaxws-maven-plugin/
有关详细演练,请参见maven。
发布于 2011-02-02 11:14:34
你可以试试CXF wsdl2java插件。此外,最好将生成的源代码存储在单独的源文件夹中,以避免混乱。最后,配置如下所示:
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>2.3.0</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<sourceRoot>src/main/generated</sourceRoot>
<wsdlOptions>
<wsdlOption>
<wsdl>src/main/resources/your-service.wsdl</wsdl>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>2.4.1</version>
<executions>
<execution>
<id>auto-clean</id>
<phase>initialize</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
<configuration>
<filesets>
<fileset>
<directory>src/main/generated</directory>
<includes>
<include>**/*.java</include>
</includes>
<followSymlinks>false</followSymlinks>
</fileset>
</filesets>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>src/main/generated</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>https://stackoverflow.com/questions/4872104
复制相似问题