Author: saminda Date: Tue Jan 8 23:49:07 2008 New Revision: 610293 URL: http://svn.apache.org/viewvc?rev=610293&view=rev Log: If ReplyTo header is not available, the return path is obtained from "From". But "Return-path" header is the one that trase the return path. Thus, if "From" is not available, mail senders will fall back to "Return-path" header to comple the MEP.
Modified: webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/Constants.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/Constants.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/Constants.java?rev=610293&r1=610292&r2=610293&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/Constants.java (original) +++ webservices/axis2/trunk/java/modules/kernel/src/org/apache/axis2/transport/mail/Constants.java Tue Jan 8 23:49:07 2008 @@ -82,6 +82,7 @@ public static final String X_SERVICE_PATH = "X-Service-Path"; public static final String MAIL_SYNC = "_MAIL_SYNC_"; public static final String IN_REPLY_TO = "In-Reply-To"; + public static final String RETURN_PATH = "Return-path"; public static final String MAILTO = "mailto"; public static final String MAPPING_TABLE = "mappingTable"; public static final String CALLBACK_TABLE = "callbackTable"; 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?rev=610293&r1=610292&r2=610293&view=diff ============================================================================== --- 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 Tue Jan 8 23:49:07 2008 @@ -343,6 +343,15 @@ org.apache.axis2.transport.mail.Constants.MAILTO + ":" + msg.getFrom()[0].toString()); transportInfo.setFrom(fromEPR); + } else { + String returnPath = + getMailHeader(msg, org.apache.axis2.transport.mail.Constants.RETURN_PATH); + returnPath = parseHeaderForLessThan(returnPath); + if (returnPath != null) { + EndpointReference fromEPR = new EndpointReference( + org.apache.axis2.transport.mail.Constants.MAILTO + ":" + returnPath); + transportInfo.setFrom(fromEPR); + } } // Save Message-Id to set as In-Reply-To on reply @@ -488,6 +497,15 @@ } catch (MessagingException e) { throw new AxisFault(e.getMessage(),e); } + } + + private String parseHeaderForLessThan(String value) { + if (value != null) { + if (value.length() > 1 && value.startsWith("<") && value.endsWith(">")) { + value = value.substring(1, value.length()-1); + } + } + return value; } private String parseHeaderForQuotes(String value) { --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]