You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by de...@apache.org on 2007/05/15 14:29:40 UTC
svn commit: r538154 - in
/webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/mail:
Constants.java EMailSender.java SimpleMailListener.java
Author: deepal
Date: Tue May 15 05:29:39 2007
New Revision: 538154
URL: http://svn.apache.org/viewvc?view=rev&rev=538154
Log:
SMTP can work w.o addressing , modified SMTP to use transport level data to correlate request and the response
Modified:
webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/mail/Constants.java
webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/mail/EMailSender.java
webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java
Modified: webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/mail/Constants.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/mail/Constants.java?view=diff&rev=538154&r1=538153&r2=538154
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/mail/Constants.java (original)
+++ webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/mail/Constants.java Tue May 15 05:29:39 2007
@@ -80,4 +80,5 @@
public static final String MAIL_SYNC = "_MAIL_SYNC_";
public static final String IN_REPLY_TO = "In-Reply-To";
public static final String MAILTO = "mailto";
+ public static final String MAPPING_TABLE = "mappingTable";
}
Modified: webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/mail/EMailSender.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/mail/EMailSender.java?view=diff&rev=538154&r1=538153&r2=538154
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/mail/EMailSender.java (original)
+++ webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/mail/EMailSender.java Tue May 15 05:29:39 2007
@@ -48,6 +48,7 @@
import java.io.ByteArrayOutputStream;
import java.io.OutputStream;
import java.util.Properties;
+import java.util.Hashtable;
public class EMailSender {
private Properties properties;
@@ -229,15 +230,24 @@
}
private void sendReceive(MessageContext msgContext, String msgId) throws AxisFault {
+ storeMessageContext(msgContext,msgId);
Object obj = msgContext.getProperty(Constants.MAIL_SYNC);
if (obj == null) {
return;
}
-
Options options = msgContext.getOptions();
SynchronousMailListener listener =
new SynchronousMailListener(options.getTimeOutInMilliSeconds());
listener.sendReceive(msgContext, msgId);
+ }
+
+ private void storeMessageContext(MessageContext msgContext, String msgId){
+ Hashtable mappingTable = (Hashtable) msgContext.getConfigurationContext().
+ getProperty(Constants.MAPPING_TABLE);
+
+ if(mappingTable!=null){
+ mappingTable.put(msgId,msgContext.getMessageID());
+ }
}
}
Modified: webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java?view=diff&rev=538154&r1=538153&r2=538154
==============================================================================
--- webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java (original)
+++ webservices/axis2/branches/java/1_2/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java Tue May 15 05:29:39 2007
@@ -49,6 +49,7 @@
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Properties;
+import java.util.Hashtable;
/**
* This is the implementation for Mail Listener in Axis2. It has the full capability
@@ -165,7 +166,9 @@
receiver = new EmailReceiver();
receiver.setPop3Properties(pop3Properties);
receiver.setUrlName(urlName);
-
+ Hashtable mappingTable = new Hashtable();
+ configurationContext.setProperty(
+ org.apache.axis2.transport.mail.Constants.MAPPING_TABLE,mappingTable);
}
@@ -345,8 +348,25 @@
msgContext.setProperty(org.apache.axis2.Constants.OUT_TRANSPORT_INFO, transportInfo);
buildSOAPEnvelope(msg, msgContext);
+ fillMessageContextFromAvaiableData(msgContext,inReplyTo);
}
return msgContext;
+ }
+
+ private void fillMessageContextFromAvaiableData(MessageContext msgContext , String messageID){
+ Hashtable mappingTable = (Hashtable) msgContext.getConfigurationContext().
+ getProperty(org.apache.axis2.transport.mail.Constants.MAPPING_TABLE);
+
+ if(mappingTable!=null&&messageID!=null){
+ String messageConetextId= (String) mappingTable.get(messageID);
+ if(messageConetextId!=null){
+ OperationContext opContext = configurationContext.getOperationContext(messageConetextId);
+ if(opContext!=null){
+ msgContext.setOperationContext(opContext);
+ msgContext.setServiceContext(opContext.getServiceContext());
+ }
+ }
+ }
}
private void buildSOAPEnvelope(MimeMessage msg, MessageContext msgContext)
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org