我有一个使用MTOM的基于CXF的web服务。它使用MTOM非常好,但是我总是希望在SOAP XML中内联一些byte[]
字段。我不希望它们作为mime附件发送。
即使我没有在字节数组上使用@XmlMimeType
属性,响应也总是在字节字段上使用MTOM。是否可以让一些字节数组将有效负载内联,而另一些则使用MTOM?
我认为这是可能的,唯一的方法是根据大小使用阈值,但这不是我想要的。
示例:
public class Content {
//I want this field inline
private byte[] contentNONMTOM;
//I want this field to be attached/MTOM
@XmlMimeType("application/octet-stream")
private byte[] contentMTOM
....
@XmlInlineBinaryData
注释用于强制JAXB内联XML:中的数据
@XmlInlineBinaryData
private byte[] contentNONMTOM;
有关更多信息
我在我的博客上写了更多关于这个用例的内容:
- http://blog.bdoughan.com/2011/03/jaxb-web-services-and-binary-data.html