这不是Java特定的问题,但让我们举一个Java示例:在Java世界中将xmime:expectedContentTypes="*/*
添加到base64元素以启用服务器上的MTOM处理是标准做法这样做会导致@XmlMimeType
批注,使用DataHandler
而不是字节数组等等。尽管这个描述当然被大大简化了,但xmime:expectedContentTypes="*/*
通常被开发人员认为是'MTOM ready'(更重要的是也被实现的库)当在模式中看到时。从我从例子中得到的结果来看,C#世界的情况是一样的。如何标记SOAP服务“启用MTOM”
但它对我来说确实没有意义 - 该属性指定了我们在XML中实际期望的数据类型,而不是它可以与MTOM一起使用。在任何RFC或类似的SOAP 1.1文档中,我也没有发现预期的内容类型和MTOM之间有任何直接联系。
我的问题可以从两个方面来表述:
- 如何服务明确表示它接受/在请求/响应提供二进制数据作为MTOM附件?
- 客户端如何正确识别可以通过使用给定服务的MTOM附件发送/获取二进制数据?