相关疑难解决方法(0)

如何在Spring-WS中为响应有效负载添加附件?

我正在构建一个旨在共享内容的Web服务服务器.我想通过包含附件的SOAP响应来提供内容.现在,我正在使用Spring WS处理请求并提供响应.

我的服务类似于以下内容:

@Endpoint
public class Service{

    @PayloadRoot(namespace = "http://foo.com/coffee", localPart = "order")
    @ResponsePayload
    public Coffee getCoffee(@RequestPayload Order order){
        return new Coffee("Hot Joe");
    }

}
Run Code Online (Sandbox Code Playgroud)

但是假设我想在回复中附上一杯咖啡的图片,我在哪里以及如何做到这一点?

编辑:另外,Spring-WS附带的示例显示了如何使用客户端发送附件,而不是服务器应该如何响应(这是我在这里问的问题).

java spring soap spring-ws

5
推荐指数
1
解决办法
9484
查看次数

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
查看次数

标签 统计

spring-ws ×2

java ×1

jaxb ×1

mtom ×1

multipart ×1

soap ×1

spring ×1

unmarshalling ×1