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]