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 "Guillaume Sauthier (JIRA)" <ax...@ws.apache.org> on 2004/12/03 14:48:22 UTC

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

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


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


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

Posted by "Guillaume Sauthier (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXIS-1696?page=comments#action_56262 ]
     
Guillaume Sauthier commented on AXIS-1696:
------------------------------------------

pass ant clean compile all-tests

> 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
>  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


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

Posted by "Guillaume Sauthier (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXIS-1696?page=history ]

Guillaume Sauthier updated AXIS-1696:
-------------------------------------

    Attachment: axis-jaxrpchandler-patch.txt

java/src patch for AxisClient JAXRPC handlers usage
+ revert list of handlers for destroy()

> 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
>  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


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

Posted by "Davanum Srinivas (JIRA)" <ax...@ws.apache.org>.
     [ 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


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

Posted by "Davanum Srinivas (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXIS-1696?page=history ]
     
Davanum Srinivas resolved AXIS-1696:
------------------------------------

    Resolution: Fixed

Applied fix and test case.

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
>  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


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

Posted by "Guillaume Sauthier (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXIS-1696?page=comments#action_56455 ]
     
Guillaume Sauthier commented on AXIS-1696:
------------------------------------------

OK
I will always pass ant clean compile all-tests before providing patches.

> 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


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

Posted by "Davanum Srinivas (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXIS-1696?page=comments#action_56450 ]
     
Davanum Srinivas commented on AXIS-1696:
----------------------------------------

Guillaume,

just realized...the patch breaks test/wsdl/jaxrpchandler test case. Can you please send in a patch ASAP? 

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
>  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


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

Posted by "Davanum Srinivas (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXIS-1696?page=history ]
     
Davanum Srinivas resolved AXIS-1696:
------------------------------------

    Resolution: Fixed

fixed AxisClient to pass both test/jaxrpc and test/wsdl/jaxrpchandler

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


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

Posted by "Guillaume Sauthier (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXIS-1696?page=history ]

Guillaume Sauthier updated AXIS-1696:
-------------------------------------

    Attachment: axis-jaxrpchandler-test-patch.txt

tests

> 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
>  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


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

Posted by "Guillaume Sauthier (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXIS-1696?page=comments#action_56456 ]
     
Guillaume Sauthier commented on AXIS-1696:
------------------------------------------

My bad too, I did exactly the same thing as you, test.functionnal.fail was false :'(
I'm checking what going wrong in test.wsdl.jaxrpchandler

> 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