为Web服务编写Java客户端的最佳方法是什么?

时间:2012-02-20 22:35:16

标签: java web-services soap jax-ws axis2

我有一个项目即将要求我从我的java应用程序调用SOAP Web服务。我想知道我应该看哪些工具集来做到这一点?所有建议都表示赞赏。

我看过jax-ws和Axis2,但这些似乎主要是针对Web服务的创建者而不是消费者,我只想消费。

谢谢!

4 个答案:

答案 0 :(得分:3)

首先,您需要。一些服务提供者可能会分发Java客户端类,但WSDL是最安全的方法。

完成后,针对wsdl2java运行工具或analogous 。它将创建一堆Java类(您只需要客户端端)。这些工具还能够生成服务器端代码,因此给人的印象是他们的目标是服务开发人员。

这就是您所需要的 - 客户端类将为您处理XML编组/解组和HTTP连接。只需使用适当的存根实现WS端点接口。

您还可以使用WebServiceTemplate投放组合中的

答案 1 :(得分:2)

Jax-WS附带了一个名为wsimport的工具,您可以针对SOAP服务的.wsdl运行该工具。它会生成一大堆类,客户端可以使用这些类与服务进行交互。之后,它只是简单的Java编码。

答案 2 :(得分:1)

如果您正在使用eclipse,您可能希望查看此解决方案:

What is the easiest way to generate a Java client from an RPC encoded WSDL

答案 3 :(得分:0)

如果您想要一个快速功能的客户端,您可以使用JAX-WS工具生成使用Web服务所需的代码。但有时这种方法可以生成不可移植的代码(就像使用Websphere工具一样)但是生产力的提高可能是值得的。

Spring Framework还提供了构建和使用Web服务的工具,但它需要一些额外的工作来开发客户端,并且可能需要使用JAXB或Castor等技术手动映射输入/输出消息。您也可以使用Spring直接读取XML,它是一个灵活的框架,可以确保容器之间的可移植性,但需要额外的工作和时间。

每种方法都有利有弊。由你来决定。