【发布时间】:2012-05-21 06:14:00
【问题描述】:
要求
需要调用具有 wsdl 的 Web 服务,该服务无法通过浏览器打开。
我有一个 wsdl 文档,其中给出了一个虚拟端点。
生成存根类等后,应在运行时更改端点。必须调用第三方方法,该方法将在 SOAP 消息中添加标头,此方法仅接受 SOAP 消息,必须从我们应在流中添加的 SoapHandler 调用此方法。
我已经尝试了以下所有方法
轴 2
该服务与 Axis2 配合良好,除了我只能访问处理程序中的 AxisMesage 而不能访问 SOAP 消息,因此我无法调用我的第三方方法失败
轴 1.4 该服务运行良好,我可以访问 SOAP 消息,我可以使用它来调用第三方方法
Apache CXF、JAX-WS 等
由于 wsdl 不可用,如果我使用新的 wsdl 端点初始化服务类,或者如果我通过 bindingProvider 设置端点,则会引发异常,因此我无法调用服务。
问题
由于 Axis 1.4 已经过时,因此普遍认为远离它。
Axis 2 很好,除了 AxisMessage 问题,有没有办法在我添加到 Axis 的处理程序中访问 SoapMessage。我能够添加的处理程序只是 Axis2 处理程序
在 CXF 和 JAX-WS 中,我可以添加我有 SoapMessage 的通用处理程序,但是当服务类被初始化或使用 BindingProvider 设置时它们会失败
任何建议
谢谢
查理
【问题讨论】:
标签: jax-ws cxf axis2 soaphandler