I found the example....and i see how to create the handler.  Problem is with
my generated code the handler doesn't seemed to be used.  I went into
my auto-generated HelloServiceClient.java and when it creates the service0
object, I then do...

// i tried in handler and out handler, same results (none)
service0.addInHandler(new MyHandler());

class MyHandler extends AbstractHandler {
   public void invoke(MessageContext mc) {

             Element header = ctx.getInMessage().getHeader();
             System.out.println("HEADER: " + header);

   }
}

The "Book" example does things differently than my auto-generated code:

 HelloServiceClient service = new HelloServiceClient();
 HelloServiceSoap client = service.getHelloServiceSoap();
 Holder<UserInfo> holder = new Holder<UserInfo>();
 SayHelloResult result = client.sayHello("bob", holder);

The output from this does not show "HEADER: ...." , as though my handler is
never being called.

any ideas why?



On 4/28/07, craig w <[EMAIL PROTECTED]> wrote:

where can I find these?  I currently have
xfire-all-1.2-20070425.101013-38.jar and xfire-all-1.2.5.jar...but they
dont seem to have an examples folder in them.

thanks again!


On 4/28/07, Tomek Sztelak <[EMAIL PROTECTED]> wrote:
>
> Check book example and CheckVersionHandler .
>
> On 4/28/07, craig w < [EMAIL PROTECTED]> wrote:
> > anyone have an idea???
> >
> >
> >
> > On 4/27/07, craig w <[EMAIL PROTECTED]> wrote:
> > > ...things are very quiet...
> > >
> > >
> > >
> > > On 4/26/07, craig w <[EMAIL PROTECTED]> wrote:
> > > > Hi,
> > > >   I have the following WSDL2Java generated client code:
> > > >
> > > > public static void main(String[] args) {
> > > >     HelloServiceClient service = new HelloServiceClient();
> > > >     HelloServiceSoap client = service.getHelloServiceSoap ();
> > > >     Holder<UserInfo> holder = new Holder<UserInfo>();
> > > >     SayHelloResult result = client.sayHello("bob", holder);
> > > >     System.out.println("context: " + AbstractInvoker.getContext());
> > > > }
> > > >
> > > > This prints out null.
> > > >
> > > > In my HelloServiceClient I put a method to retrieve the
> > > > org.codehaus.xfire.service.Service object.  So in my
> > > > HelloServiceClient there is this line:
> > > >
> > > > service0 = asf.create ((blah.HelloServiceSoap.class), props);
> > > >
> > > > and I added:
> > > > service0.addInHandler(new ReadHeadersHandler());
> > > >
> > > > So in my "main" I put a print at the end, such as:
> > > >
> > > > for (Handler h : service.getService ().getInHandlers()) {
> > > >     System.out.println(h + ", " + h.getBefore() + ", " +
> h.getAfter ()
> > > > + ", " + h.getUnderstoodHeaders());
> > > > }
> > > >
> > > > each function call to the Handler "h" ( i.e. getBefore, getAfter,
> etc)
> > > > just returns null or an empty list (depending on what it should
> > > > return).  I even tried adding the ReadHeadersHandler to the
> > > > "OutHandlers" list of my client.  Still no luck.
> > > >
> > > > One last thing I tried was to add my own handler to the In and Out
> > > > handlers list.
> > > >
> > > > service.getService().addInHandler(new AbstractHandler() {
> > > >      public void invoke(MessageContext mc) {
> > > >              System.out.println("Message: " + mc);
> > > >      }
> > > > });
> > > >
> > > > This doesn't print anything.
> > > >
> > > > Any ideas???  The "sayHello" operation does return a soap envelope
>
> > > > which has a UserInfo header and a body.
> > > >
> > > > thanks
> > > >
> > >
> > >
> >
> >
>
>
> --
> -----
> When one of our products stops working, we'll blame another vendor
> within 24 hours.
>
> ---------------------------------------------------------------------
> To unsubscribe from this list please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>

Reply via email to