Can you add the Logging interceptors to the server side to see if the 
headers are even making it there..

The client side interceptor is probably running too late and thus the 
headers aren't being written.   I think super(Phase.WRITE) is too late.  
Try moving that to Phase.USER_LOGICAL.   

Dan


On Wednesday 23 April 2008, olanga henry wrote:
> Dan: I am afraid that I am still not seeing any headers on the server
> side even after I tried sending the Header the way you suggested.
>
> I am using the following interceptor (as I found from the discussion
> threads) in the server side applied to JAX-WS HelloWorld service:
>
> public class MySoapInterceptor extends AbstractSoapInterceptor {
>
>     public MySoapInterceptor() {         super(Phase.UNMARSHAL);    }
>
>   public void handleMessage(SoapMessage msg) throws SoapFault {
>   System.out.println("Interceptor " + this.getPhase());
>   List<Header> lista = msg.getHeaders();    for (Header h : lista) {  
>    Element el = (Element) h.getObject();           
> System.out.println("Header XML :");      XMLUtils.printDOM(el);       
>            Node node = DOMUtils.getChild(el, null);     
> printNode(node); while ( ((node = DOMUtils.getNext(node, null,
> node.getNodeType()) ) != null) ) {          printNode(node);      }  }
> }
>
>  public void printNode(Node node) {    System.out.println("Node : "); 
>        System.out.println(node.getNodeName()); 
> System.out.println("Node value : "); 
> System.out.println(DOMUtils.getContent(node)); } }
>
>
> and here is my service config:
>
>
>         <bean id="hello" class="demo.spring.HelloWorldImpl" />       
> <jaxws:endpoint           id="helloWorld"          
> implementor="#hello"           address="/services/HelloWorld" >       
>             <jaxws:inInterceptors>                <ref
> bean="myInterceptor" />          </jaxws:inInterceptors>              
>    </jaxws:endpoint>Thank you.
>
> > From: [EMAIL PROTECTED]> To: [email protected]> Subject:
> > Re: client interceptor to send parameters with headers> Date: Wed,
> > 23 Apr 2008 13:00:24 -0400> CC: [EMAIL PROTECTED]> > On Wednesday 23
> > April 2008, sudip shrestha wrote:> > Ulhas:> >> > *In the method:
> > public java.util.List<Header> >
> > <http://incubator.apache.org/cxf/javadoc/latest/org/apache/cxf/heade
> >rs> >/Header.html>> **getHeaders()> >> > **as the list has the type
> > of Header, the add method does not accept> > org.w3c.dom.Element as
> > the parameter.> > Just do "new Header(> new
> > QName(el.getNamespaceURI(),> el.getLocalName()),> el)"> > That
> > should be it.> > Dan> > > > > >> > Thanks> > *> >> > On Wed, Apr 23,
> > 2008 at 10:53 AM, Ulhas Bhole <[EMAIL PROTECTED]> > wrote:> > >
> > 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> > > > --
> > > J. Daniel Kulp> Principal Engineer, IONA> [EMAIL PROTECTED]>
> > http://www.dankulp.com/blog
>
> _________________________________________________________________
> Spell a grand slam in this game where word skill meets World Series.
> Get in the game.
> http://club.live.com/word_slugger.aspx?icid=word_slugger_wlhm_admod_ap
>ril08



-- 
J. Daniel Kulp
Principal Engineer, IONA
[EMAIL PROTECTED]
http://www.dankulp.com/blog

Reply via email to