Hi Sreekant,

  You're right.  AXIS has a problem on JAX-RPC handler impl.
Please see attached.  I think RC1 also doesn't cover it yet.
I reported it as "Major bug", but it seems that the bug isn't
a high priority problem on the list of active bugs.

Best Regards,

  Toshiyuki Kimura <[EMAIL PROTECTED]>
  R&D Headquarters
  NTT DATA Corporation

-----Original Message-----
From: Sreekant Thirunagari [mailto:[EMAIL PROTECTED]
Sent: Saturday, February 22, 2003 3:50 AM
To: [EMAIL PROTECTED]
Subject: Re: Handler chain implementation

Thanks for the response Ricky. I haven't tried throwing an exception, but i
guess then it would go into handleFault not handleResponse. I have looked at
your earlier posting "Handler Chain Limitations". According to jax-rpc spec
handlers return boolean response to chain invoker indicating the success or
failure of handler invocation unlike the AXIS implementation where it is
void
invoke(..) and the only way to get output from invoke is to throw exception.
Does this mean that AXIS doesn't follow JAX-RPC spec on handler chains? I
have a situation where i have to stick to jax-rpc interfaces and jax-rpc
does
provide control over handler chain flow which is an elegant way of handling
the scenario instead of throwing an exception

Regards,
Sreekant

Ricky Ho wrote:

> Few months ago, I run into the same issue when I try to implement a cache
> handler.  The answer I got back from Steve is the only way to stop the
> handler passing on the request is to throw an exception, in that case a
> SOAP Fault is send back to client.
>
> I guess this behavior is still the same now.
>
> Rgds, Ricky
>
> At 10:40 AM 2/21/2003 -0500, Sreekant Thirunagari wrote:
> >Hi all,
> >       I started studying axis recently and have done some work on it. I
> >am having problems with handler chain management. According to my
> >understanding of the jax-rpc spec we can block the handler chain flow at
> >
> >any point and return from that point provided that the appropriate
> >SoapMessageContext is provided. The runtime system should be responsible
> >
> >for invoking the response handlers.
> >      My problem is i have a chain of handlers and i need to block the
> >request flow at runtime on certain conditions evaluated in handleRequest
> >
> >method. Correct me if i am wrong.. according to my understanding if you
> >return a false from handleRequest request handler chain is blocked and
> >target service endpoint  should not be invoked.. and response handler
> >chain should start processing (should it start from the same handler
> >that returned false???). I see that axis does return from request
> >handler chain but it still invokes the target service endpoint and
> >starts the response chain as configured. Can any one please explain me
> >is this the expected behaviour, did i miss anything or is it a problem
> >with axis handler chain implementation.
> >
> >Regards,
> >Sreekant
--- Begin Message ---
Hello Sebastian,

> how can stop the process of invocation with the help of a handler?

  As you may know, AXIS has two implementations of "handler"; AXIS and
JAX-RPC. The easiest way what you want to do is JAX-RPC imp., I think.

  Because the JAX-RPC ver 1.0 specifies the sequence of HandlerChain
(includes stopping the HandlerChain and the target service endpoint).

  But, please note that the current version of AXIS (1.1 Beta) has a
bug related the way of using above. I've already posted it to Bugzilla
(the Apache bug database). 

 You can refer the detail of the bug at the following site:
 <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=15478>

  I hope this helps you. 

Best Regards,

  Toshiyuki Kimura <[EMAIL PROTECTED]>
  R&D Headquaters
  NTT DATA Corporation

--- End Message ---


Reply via email to