【问题标题】:Does MTOM needed to be specified for both the client and server code是否需要为客户端和服务器代码指定 MTOM
【发布时间】:2018-07-10 17:44:53
【问题描述】:

我刚刚开始使用 SOAP Web 服务,偶然发现了 MTOM。

根据以下用例,我需要了解两件事: 用户将通过传递图像来调用 SOAP Web 服务。作为响应,他们将获得相同图像的格式化版本。

  1. 我知道我需要在客户端设置MTOMEnabled(true),但我也必须在服务中提及它。另外,当生成 WSDL 时,我如何知道该服务使用了 MTOM?
  2. 当客户端发送二进制数据时,必须在客户端代码中提及 MTOM,但如果客户端发送文本数据而服务器发送二进制数据,那么客户端是否也必须使用 MTOM?

【问题讨论】:

  • 我们又见面了 ;-) 这会让你开始回答几个问题,虽然不是全部How does mtom work
  • 其中一些MTOM results 我想他们也会回答你的许多问题。
  • 很重要,但我仍然有这 2 个问题
  • 已更新,如果有帮助请告诉我!

标签: java web-services jax-ws mtom


【解决方案1】:

当我收集更多信息并更新此答案时,我将进一步详细说明,但关于问题一“JAX-WS 应用程序需要单独配置客户端和服务器工件以启用 MTOM 支持”和“WSDL 文件包含 xsd :base64Binary 或 xsd:hexBinary 二进制数据的元素定义。”它还可能包含“xmime:expectedContentTypes”

第二,我相信这回答了您的问题“JAX-WS 应用程序需要单独配置客户端和服务器工件以启用 MTOM 支持”

但同样,仍在为您检查。

更多您将在 WSDL 中看到的示例

<xs:complexType name="ImageDepot">
    <xs:sequence>
        <xs:element name="imageData" type="xs:base64Binary" xmime:expectedContentTypes="image/jpeg"/>
    </xs:sequence>
</xs:complexType>
........
</types

MIME 类型和Java 类型的映射。描述 MIME 类型和 Java 类型之间的映射。

MIME 类型 Java 类型

图像/gif - java.awt.Image

图像/jpeg - java.awt.Image

文本/纯文本 - java.lang.String

文本/xml - javax.xml.transform.Source

应用程序/xml javax.xml.transform.Source

/ javax.activation.DataHandler

所以关于你的第二个问题,我认为文本仍将被视为附件,但具有 text/plain 的类型

【讨论】:

    猜你喜欢
    • 2021-01-07
    • 2012-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-15
    • 1970-01-01
    • 2015-11-24
    • 2019-09-10
    相关资源
    最近更新 更多