【发布时间】:2016-06-05 11:05:23
【问题描述】:
我正在使用 Tomcat、Apache CXF 和 Spring Boot 公开一个 SOAP 服务。 Web 服务已启用 MTOM,并且在通过 SOAP UI 对其进行测试时可以正常工作。
问题是,当我尝试从 SOAP UI 中获取禁用 MTOM 的消息时,我仍然会收到带有 XOP 附件的消息。我使用的 SOAP UI 选项是: Enable MTOM: false;强制 MTOM:false。
我尝试将请求的 Accept 标头设置为 application/xml 而不是 application/xop+xml,但我仍然得到相同的结果。
获得 Byte64 流的唯一时间是使用小于我设置的阈值的文件进行测试:
@MTOM(enabled = true, threshold = 2048)
我需要的是 MTOM 在设置为启用时是可选的,并且取决于请求,而不仅仅是阈值,这可能是 SOAP UI 的问题还是我当前的配置忽略了请求参数?
我需要这个,因为 Web 服务的某些客户端不支持 MTOM。
这是我从暴露方法返回的对象:
public class Document {
private DataHandler fileData;
public DataHandler getFileData() {
return fileData;
}
public void setFileData(DataHandler fileData) {
this.fileData = fileData;
}
}
【问题讨论】:
标签: web-services tomcat soap jax-ws mtom