cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Yi Xiao <xiaoyijhondeve...@gmail.com>
Subject About the handler chain execution flow
Date Tue, 16 Oct 2012 03:15:40 GMT
Hi,

Recently, I've tested some handler cases , when I test the case that the
handler return *false*, *inbound*,* oneWay* at server side, the message's
execution flow in CXF is:

Server_SOAPHandler1_handleMessage_Inbound:
Server_SOAPHandler2_handleMessage_Inbound:
Server_LogicalHandler_handleMessage_Inbound:// The LogicalHandler return
false
Server_LogicalHandler_close:
Server_SOAPHandler2_close:
Server_SOAPHandler1_close:

I also test the same case in Axis2 and Glassfish3.1.2.2.

(1)The Axis2 result is:

Server_SOAPHandler1_handleMessage_Inbound:
Server_SOAPHandler2_handleMessage_Inbound:
Server_LogicalHandler_handleMessage_Inbound:// The LogicalHandler return
false
Server_LogicalHandler_close:
Server_SOAPHandler2_close:
Server_SOAPHandler1_close:
*Server_sendString: *// The message is from endpoint

*
*

(2)The Glassfish result is:

Server_SOAPHandler1_handleMessage_Inbound:
Server_SOAPHandler2_handleMessage_Inbound:
Server_LogicalHandler_handleMessage_Inbound:// The LogicalHandler return
false
*Server_sendString:  *// The message is from endpoint
Server_LogicalHandler_close:
 Server_SOAPHandler2_close:
Server_SOAPHandler1_close:


According to the jsr224 9.3.2.1,

Return false This indicates that normal message processing should cease.
Subsequent actions depend
on whether the message exchange pattern (MEP) in use requires a response to
the message currently
being processed or not:

*No response* Normal message processing stops, close is called on each
previously invoked handler
in the chain, the *message is dispatched* (see section 9.1.2.2).

I am not sure about the mean of "message is dispatched", the CXF dispatch
the message to client directly but the Glassfish and Axis2 send the message
to endpoint first.

The Three implementations have three behavior, it's really painful for
users to migrate their applications.

Could someone explain it? I will be very appreciated :) thank you very much.

-- 
Best regards!


                 John Xiao

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message