通过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)
但是将有效负载传递给内部类只是为了传递有效负载并不像干净的代码。
您可以提供有效负载和回调来篡改请求,但不是响应,这似乎是合乎逻辑的。或者在不提供有效负载的情况下篡改请求和响应。如果我想发送有效载荷并访问请求和响应,我该怎么办?