我正在将 MTOM 附件支持添加到 Home Grown 应用服务器中的现有 Web 服务支持中。Web 服务框架遵循与 JavaEE5 类似的模式,带注释的服务和对象被自动公开为具有自动 WSDL 生成的 WebService。
我已经进行了实际的解析和生成,但我无法确定是否需要更新 WSDL 生成以向客户表明支持和首选 MTOM。我一直在为如何指示 MTOM 支持找到多个相互冲突的标准,而我对现实世界中使用的标准感到茫然。
到目前为止,我发现:
- MTOM 序列化策略断言 (WS- MTOMPolicy) 版本 1.0 - 来自 XML Soap
- MTOM 序列化策略断言 1.1 - 来自 W3C
据我所见,W3c 似乎是 XMLSoap 的更高版本,但是它们似乎在不同的命名空间中使用了不同的元素来进行断言:
- W3C 使用 - http://www.w3.org/2007/08/soap12-mtom-policy命名空间中的 MTOM
- XML Soap 使用 - http://schemas.xmlsoap.org/ws/2004/09/policy/optimizedmimeserialization命名空间中的 OptimizedMimeSerialization
我还喜欢随机论坛帖子,它似乎表明 Glassfish 正在使用 XML Soap 之一。W3C 标准是一个草案,但似乎是 2007 年的草案。
有谁知道这些规格中的哪些通常在使用?或者在 MTOM 中忽略 WSDL 是否很常见?