303.5. SOAP ヘッダーの使用
Camel 2.11.1 から利用可能
spring-ws エンドポイントへメッセージを送信するときに SOAP ヘッダーを Camel Message ヘッダーとして提供できます。たとえば、以下の SOAP ヘッダーが String に指定されます。
String body = ... String soapHeader = "<h:Header xmlns:h=\"http://www.webserviceX.NET/\"><h:MessageID>1234567890</h:MessageID><h:Nested><h:NestedID>1111</h:NestedID></h:Nested></h:Header>";
String body = ...
String soapHeader = "<h:Header xmlns:h=\"http://www.webserviceX.NET/\"><h:MessageID>1234567890</h:MessageID><h:Nested><h:NestedID>1111</h:NestedID></h:Nested></h:Header>";
以下のように、Camel Message にボディーとヘッダーを設定できます。
exchange.getIn().setBody(body); exchange.getIn().setHeader(SpringWebserviceConstants.SPRING_WS_SOAP_HEADER, soapHeader);
exchange.getIn().setBody(body);
exchange.getIn().setHeader(SpringWebserviceConstants.SPRING_WS_SOAP_HEADER, soapHeader);
次に、Exchange を spring-ws
エンドポイントに送信し、Web サービスを呼び出します。
同様に、spring-ws コンシューマーも Camel Message を SOAP ヘッダーで補完します。
例は、この ユニットテスト を参照してください。