2014-11-10 5 views
2

У меня есть веб-служба на основе CXF, которая использует MTOM. Он использует MTOM совершенно нормально, но есть некоторые поля byte[], которые я всегда хочу быть встроенными в XML SOAP. Я НЕ хочу, чтобы их отправляли как вложения mime.Используйте MTOM только для определенных полей, других полей inline - CXF SOAP

Даже если я не использую атрибут @XmlMimeType для ответов массива байтов, всегда используйте MTOM в полях байтов. Возможно ли, чтобы некоторые байт-массивы размещали полезную нагрузку inline, а другие использовали 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 
    .... 

ответ

0

@XmlInlineBinaryData аннотаций используется, чтобы заставить JAXB встраивать данные в XML:

@XmlInlineBinaryData 
private byte[] contentNONMTOM; 

Для получения более подробной информации

я написал больше о этот случай использования в моем блоге:

+1

Это отлично работает, спасибо! –