2016-07-05 14 views
1

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

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;` 
+0

У вас нет отключенного в ** webservices.xml **, если вы случайно? –

+0

Ты прибил его. Да, я обнаружил, что он отключен. Спасибо за вашу помощь. Я надеюсь, что этот пост поможет другим в будущем – golmalhe

+0

Отлично! Отправлено в ответ. –

ответ

1

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

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

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