Hi Olanga,
try skipping the SoapHeader creation and add the DOM element directly
into the Header list like msg.getHeaders().add(param1).
-- Ulhas Bhole
olanga henry wrote:
Hi all, this was so easy in XFire with the handlers. I am a bit struggling due to lack of clear examples. I am trying to write a simple
interceptor on the client side (am not clear on which abstractInterceptor to extend out of several available in cxf, so in this example I just
extended AbstractSoapInterceptor) so that I can send some parameters in the soap headers. Here is what I did:public class AddHeaderInterceptor
extends AbstractSoapInterceptor { public AddHeaderInterceptor() { super(Phase.WRITE); } public void handleMessage(SoapMessage msg)
throws SoapFault { Document d = DOMUtils.createDocument(); Element param1 = d.createElement("my_param1");
param1.setTextContent("my param1"); SoapHeader sh_param1 = new SoapHeader(new QName("http://spring.demo",
"HelloWorldImplPort"), param1); msg.getHeaders().add( sh_param1 ); }}Then I attached the interceptor to the factory in the actual
client code: JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); factory.setServiceClass( HelloWorld.class
); factory.setAddress( "http://wsdev.adestagroup.com/services/HelloWorld" );
factory.getOutInterceptors().add(new AddHeaderInterceptor()); //<<------------------- HelloWorld client = (HelloWorld)
factory.create(); System.out.println( client.sayHi("test") );But I can't seem to intercept the headers
at the server side. What am I doing wrong here?Highly appreciate any help. Thanks
_________________________________________________________________
Make i'm yours. Create a custom banner to support your cause.
http://im.live.com/Messenger/IM/Contribute/Default.aspx?source=TXT_TAGHM_MSN_Make_IM_Yours
----------------------------
IONA Technologies PLC (registered in Ireland)
Registered Number: 171387
Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland