我正在从事春季整合工作,以寻求肥皂服务。我可以使用出站网关成功调用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()的位置

09-11 19:12