【问题标题】:What Standard Specifies how MTOM / XOP support should be indicated in a WSDL?什么标准指定在 WSDL 中应如何指示 MTOM/XOP 支持?
【发布时间】:2011-06-17 03:50:18
【问题描述】:

我正在将 MTOM 附件支持添加到 Home Grown 应用服务器中的现有 Web 服务支持中。 Web 服务框架遵循与 JavaEE5 类似的模式,带注释的服务和对象自动公开为具有自动 WSDL 生成功能的 WebService。

我已经进行了实际的解析和生成,但我无法确定是否需要更新 WSDL 生成以向客户表明支持和首选 MTOM。我一直在为如何指示 MTOM 支持找到多个相互冲突的标准,但我不知道在现实世界中使用的是什么。

到目前为止,我发现:

据我所知,W3c 似乎是 XMLSoap 的更高版本,但是它们似乎在不同的命名空间中使用不同的元素来进行断言:

我还喜欢random forum post,它似乎表明 Glassfish 正在使用 XML Soap。 W3C 标准是一个草案,但似乎是 2007 年的草案。

有谁知道这些规格中的哪一个通常被使用?还是在 MTOM 时忽略 WSDL 是否很常见?

【问题讨论】:

    标签: web-services wsdl mtom xop


    【解决方案1】:

    由于这个问题在这里已经被风吹草动,所以我决定以防其他人偶然发现这个问题。

    原来帖子中链接的 W3C 规范似乎已经停滞不前,因为它仍处于草稿阶段。还有一个 WSDL2 的 W3C 规范,其中包括一个特定的属性来指示 MTOM 支持,但是 WSDL2 似乎并没有在野外使用。

    由于这一点以及 Glassfish 使用它的迹象,我选择了问题中链接到的 XmlSoap 规范。但是,我实际上并没有找到任何工具或客户端可以实际解释 MTOM 断言,而是我遇到的客户端工具要求您明确指出它们是否应该对请求进行 MTOM 编码。所以包括这个断言似乎有点没有实际意义。

    不过,请注意,虽然 JAX-WS 似乎没有使用 MTOM 断言,但它确实使用 PolicyAssertions 来确保安全。任何 PolicyAssertions 的存在意味着 JAX-WS 忽略任何明确指定的安全配置。因此,在不包括安全断言的情况下指定 MTOM 断言会阻止 Web 服务在以任何方式受到保护时被调用。我不确定这个问题是否也适用于其他客户端工具。

    【讨论】:

      猜你喜欢
      • 2012-01-23
      • 2013-08-11
      • 2016-11-30
      • 2012-10-28
      • 1970-01-01
      • 2017-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多