如何使用XSD和NO WSDL调用Java中的Web服务?

时间:2011-07-19 18:46:33

标签: java soap jax-ws cxf jaxb2

我的公司外部有一个Web服务,它不为其服务提供WSDL。他们提供:

  • 有关如何POST服务
  • 的详细文件
  • SoapEnvelope应该是什么样的
  • 甚至可以使用.xsd来创建要放入呼叫的SOAP <env:Body></env:Body>的消息。

如何在没有WSDL(Java)的情况下对Web服务进行SOAP调用?我需要一个可以获取JAXB格式的XML消息的工具,将其包装在SOAP Envelope中,并将其作为HTTP POST发送到某些Web服务(使用SSL和证书)。

是否有工具可以轻松实现这一目标?我简要地用CXF查看了JAX-WS dispatch,但由于大多数示例和文档都需要wsdl文档,因此我不确定CXF是否应该使用。

1 个答案:

答案 0 :(得分:1)

他们给你的URL了吗?尝试浏览http://the-url-of-service-that-does-not-provide-wsdl/ wsdl

这是您应该下载WSDL文件的标准URL(除非他们手动编写所有内容)。

好的,如果没有,你有两种方式

  1. 根据文档自己创建WSDL。

  2. 使用您知道的任何工具解析SOAP XML。例如JAXB,Digester,DOM