到目前为止,我们发现访问/使用soap Web服务如下
- 从 wsdl 文件生成客户端(带有额外的 xsd)
- 简单的 http post call with soap body (HttpUrlConnection)
- 使用 SAAJ(使用子元素创建 SOAP 主体)
对于生成的客户端(第 1 号),如果可以从 url 发现 wsdl,则它可以工作。但 如果无法从 URL 发现 WSDL,则失败。
现在我的问题是,是否总是建议使用第 2 或第 3 种方式使用 soap Web 服务(其中 wsdl 不可发现)?还是有其他灵活的解决方案?
如果你使用的是 SpringWS,那么你可以使用无法发现的 wsdl。 详情请查看以下连结:
来自 JAVA 中 SOAP 生成的客户端的无法访问的WSDLException 错误
这种方法的优点是你不必准备你的请求,相反,你可以使用请求和响应对象。