给定WSDL文件,通过Internet使用Web服务的步骤是什么?

我得到了一个WSDL文件,我需要通过互联网使用这个WSDL文件来使用Web服务。 我需要在Java中这样做。

有人可以告诉我这样做的步骤吗? 我还要感谢一些有用的链接。

第一步是生成可以与此Web服务通信的类。 看看Axis2等开源解决方案。 这将为您生成存根以便与代码中的Web服务进行通信…然后,您可以使用此服务。

我会使用JAX-WS(请,请忘记 Axis或Axis 2,请参阅前面的 答案 ),好消息是Java 6包含JAX-WS RI,因此您已经拥有了所需的一切,无所事事。 换句话说,只需使用wsimport生成调用Web服务所需的类。

例:

 wsimport -p stockquote http://stockquote.xyz/quote?wsdl 

这将生成Java工件并通过导入http://stockquote.xyz/quote?wsdl来编译它们。

然后调用Web服务就是三行代码(不包括WS参数的初始化)。 有关示例,请参阅Java EE教程, JAX-WS Web服务入门或开发JAX-WS Web服务客户 端中的使用JAX-WS创建简单Web服务和客户 端 。

如果您使用IDE将会很有帮助。 例如,在Netbeans中,您可以按照本教程轻松完成您的要求。 在Eclipse中同样容易。

这是 Axis 的Eclipse插件 (在其他答案中提到)。

我还没有在Java中做过这个,但是我多年前做的就是使用一个名为Axis的命令行工具(我相信实际的命令是wsdl2java)。 您运行将url传递给wsdl作为参数的命令,它将生成您可以在应用程序中使用的代理类。

你应该对此进行一些研究,而不是仅仅获得一个勺子喂养的解决方案,但基本上你最终会得到一些能够自动为你生成课程的工具。 您可以使用这些类与服务进行交互,这样您甚至根本不需要知道您正在与服务进行交互。

有一个名为“wsimport”的命令行工具与你的jdk捆绑在一起(如果你使用1.6,虽然不确定版本)。 它与Apache Axis中的wsdl2java类似,但它生成更清晰的代码(imho)。