axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Guillaume Sauthier (JIRA)" <>
Subject [jira] Created: (AXIS-1696) JAXRPC Handlers behavior different from server-side to client-side
Date Fri, 03 Dec 2004 13:48:22 GMT
JAXRPC Handlers behavior different from server-side to client-side

         Key: AXIS-1696
     Project: Axis
        Type: Bug
  Components: Basic Architecture  
    Versions: 1.2RC2    
 Environment: JOnAS 4.2.0+
    Reporter: Guillaume Sauthier

I have noticed that the behavior of JAXRPC handlers is different when invoking from client-side
compared to behavior when invoking from server-side.

1. handler flow is managed in a different way :
a) server : init(), request(), provider.invoke(), response(), destroy()
b) client : init(), request(), destroy(), service.invoke(), init(), response(), destroy()
-> Instanciation of the handlers (in a HandlerChain) is made twice in client model

2. the code is completely different on both sides :
see SOAPService.invoke(MessageContext) (around line 430) for server side
see AxisClient.invoke() and AxisClient.invokeJAXRPCHandlers()

in server case, we take care of the return value of the HandlerChain, use the same handlerChain
instance, manage eventual thrown Exceptions, ...
All sort of things that we don't do in client side.
IMO client side JAXRPCHandler usage is too simple :
invoke() calls invokeJAXRPCHandlers() in request flow AND response flow
invokeJAXRPCHandlers() instanciate a new handlerChain at each call, and never read return
values of handle* (BTW, notice that handlerFault is not called in client side !).

Can we refactor axis Client code to looks like more as SOAPService ? 

This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
If you want more information on JIRA, or have a bug to report see:

View raw message