83

我有第三方 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
4

4 回答 4

165

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

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

  1. 我不喜欢它的架构,讨厌它适得其反的部署模型。
  2. 我认为这是一个低质量的项目。
  3. 我不喜欢它的表现(参见这个针对 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:)

也可以看看

相关问题

于 2010-08-28T09:40:46.980 回答
8

我在 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 - 将复杂的 XMLBeans 映射到客户端 GUI 的简单 bean

于 2010-08-27T23:16:28.003 回答
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

于 2012-03-25T15:41:23.560 回答
0

以下答案中的一些想法:

使用 Axis2 创建 Web 服务的步骤 - 客户端代码

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

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

于 2010-08-28T03:33:44.710 回答