小编mar*_*rco的帖子

Spring WS WebServiceTemplate:访问响应的内容或自定义解组器

我正在向外部SOAP服务发送一条消息,该消息应该以一条Soap Message进行响应,其中包含一个图像。这是我编写的用于发送消息的代码:

@Bean
Jaxb2Marshaller jaxb2Marshaller() {
    Jaxb2Marshaller jaxb2Marshaller = new Jaxb2Marshaller();
    jaxb2Marshaller.setContextPath("myContextPath");

    return jaxb2Marshaller;
}

@Bean
public WebServiceTemplate webServiceTemplate() {
    WebServiceTemplate webServiceTemplate = new WebServiceTemplate();
    webServiceTemplate.setMessageSender(webServiceMessageSender());
    webServiceTemplate.setMarshaller(jaxb2Marshaller());
    webServiceTemplate.setUnmarshaller(jaxb2Marshaller());
    webServiceTemplate.setDefaultUri(defaultUri);
    return webServiceTemplate;
}

public ProcessDocumentResponse sendRequest(MyRequest myRequest) {
    MyResponse response = (MyResponse) webServiceTemplate.marshalSendAndReceive(
            myRequest,
            message -> ((SoapMessage) message).setSoapAction(theAction));
    return response;
}
Run Code Online (Sandbox Code Playgroud)

这是从日志中得到的响应:

Receiving response: HTTP/1.1 200 OK
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: multipart/related; type="application/xop+xml";start="<http://tempuri.org/0>";boundary="uuid:_someUUID_";start-info="text/xml"
Server: Microsoft-IIS/10.0
MIME-Version: 1.0
X-AspNet-Version: ...
X-Powered-By: ...
Date: Wed, 11 Oct 2017 09:10:36 GMT
Content-Length: …
Run Code Online (Sandbox Code Playgroud)

spring-ws mtom multipart jaxb unmarshalling

4
推荐指数
1
解决办法
1214
查看次数

标签 统计

jaxb ×1

mtom ×1

multipart ×1

spring-ws ×1

unmarshalling ×1