You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Enric Jaen <en...@yahoo.es> on 2008/04/09 11:45:48 UTC

possible bug in Sandesha with AckRequested response ?

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: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org