Hi!
You're right - the figures show very well why there are different orders on the client and the server for system-specific, global and transport- specific chains. But that wasn't the question :-)
The question was about what's not explained in the figures: why are the JAX-RPC handlers invoked between global and transport-specific chains on the client, while they are called between global and system-specific chain on the server.
Regards, Thilo
Christoph Tratter wrote:
Hi Thilo!
In the Axis Architecture Guide (http://ws.apache.org/axis/java/architecture-guide.html) the behaviour you describe is explained to be intended.
(Beside points 3 and 7, which are not explained).
Imho the figures show very well, why there's a different order of chains on server and client side.
cheers, Christoph
Thilo Frotscher wrote:
Hi!
Browsing the source code of Axis 1.2 alpha I found out, that the order in which handlers are called on the client side is as follows:
1) Service Specific Request Chain 2) Global Request Chain 3) JAX-RPC Handlers 4) Transport Specific Request Chain 5) Send SOAP message to service 6) Transport Specific Response Chain 7) JAX-RPC Handlers 8) Global Response Chain 9) Service specific Response Chain
Question: why are JAX-RPC handlers called between global chain and transport specific chain? Shouldn't they be called between service specific chain and global chain? After all, the JAX-RPC-handler chain is service specific and therefore configures inside a service configuration.
On the server side, the order is like I would have expected it:
1) Transport Specific Request Chain 2) Global Request Chain 3) JAX-RPC Handlers 4) Service Specific Request Chain 5) invoke web service 6) Service specific Response Chain 7) JAX-RPC Handlers 8) Global Response Chain 9) Transport Specific Response Chain
Is the behaviour on the client a bug?
Thanks, Thilo