我的google-fu并没有为java中的SOAP库提供非常有希望的结果,主要是用于设置SOAP服务,因为我需要与这样的服务进行通信。
我意识到SOAP只是构建和解析XML的问题,但理想情况下我希望透明地完成对象映射和处理。
到目前为止,我已经看过Apache Axis和X-Fire(现在是Apache CXF),并且两者似乎都更多地处理SOAP服务而不是实际使用SOAP服务。
任何人都可以指导我处理SOAP的任何宝石,或者有使用Java处理SOAP服务的个人经验。
答案 0 :(得分:4)
对于查询SOAP服务,您可以使用JAX-WS标准的实现,例如Project Kenai或JDK 6 +中包含的默认版本。
This article显示了使用该标准设置SOAP客户端(而不是服务器)的示例。给定WSDL,您应该能够为client使用标准工具。 This是另一个例子。
答案 1 :(得分:4)
您提到的框架确实会生成客户端代码
例如。对于CXF How-to-create-client
他们不仅部署Web服务。他们还提供客户端代码来使用它!
这个想法是你运行相应的自动工具(CXF的wsdl2java
或jax-ws的Java附带的wsimport
来解析服务的WSDL和客户端存根以及与Web服务通信所需的工件将被创建
然后在您的代码中使用客户端存根与Web服务进行通信,同时从框架透明地处理从XML到Java类型的编组/解组。
您还可以查看JAX-WS,如果您想要简单的东西,可以使用SAAJ将soap消息直接发送到Web服务端点。
在您提到的框架中,您应该查看引用客户端存根生成和使用Web服务的部分