You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Davanum Srinivas (JIRA)" <ax...@ws.apache.org> on 2004/12/09 17:09:31 UTC

[jira] Reopened: (AXIS-1696) JAXRPC Handlers behavior different from server-side to client-side

     [ http://nagoya.apache.org/jira/browse/AXIS-1696?page=history ]
     
Davanum Srinivas reopened AXIS-1696:
------------------------------------

     Assign To: Davanum Srinivas

Guillaume,

My bad....I had by mistake set test.functional.fail=false in my build.properties and that masked the failure in test.wsdl.jaxrpchandler test case.

Next time, Can you let me know if you have run "ant clean all-tests" when you send a patch?

thanks,
dims

> JAXRPC Handlers behavior different from server-side to client-side
> ------------------------------------------------------------------
>
>          Key: AXIS-1696
>          URL: http://nagoya.apache.org/jira/browse/AXIS-1696
>      Project: Axis
>         Type: Bug
>   Components: Basic Architecture
>     Versions: 1.2RC2
>  Environment: JOnAS 4.2.0+
>     Reporter: Guillaume Sauthier
>     Assignee: Davanum Srinivas
>  Attachments: axis-jaxrpchandler-patch.txt, axis-jaxrpchandler-test-patch.txt
>
> 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
> http://cvs.apache.org/viewcvs.cgi/ws-axis/java/src/org/apache/axis/handlers/soap/SOAPService.java?rev=1.122&view=auto
> 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:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira