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 di...@apache.org on 2007/03/16 02:56:17 UTC
svn commit: r518834 - in
/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail:
EMailSender.java MailBasedOutTransportInfo.java MailTransportSender.java
SimpleMailListener.java
Author: dims
Date: Thu Mar 15 18:56:15 2007
New Revision: 518834
URL: http://svn.apache.org/viewvc?view=rev&rev=518834
Log:
Fix for AXIS2-2315 - Mail transport handling of MIME Message-Id / In-Reply-To
Added:
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/MailBasedOutTransportInfo.java
Modified:
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/EMailSender.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/MailTransportSender.java
webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/EMailSender.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/EMailSender.java?view=diff&rev=518834&r1=518833&r2=518834
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/EMailSender.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/EMailSender.java Thu Mar 15 18:56:15 2007
@@ -50,6 +50,7 @@
private MessageContext messageContext;
private PasswordAuthentication passwordAuthentication;
private OutputStream outputStream;
+ private String inReplyTo;
static {
//Initializing the proper mime types
@@ -106,6 +107,10 @@
msg.setHeader("X-Service-Path", "\"" + mailToInfo.getContentDescription() + "\"");
}
+ if( inReplyTo != null ) {
+ msg.setHeader("In-Reply-To", inReplyTo);
+ }
+
createMailMimeMessage(msg, mailToInfo, format);
Transport.send(msg);
} catch (AddressException e) {
@@ -165,4 +170,7 @@
}
+ public void setInReplyTo(String inReplyTo) {
+ this.inReplyTo = inReplyTo;
+ }
}
Added: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/MailBasedOutTransportInfo.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/MailBasedOutTransportInfo.java?view=auto&rev=518834
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/MailBasedOutTransportInfo.java (added)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/MailBasedOutTransportInfo.java Thu Mar 15 18:56:15 2007
@@ -0,0 +1,37 @@
+/*
+* Copyright 2004,2005 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*/
+
+
+package org.apache.axis2.transport.mail;
+
+import org.apache.axis2.transport.OutTransportInfo;
+
+public class MailBasedOutTransportInfo implements OutTransportInfo {
+ protected String contentType;
+ protected String inReplyTo;
+
+ public void setContentType(String contentType) {
+ this.contentType = contentType;
+ }
+
+ public void setInReplyTo(String messageId) {
+ this.inReplyTo = messageId;
+ }
+
+ public String getInReplyTo() {
+ return this.inReplyTo;
+ }
+}
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/MailTransportSender.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/MailTransportSender.java?view=diff&rev=518834&r1=518833&r2=518834
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/MailTransportSender.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/MailTransportSender.java Thu Mar 15 18:56:15 2007
@@ -28,6 +28,7 @@
import org.apache.axis2.handlers.AbstractHandler;
import org.apache.axis2.i18n.Messages;
import org.apache.axis2.transport.MessageFormatter;
+import org.apache.axis2.transport.OutTransportInfo;
import org.apache.axis2.transport.TransportSender;
import org.apache.axis2.transport.TransportUtils;
import org.apache.axis2.transport.http.HTTPTransportUtils;
@@ -203,6 +204,15 @@
format.setCharSetEncoding(charSet);
parseMailToAddress(msgContext.getTo());
+
+ // Check if msg is 'In-Reply-To' received message
+ OutTransportInfo transportInfo = (OutTransportInfo) msgContext.getProperty(org.apache.axis2.Constants.OUT_TRANSPORT_INFO);
+
+ if (transportInfo != null && transportInfo instanceof MailBasedOutTransportInfo) {
+ MailBasedOutTransportInfo mailTransportInfo = (MailBasedOutTransportInfo) transportInfo;
+
+ sender.setInReplyTo( mailTransportInfo.getInReplyTo() );
+ }
sender.send(mailToInfo, format);
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java?view=diff&rev=518834&r1=518833&r2=518834
==============================================================================
--- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java (original)
+++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/SimpleMailListener.java Thu Mar 15 18:56:15 2007
@@ -282,6 +282,14 @@
msgContext.setFrom(new EndpointReference((msg.getFrom()[0]).toString()));
}
+ // Save Message-Id to set as In-Reply-To on reply
+ String smtpMessageId = msg.getMessageID();
+ if( smtpMessageId != null ) {
+ MailBasedOutTransportInfo transportInfo = new MailBasedOutTransportInfo();
+ transportInfo.setInReplyTo( smtpMessageId );
+ msgContext.setProperty( org.apache.axis2.Constants.OUT_TRANSPORT_INFO, transportInfo ) ;
+ }
+
buildSOAPEnvelope(msg, msgContext);
}
return msgContext;
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org