During InvocationResponse.ABORT processing, remove the incoming MessageContext
------------------------------------------------------------------------------

                 Key: AXIS2-3142
                 URL: https://issues.apache.org/jira/browse/AXIS2-3142
             Project: Axis 2.0 (Axis2)
          Issue Type: Bug
          Components: kernel
            Reporter: Rich Scheuerle
            Assignee: Rich Scheuerle
             Fix For: 1.4
         Attachments: patchAbort.txt

This problem and solution is from Ming Cheung of IBM.
The patch was refactored by Rich Scheuerle.

Problem:
If an incoming response is aborted, the incoming message is not valuable.
It should not be passed through to the consumer.  
Instead the message context should be removed, and the opereration context 
marked as incomplete.

Problem Scenario:
There is a service requestor (client) and a service provider (the server)
Client and server are communicating with one another with reliable messaging. 
The client sends a message to the server. 
Assume the reliable messaging engine on the server was temporarily halted on 
the server.
The client will receive back an aborted response with a message indicating "no 
reliable messaging engine available".
This message context should not be passed along to the client.  
Instead the proper solution is to remove the message context for this aborted 
message and mark the operation as not completed.
This will cause the client to timeout, which should trigger an appropriate 
resend.

Simple Solution:
1) Added OperationContext.removeMessageContext(String messageLable).
2) Changed AxisEngine to remove the incoming MessageContext if the message is 
aborted if the MEP is OUT_IN.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to