Веб-служба Websphere JAX-WS не отвечает ответом MTOM

Я использую IBM websphere 8.0, и на сервере развернута веб-служба с включенным MTOM с использованием аннотации @MTOM (enabled = true, Threshold = 0). Я вижу, что MTOM работает для отправки вложения, но для веб-службы не использует MTOM при отправке вложения в ответе. В клиенте веб-сервиса также включен MTOM. Я пытался использовать обычный клиент java jax-ws, а также SoapUI. Ниже приведен пример ответа сервера. Вложения всегда встроены.

HTTP/1.1 200 OK X-Powered-By: Servlet/3.0 Content-Type: text/xml; charset=UTF-8 Content-Language: en-US Transfer-Encoding: chunked Date: Tue, 05 Jul 2016 18:17:12 GMT <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <ns3:processRequestResponse > <ns5:Response> <ns5:MessageHeader> <ns5:MessageType>RECEIPT.DOWNLOAD</ns5:MessageType> <ns5:MessageVersion>1</ns5:MessageVersion> <ns5:MessageID>1</ns5:MessageID> <ns5:DateTimeStamp>2016-07-05T12:17:12</ns5:DateTimeStamp> </ns5:MessageHeader> <ns5:ReplyHeader> <ns5:ReplyStatusCode>0</ns5:ReplyStatusCode> <ns5:ReplyStatusValue>SUCCESS</ns5:ReplyStatusValue> </ns5:ReplyHeader> <ns5:Payload> <ns6:DownloadAttachmentResponse/> </ns5:Payload> <ns5:receiptImages>/9j/4AAQSkZJRgABAgAAAQABAAD</ns5:receiptImages> <ns5:receiptImages>/9j/4AAQSkZJRgABAgAAAQABAAD</ns5:receiptImages> </ns5:Response> </ns3:processRequestResponse> </soapenv:Body> </soapenv:Envelope>

Вот как выглядит мой объект ответа

`@XmlRootElement(name =         "Response",namespace="http://response.inboundgateway.ws.axol.cps.application.usbank.com/")
@XmlSeeAlso(DownloadAttachmentResponse.class)
public class Response {

    @XmlElement(name = "MessageHeader", required = true)
    protected Response.MessageHeader messageHeader;
    @XmlElement(name = "ReplyHeader", required = true)
    protected ReplyHeaderType replyHeader;
    @XmlElement(name = "Payload", required = true)
    protected Response.Payload payload;
    @XmlMimeType("image/jpeg")
    protected List<Image> receiptImages;`

person golmalhe    schedule 05.07.2016    source источник
comment
Вы случайно не отключили его в webservices.xml?   -  person Scott Kurz    schedule 05.07.2016
comment
Ты сделал это. Да, я обнаружил, что он отключен. Спасибо за вашу помощь. Я надеюсь, что этот пост поможет другим в будущем   -  person golmalhe    schedule 05.07.2016
comment
Здорово! Опубликовано как ответ.   -  person Scott Kurz    schedule 05.07.2016


Ответы (1)


Убедитесь, что вы не отключили MTOM в webservices.xml, что переопределит конфигурацию на основе аннотаций.

Из документации здесь.

Для веб-служб JAX-WS использование дескриптора развертывания webservices.xml необязательно, поскольку вы можете использовать аннотации для указания всей информации, содержащейся в файле дескриптора развертывания. Вы можете использовать файл дескриптора развертывания, чтобы дополнить или переопределить существующие аннотации JAX-WS. Любая информация, указанная вами в дескрипторе развертывания webservices.xml, переопределяет любую соответствующую информацию, указанную в аннотациях.

person Scott Kurz    schedule 05.07.2016