我想知道使用 WS 和 MTOM 的主要好处是什么。 (不流式传输附件)
据我了解,有效负载不会包含将成为 MIME 一部分的二进制数据
“当您使用 MTOM/XOP 优化 SOAP 消息时,XOP 处理会将其序列化为 MIME 多部分/相关消息。XOP 处理从 SOAP 消息中提取 base64Binary 数据,并将其打包为 MIME 消息中的单独二进制附件,方式与电子邮件附件类似”
因此有效负载可能会比 base64 格式小(但不多)
但是如果不使用流附件,我看不到什么优势......随着 SOAP 被反序列化,有效负载无论如何都会最终进入内存。
因此,如果 SOAP 必须包含一个大的 PDF 文件,我必须存储它......使用纯 MTOM,如果我不使用流式附件,则不会有太多好处,因为同时多个用户可能会因 OOME 而导致服务器崩溃......
我错了吗?
最佳答案
使用 MTOM 的原因有几个:
MTOM具有良好的互操作性。 MTOM 是W3C 推荐, 得到 Microsoft、IBM、Oracle 等公司的认可。
MTOM 附件可由 Web 服务功能处理 如所须。附件的临时 Base64 表示 允许 SOAP 引擎使用它们来生成消息签名, 执行加密等。
MTOM 对开发没有影响。没有专门的 API 来处理 SOAP 附件。
关于java - 将 MTOM 与 XOP 结合使用的优点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14498012/