[
https://issues.apache.org/jira/browse/SYNAPSE-493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12659189#action_12659189
]
Amila Chinthaka Suriarachchi commented on SYNAPSE-493:
------------------------------------------------------
I went through the doc and found this,
/**
* Pause execution and wait for a response message to be ready. This will
* typically be called by the transport after a message has been paused and
* will cause the transport to block until a response message is ready to be
* returned. This is required to enable RM for in-out MEPs over a
* request/response transport; without it the message would be paused and
the
* transport would simply ack the request.
*
* @throws InterruptedException
*/
public void awaitResponse() throws InterruptedException, AxisFault;
This means the transport has to set the it to wait state if AxisEngine returns
a SUSPEND. But for Annonymous case the response message is send using the same
thread and it returns only after response message is sent.
Seems like a problem with sandesha2 and I'll send a note there.
> Synapse sets the HttpCoreRequestResponseTransport status value to INITIAL
> -------------------------------------------------------------------------
>
> Key: SYNAPSE-493
> URL: https://issues.apache.org/jira/browse/SYNAPSE-493
> Project: Synapse
> Issue Type: Bug
> Reporter: Amila Chinthaka Suriarachchi
> Attachments: patch.txt
>
>
> ServletRequestResponseTransport and SimpleHTTPRequestResponseTranspor set
> this value to WAITING.
> This gives a problem with sandesah2. Sandesha2 has this code.
> if((toEPR==null || toEPR.hasAnonymousAddress()) &&
> (makeConnection == null ||
> !makeConnection.booleanValue()) &&
> (t == null ||
> !t.getStatus().equals(RequestResponseTransportStatus.WAITING))) {
>
> // Mark this sender bean so that we know that
> the transport is unavailable, if the
> // bean is still stored.
> SenderBean bean =
> senderBeanMgr.retrieve(senderBean.getMessageID());
> if(bean != null && bean.isTransportAvailable())
> {
> bean.setTransportAvailable(false);
> senderBeanMgr.update(bean);
> }
>
> // Commit the update
> if(transaction != null &&
> transaction.isActive()) transaction.commit();
> transaction = null;
>
> if (log.isDebugEnabled())
> log.debug("Exit: SenderWorker::run, no
> response transport for anonymous message");
> return;
> }
> it does not send the response back if the status of the
> RequestResponseTransport is WAITING.
> Setting this initial value to WAITING makes the Sandesha2 works with the
> synapse.
> is it possible to change this initial value to WAITING?
--
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]