You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commons-dev@ws.apache.org by "Amila Chinthaka Suriarachchi (JIRA)" <ji...@apache.org> on 2009/03/31 10:35:52 UTC
[jira] Updated: (WSCOMMONS-456) Supporting SMTP transport for RM
[ https://issues.apache.org/jira/browse/WSCOMMONS-456?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Amila Chinthaka Suriarachchi updated WSCOMMONS-456:
---------------------------------------------------
Attachment: patch.txt
patch with the changes to SMTP transport
> Supporting SMTP transport for RM
> --------------------------------
>
> Key: WSCOMMONS-456
> URL: https://issues.apache.org/jira/browse/WSCOMMONS-456
> Project: WS-Commons
> Issue Type: Improvement
> Reporter: Amila Chinthaka Suriarachchi
> Attachments: patch.txt
>
>
> I recently had some tests for smtp RM support. With the following changes and couple of changes to Sandesha2 trunk I was able to make it working. Here are the smtp transport changes required.
> 1. removing using of same message ID for mail message.
> 2. Setting a RequestResponse transport object and set the status as wait.
> This is the same issue I saw in supporting synapse NIO transport as well.
> Sandesha2 SenderWorker.java 191 has the following code.
> if (t==null) {
> if (op != null)
> inMsg = op.getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
> if (inMsg != null)
> t = (RequestResponseTransport) inMsg.getProperty(RequestResponseTransport.TRANSPORT_CONTROL);
> }
> // If we are anonymous, and this is not a makeConnection, then we must have a transport waiting
> 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;
> }
> to send a response message this code assumes a RequestResponseTransport object and its state is waiting.
> So I had to add a new MailRequestResponseTransport class and set it to message context at the receiver.
> will attach the patch.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.