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]

Reply via email to