Hi,

My use case: I am calling a webservice using int-ws:outbound-gateway, which uses the interceptor to encrypt the request payload before posting to server, when the response returned by gateway in reply channel i don't see the header value, which i have set before calling the gateway.

Ideally it should be present once the control comes back to reply channel.

code snippet.

<int:header-enricher input-channel="input.channel" output-channel="ws.input.channel">
<int:header name="my.header" value="12345"></int:header>
</int:header-enricher>

<int-ws:outbound-gateway id="ws.input.channel.gateway"
request-channel="ws.input.channel" reply-channel="ws.reply.channel"
ignore-empty-responses="true" message-sender="my.ws.message.sender"
interceptors="wsSecurityInterceptor" uri="http://localhost:8080/my-context/my-endpoint">
</int-ws:outbound-gateway>

<bean id="my.ws.message.sender"
class="org.springframework.ws.transport.http.Commo nsHttpMessageSender">
<property name="readTimeout" value="1200" />
<property name="credentials">
<bean class="org.apache.commons.httpclient.UsernamePassw ordCredentials">
<constructor-arg index="0" value="myusername" />
<constructor-arg index="1" value="mypassword" />
</bean>
</property>
</bean>

<bean id="wsSecurityInterceptor"
class="org.springframework.ws.soap.security.xwss.X wsSecurityInterceptor">
<property name="policyConfiguration" value="classpath:mysecuritypolicy.xml" />
<property name="callbackHandlers">
<list>
<ref bean="mykeyStoreHandler" />
</list>
</property>
</bean>

<int:transfermor input-channel="ws.reply.channel" output-channel="transformer.channel.out" expression="headers['my.header']"/>

<int:logging-channel-adapter channel="transformer.channel.out" />

see the log it returns the null.