Java Webservice Client(最佳方式)

时间:2010-08-27 22:46:45

标签: java jax-ws axis2 wsdl2java webservice-client

我有第三方WSDL,我需要用Java编写代码,以便Web服务客户端调用第三方WSDL中的操作。现在,我使用Axis的WSDL2JAVA工具生成了客户端存根,并使用XMLbeans进行数据绑定。

  1. 执行此JAVA的最佳方法是什么?
  2. 我读过有关SAAJ的内容,看起来会有更细粒度的方法吗?
  3. 除了使用WSDL2Java工具之外,还有其他方法来生成代码。在另一个选项中可能wsimport。有什么优点和缺点?
  4. 有人可以发送链接以获取有关这些主题的一些好教程吗?
  5. 使用WSDL2Java生成代码时需要使用哪些选项?
  6. 我最初使用了一些基本的东西。现在我有了这些选项

    C:\axis2-1.5.1\bin>wsdl2java -uri  mywsdlurl  -o client -p somepackage -d xmlbeans -s -t -ssi
    

4 个答案:

答案 0 :(得分:160)

  

执行此JAVA的最佳方法是什么?

我个人使用Axis 2,即使仅用于客户端开发。这就是我远离它的原因:

  1. 我不喜欢它的架构,讨厌其反效率的部署模型。
  2. 我发现它是低质量的项目。
  3. 我不喜欢它的表演(见this benchmark against JAX-WS RI)。
  4. 设置依赖项总是一场噩梦(我使用Maven,而我总是必须与众多的依赖项斗争)(见#2)
  5. Axis吸得很大,而Axis2并不是更好。不,这不是个人意见,有共识。
  6. 我遭受过一次,再也没有。
  7. Axis仍然存在的唯一原因是IMO,因为它已经在Eclipse中使用了很久。感谢上帝,这已经在Eclipse Helios中得到修复,我希望Axis2最终会死。有更好的堆栈。

      我读到了关于SAAJ的看法,看起来会有更细粒度的方法吗?

    要做什么?

      

    除了使用WSDL2Java工具之外,还有其他方法来生成代码。也许在另一种选择中使用wsimport。有什么优点和缺点?

    是的!首选JAX-WS堆栈,如CXFJAX-WS RI(您可能还会读到Metro,Metro = JAX-WS RI + WSIT),它们更优雅,更简单,更易于使用。在您的情况下,我将使用Java 6中包含的JAX-WS RI,因此wsimport

      

    有人可以发送链接以获取有关这些主题的一些好教程吗?

    那是另一个专业人士,有很多(优质)JAX-WS教程,例如见:

      

    使用WSDL2Java生成代码时需要使用哪些选项?

    没有选项,请使用wsimport:)

    另见

    相关问题

答案 1 :(得分:8)

使用Spring WS为Web服务应用程序的客户端取得了很好的成功 - 请参阅http://static.springsource.org/spring-ws/sites/1.5/reference/html/client.html

我的项目使用了以下组合:

  • XMLBeans(使用xmlbeans-maven-plugin从简单的Maven作业生成)

  • Spring WS - 使用marshalSendAndReceive()将代码减少到一行以便发送和接收

  • 一些Dozer - 将复杂的XMLBeans映射到客户端GUI的简单bean

答案 2 :(得分:1)

您可以在此处找到与使用Apache axis2开发Web服务客户端相关的一些资源。

http://today.java.net/pub/a/today/2006/12/13/invoking-web-services-using-apache-axis2.html

以下帖子提供了使用Apache axis2开发Web服务的很好解释。

http://www.ibm.com/developerworks/opensource/library/ws-webaxis1/

http://wso2.org/library/136

答案 3 :(得分:0)

以下答案中的一些想法:

Steps in creating a web service using Axis2 - The client code

给出了一个Groovy客户端调用从WSDL生成的ADB类的示例。

那里有很多Web服务框架......