我得到了一个WSDL文件,我需要通过互联网使用这个WSDL文件来使用Web服务。我需要在Java中这样做。
有人可以告诉我这样做的步骤吗?我也很感激一些有用的链接。
答案 0 :(得分:11)
我会使用JAX-WS(请,忘记 Axis或Axis 2,请参阅previous answers),好消息是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教程中的Creating a Simple Web Service and Client with JAX-WS,Getting Started with JAX-WS Web Services或Developing JAX-WS Web Service Clients。
答案 1 :(得分:4)
第一步是生成可以与此Web服务通信的类。看看Axis2等开源解决方案。这将为您生成存根以便与代码中的Web服务进行通信...然后,您可以使用此服务。
答案 2 :(得分:1)
如果您使用IDE,将会很有帮助。例如,在Netbeans中,您可以关注this tutorial并轻松完成您的要求。它在Eclipse中同样容易。
Axis的Here is an Eclipse plugin(在其他答案中提到)。
答案 3 :(得分:0)
我还没有用Java做过这个,但是多年前我做的就是使用一个名为Axis的命令行工具(我相信实际命令是wsdl2java)。您运行将url传递给wsdl作为参数的命令,它将生成您可以在应用程序中使用的代理类。
你应该对此进行一些研究而不是仅仅获得一个勺子喂养的解决方案,但基本上你最终会得到某种能够自动为你生成课程的工具。您可以使用这些类与服务进行交互,这样您甚至根本不需要知道您正在与服务进行交互。
答案 4 :(得分:0)
有一个名为“wsimport”的命令行工具与你的jdk捆绑在一起(如果你使用的是1.6,但不确定版本)。它与Apache Axis中的wsdl2java类似,但它生成更清晰的代码(imho)。