【问题标题】:Java Webservice Client (Best way)Java Webservice 客户端(最佳方式)
【发布时间】:2011-04-05 01:19:09
【问题描述】:

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

  1. 执行此 JAVA 的最佳方法是什么?
  2. 我阅读了有关 SAAJ 的文章,看起来这将是更细粒度的方法?
  3. 除了使用 WSDL2Java 工具之外,还有其他方法可以生成代码。也许wsimport 在另一个选项中。有什么优缺点?
  4. 有人可以发送有关这些主题的一些好的教程的链接吗?
  5. 在使用 WSDL2Java 生成代码时,我们需要使用哪些选项?

我最初使用了一些基本的东西。现在我有这些选择

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

【问题讨论】:

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


    【解决方案1】:

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

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

    1. 我不喜欢它的架构,讨厌它适得其反的部署模型。
    2. 我认为这是一个低质量的项目。
    3. 我不喜欢它的表现(见this benchmark against JAX-WS RI)。
    4. 设置依赖项总是一场噩梦(我使用 Maven,并且我总是必须与无数的依赖项作斗争)(参见 #2)
    5. Axis 吸了很多时间,Axis2 也不是更好。不,这不是个人意见,有共识。
    6. 我受过一次,再也没有。

    Axis 仍然存在的唯一原因是 IMO,因为它自古以来就在 Eclipse 中使用。感谢上帝,这已在 Eclipse Helios 中得到修复,我希望 Axis2 最终会死掉。只有更好的堆栈。

    我阅读了有关 SAAJ 的文章,看起来这将是更细粒度的方法?

    做什么?

    除了使用 WSDL2Java 工具来生成代码之外,还有其他方法吗?也许 wsimport 在另一个选项中。有什么好处和坏处?

    是的!更喜欢 CXFJAX-WS RI 之类的 JAX-WS 堆栈(您可能还会阅读有关 Metro,Metro = JAX-WS RI + WSIT),它们只是更优雅、更简单、更易于使用。在您的情况下,我将只使用 Java 6 中包含的 JAX-WS RI,因此是 wsimport

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

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

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

    没有选项,使用wsimport :)

    另见

    相关问题

    【讨论】:

    • 出色的工作,谢谢。您能否也让 WSIT 成为一些描述的链接(例如 download.oracle.com/docs/cd/E17802_01/webservices/webservices/…
    • @dma_k 完成,添加了一个指向 WSIT 项目的链接(您发布的也是一个不错的项目,因此读者可以同时拥有)。
    • 我很久以前就给了你一个+1,甚至没有关注所有的链接。人活着,那个胆博客撞到了它的鼻子上! :) 再次感谢您。
    • +1 用于 JAX-WS。在 Axis2 上迷失了很多天......一团糟(更不用说大量的依赖关系了)
    • 嗨 Pascal,Glen Mazza 的链接现在断开了。
    【解决方案2】:

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

    我的项目使用以下组合:

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

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

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

    【讨论】:

      【解决方案3】:

      您可以在此处找到一些与使用 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

      【讨论】:

        【解决方案4】:

        以下答案中的一些想法:

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-04-27
          • 1970-01-01
          • 1970-01-01
          • 2014-10-24
          • 2016-07-03
          相关资源
          最近更新 更多