使用Java访问Web服务

时间:2010-12-29 00:01:24

标签: java web-services wsdl

如果这是重复的话我提前道歉,我搜索了几个小时但找不到任何东西。

我正在尝试连接到基于SOAP的Web服务,该服务通过Java(特别是Tomcat)应用程序提供WSDL。我以前在.Net中做过这件事并且不容易。我只需单击“添加Web引用”并将其指向WSDL,它就会为我生成所有存根和编组/解组代码。我听说过XJC,这似乎很有希望虽然我似乎无法找到任何关于它的东西(一切都是从2002年开始,似乎已经破坏了链接)。我找到了一个教程,他们手动生成了SOAP XML,但这似乎比它需要的效率低得多。 XJC会做我想要的吗? (也就是说,生成类存根以及编组和解组我的请求的代码)如果是这样,你能建议一个教程/文档吗?

提前致谢!

6 个答案:

答案 0 :(得分:2)

答案 1 :(得分:2)

我在Eclipse上运气最好。转到“新” - > “其他”。然后在“Web服务”中选择“Web服务客户端”。将滑块放在“Deploy Client”上并将其指向wsdl,它应生成可用的客户端代码。

答案 2 :(得分:0)

尝试使用Java IDE,例如Eclipse。我所知道的所有内容都具有您在Visual Studio中描述的Web服务工具。如果选择Eclipse,请确保使用Eclipse IDE for Java EE开发人员包。

答案 3 :(得分:0)

您也可以查看Spring web service模块。它使生成客户端非常简单。

来自JetBrains的

IntelliJ也将为您生成WSDL客户端。

答案 4 :(得分:0)

您应该做的是使用JAX-WS实现。大多数IDE(Netbeans,Eclipse,IntelliJ IDEA)都具有与您习惯的.Net类似的工具。您也可以从命令行执行此操作(就像.Net wsdl.exe版本一样)。

如果您选择Netbeans,它将使用随附的默认Jax-WS实现(Metro)。 Apache CXF(http://cxf.apache.org/)是一个非常好的替代方案。

CXF提供了一个命令行工具wsdl2java,它与您所说的完全相同,它为您提供的WSDL生成存根(Java类)。 http://cxf.apache.org/docs/wsdl-to-java.html

答案 5 :(得分:0)

正如jbx所述,JAX-WS实现是一个不错的选择。 Apache CXF的替代方案是Axis 2

可能超出范围,但如果您使用Java并且对敏捷Web开发感兴趣,Grails(Groovy)可能会引起关注。它允许您使用旧式Java代码或Groovy代码或两者,非常方便。它有一些“神奇”的东西可以帮助你。

Grails适用于Apache CXF,但也有一些非常易于使用的库,如GroovyWS。