首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WSDL消费-使用什么工具?

WSDL消费-使用什么工具?
EN

Stack Overflow用户
提问于 2011-02-02 08:14:40
回答 2查看 3K关注 0票数 2

我很难理解如何制作一个web服务客户端。故事是,我需要打个电话给一个web服务。正如我所理解的那样,我需要以某种方式使用web服务来获得web服务的正确类。

我已经研究了很多方法来做这个。例如,我尝试使用脚本来使用它们,然后只导入类。

但是,我的一位同事建议我尝试使用Maven-plugin wsdl2code,因为我们已经使用了Maven-2。这样做是可行的,但在我看来,它会创建很多垃圾文件。我在我的pom.xml文件中添加了以下内容:

代码语言:javascript
复制
<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有更多的无用文件(据我所见)。

问题

  • 有关于如何使用web服务的一般指南吗?由于WSDL文件是外部的,所以它也可能发生变化,因此我认为在Maven中自动完成这一操作是很好的(尽管如果WSDL突然改变了,还会有其他副作用)。
  • 如果wsdl2code是一个很好的选择,那么是否所有文件都是在目标-catalouge中创建的呢? 当执行mvn清理时,它们被移除了吗?
  • 还有其他更适合的工具吗?

更新/编辑

例如,通过使用,我得到了我想要的生成的文件。但是,通过在/target-文件夹中创建这些文件,我希望在同一个项目中找到它们,以实际调用web服务。这个是可能的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-02 11:02:00

如果您有java-1.6,您可以(应该)使用jax-ws,这与内置的java工具非常容易。有一个很好的maven插件可以创建一个webservice客户端,可以使用它而不需要任何额外的依赖关系。看看http://jax-ws-commons.java.net/jaxws-maven-plugin/

有关详细演练,请参见maven

票数 3
EN

Stack Overflow用户

发布于 2011-02-02 11:14:34

你可以试试CXF wsdl2java插件。此外,最好将生成的源代码存储在单独的源文件夹中,以避免混乱。最后,配置如下所示:

代码语言:javascript
复制
        <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>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4872104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档