使用MessageCallback和MessageExtractor

时间:2016-06-08 08:35:50

标签: java spring web-services soap spring-ws

通过Spring WebServiceTemplate发送SOAP请求时,我想提供有效负载并对请求及其响应执行操作。这是因为我需要请求/响应标头中的一些细节。

Spring documentation中,我发现可以使用WebServiceMessageCallback更改请求,使用WebServiceMessageExtractor更改回复。

我遇到的问题是WebServiceTemplate似乎在提供有效负载和提供MessageCallback / {{之间选择 1}}。

有了这个,我的意思是有以下方法可用:

  • MessageExtractor
  • marshalSendAndReceive(Object requestPayload, WebServiceMessageCallback requestCallback)
  • sendAndReceive(WebServiceMessageCallback requestCallback, WebServiceMessageExtractor<T> responseExtractor)

但没有提供全部三个。因此,提供有效负载WebServiceMessageCallback用于请求操作,WebServiceMessageCallback / WebServiceMessageExtractor用于响应操作。

在文档中,他们提供了以下代码段:

sendAndReceive(WebServiceMessageCallback requestCallback, WebServiceMessageCallback responseCallback)

但是将有效负载传递给内部类只是为了传递有效负载并不像干净的代码。

您可以提供有效负载和回调来篡改请求,但不是响应,这似乎是合乎逻辑的。或者在不提供有效负载的情况下篡改请求和响应。如果我想发送有效载荷并访问请求和响应,我该怎么办?

0 个答案:

没有答案