Websphere Web服务JAX-WS没有响应MTOM响应

时间:2016-07-05 18:34:24

标签: websphere attachment mtom

我正在使用IBM websphere 8.0并在服务器上部署了一个Web服务,并使用注释@MTOM启用了MTOM(enabled = true,threshold = 0)。我可以看到MTOM正在为发送附件工作,但是对于web服务,在响应中发送附件时不使用MTOM。 Web服务客户端也启用了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;`

1 个答案:

答案 0 :(得分:1)

确保您未在​​ webservices.xml 中禁用MTOM,这将覆盖基于注释的配置。

来自文档here

  

对于JAX-WS Web服务,使用webservices.xml部署描述符是可选的,因为您可以使用注释来指定部署描述符文件中包含的所有信息。您可以使用部署描述符文件来扩充或覆盖现有的JAX-WS注释。 您在webservices.xml部署描述符中定义的任何信息都将覆盖注释指定的任何相应信息。