Hi,
when Axis2 receives an RM request with an AckRequested header block, the
AckRequestedProcessor.processAckRequestedHeader invokes the AxisEngine.send()
and then tries to set setResponseWritten(true), but here comes the problem, as
it doesn't find the RequestResponseTransport, so it cannot put
setResponseWritten to true, and later on the SequenceProcessor wrongly thinks
that the AckResp has not been sent and sends it again the AckResp doing
sendAckNow()
, throwing an:
org.apache.axis2.AxisFault: Sandesha2 got an exception when processing an in
message: java.lang.IllegalStateException: Response already committed.
I think that the problem is that normally the "In" MessageContext inside
RequestResponseTransport is set after the Dispatch phase (specificaly in
checkPostConditions), but the AckRequestedProcessor handler is executed
*before* finishing the Dispatch phase, so the "in" MessageContext has not been
set yet.
Has any faced this before? Is this a BUG?
Thanks for any help,
Best
/Enric
______________________________________________
¿Con Mascota por primera vez? Sé un mejor Amigo. Entra en Yahoo! Respuestas
http://es.answers.yahoo.com/info/welcome
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]