我正在从事春季整合工作,以寻求肥皂服务。我可以使用出站网关成功调用Soap服务。现在我需要用相同的请求调用相同的soap服务,现在我需要在http标头中添加一些参数。有人可以帮助我完成此任务吗?提前非常感谢您。
最佳答案
您可以通过向request-callback
注入<int-ws:outbound-gateway>
来实现:
public class AddHeaderWebServiceMessageCallback implements WebServiceMessageCallback {
public void doWithMessage(WebServiceMessage message) {
CommonsHttpConnection connection = (CommonsHttpConnection) context.getConnection();
PostMethod postMethod = connection.getPostMethod();
postMethod.addRequestHeader( "foo", "bar" );
}
}
或者...如果您需要对每个
requestMessage
进行动态分析,则应使用自定义SoapHeaderMapper
克服它。您可以从CommonsHttpConnection
提取TransportContextHolder.getTransportContext().getConnection()
的位置