我正在使用IBM websphere 8.0,並在服務器上部署了一個web服務,並使用註釋@MTOM(enabled = true,threshold = 0)啓用了MTOM。我可以看到MTOM正在爲發送附件工作,但webservice在響應中發送附件時不使用MTOM。 web服務客戶端也啓用了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;`
您有沒有在** webservices.xml **中禁用它? –
你釘了它。是的,我發現它被禁用。謝謝你的幫助。我希望這篇文章有助於他人未來 – golmalhe
太棒了!轉貼爲答案。 –