How do you set a custom HTTP header (not SOAP header) dynamically on the client side when using Spring-WS?
public class AddHttpHeaderInterceptor implements ClientInterceptor { public boolean handleFault(MessageContext messageContext) throws WebServiceClientException { return true; } public boolean handleRequest(MessageContext messageContext) throws WebServiceClientException { TransportContext context = TransportContextHolder.getTransportContext(); HttpComponentsConnection connection =(HttpComponentsConnection) context.getConnection(); connection.addRequestHeader("name", "suman"); return true; } public boolean handleResponse(MessageContext messageContext) throws WebServiceClientException { return true; } }
config:
<bean id="webServiceTemplate" class="org.springframework.ws.client.core.WebServiceTemplate"> ... <property name="interceptors"> <list> <bean class="com.blah.AddHttpHeaderInterceptor" /> </list> </property> </bean>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With