【问题标题】:Dynamic invocation of WSDL 2.0 described serviceWSDL 2.0 描述的服务的动态调用
【发布时间】:2010-08-07 09:21:15
【问题描述】:

我正在用 Java/Groovy 构建一个涉及 Web 服务动态调用的系统。我使用 JAX-WS 调用具有 WSDL 1.1 接口的服务,但我找不到任何有用的信息来说明如何为 WSDL 2.0 描述实现 DII。

你们中的任何人都可以为我指出有关使用 WSDL 2.0 接口动态调用 Web 服务的正确方向吗?

提前致谢, 莫克斯

PS:post on a mailing list 表明 JAX-WS 不支持 WSDL 2.0。那我还有什么其他选择? Apache CXF 是否支持 WSDL 2.0?

编辑:我只是尝试使用 JAX-WS 动态调用 WSDL 2.0 Web 服务,但得到了 WSDL 异常 faultCode=INVALID_WSDL: Expected element '{http://schemas.xmlsoap.org/wsdl/}definitions'. 看起来 JAX-WS DII 确实不适用于 WSDL 2.0。

【问题讨论】:

    标签: java web-services wsdl jax-ws cxf


    【解决方案1】:

    Apache CXF 仅支持 wsdl 1.1,但 WSo2 支持 wsdl 2.0,并且可能有您想要的。我相信它使用 Axis 2。

    【讨论】:

    • 嗯,显然 AXIOM 是在 Axis 2 中创建 WSDL 2.0 服务的动态调用的首选方式。但它看起来不像 JAX-WS 中的 DII 支持那么简单:(
    【解决方案2】:

    我没有尝试过,但是 Axis 2.0 声称支持 WSDL 2.0(在 main page 上)。

    因此,如果您使用与 Axis2 API 兼容的 XML 映射工具,它应该可以工作。以下是一些兼容的 XML 映射工具:

    注意:Apache-CXF 不支持 WSDL 2.0。

    【讨论】:

    • 感谢您的回复。 Axis 2.0 确实支持 WSDL 2.0。但如果我没记错的话,ADB 和 XmlBeans 是否仅用于从 WSDL 或 XSD 文件创建存根/代理,很遗憾这不是我需要的。还是我错过了什么?
    • 是的,它们是通常与 Axis2 一起使用的“XML 映射器”。在对这些 API 进行另一次分析后,它们不会“即时”生成这些映射。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-16
    相关资源
    最近更新 更多