this patch fix this issue. thanks, Amila.
On Tue, Nov 17, 2009 at 8:20 AM, Amila Suriarachchi < amilasuriarach...@gmail.com> wrote: > > > On Tue, Nov 17, 2009 at 12:49 AM, Andreas Veithen < > andreas.veit...@gmail.com> wrote: > >> On Mon, Nov 16, 2009 at 09:46, Amila Suriarachchi >> <amilasuriarach...@gmail.com> wrote: >> > hi, >> > >> > According to [1] (3.4.7) smtp headers should handle case independent >> maner. >> > >> > i.e. it should be able to process if a message comes with an >> 'in-reply-to' >> > header. >> >> What do you mean by "it"?? >> > > mail transport. (MailTransportListner) > > according to that spec[1] it is valid to receive 'In-Reply-To' header as > 'in-reply-to'. > this is true for any header. > but since mail transport put the header as it is to header map and get with > the specified > name, header should come as in the value specified in the constants file. > > thanks, > Amila. > > > [1] http://www.w3.org/Protocols/rfc822/ > >> >> > to do this I would like to change the header names to lower case before >> > adding to the map and >> > make all the constant field values to lower case. >> > >> > [1] http://www.w3.org/Protocols/rfc822/ >> > -- >> > Amila Suriarachchi >> > WSO2 Inc. >> > blog: http://amilachinthaka.blogspot.com/ >> > >> > > > > -- > Amila Suriarachchi > WSO2 Inc. > blog: http://amilachinthaka.blogspot.com/ > -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/
Index: modules/mail/src/main/java/org/apache/axis2/transport/mail/MailTransportSender.java =================================================================== --- modules/mail/src/main/java/org/apache/axis2/transport/mail/MailTransportSender.java (revision 880726) +++ modules/mail/src/main/java/org/apache/axis2/transport/mail/MailTransportSender.java (working copy) @@ -195,7 +195,7 @@ (msgContext.getProperty(org.apache.axis2.Constants.PIGGYBACK_MESSAGE) == null)) { return; } - + ConfigurationContext configContext = msgContext.getConfigurationContext(); // if the mail message listner has not started we need to start it if (!configContext.getListenerManager().isListenerRunning(MailConstants.TRANSPORT_NAME)) { Index: modules/mail/src/main/java/org/apache/axis2/transport/mail/MailTransportListener.java =================================================================== --- modules/mail/src/main/java/org/apache/axis2/transport/mail/MailTransportListener.java (revision 880726) +++ modules/mail/src/main/java/org/apache/axis2/transport/mail/MailTransportListener.java (working copy) @@ -567,7 +567,7 @@ while (e.hasMoreElements()) { Header h = (Header) e.nextElement(); if (entry.retainHeader(h.getName())) { - trpHeaders.put(h.getName(), h.getValue()); + trpHeaders.put(h.getName().toLowerCase(), h.getValue()); } } } catch (MessagingException ignore) {} Index: modules/base/src/main/java/org/apache/axis2/transport/base/BaseConstants.java =================================================================== --- modules/base/src/main/java/org/apache/axis2/transport/base/BaseConstants.java (revision 880726) +++ modules/base/src/main/java/org/apache/axis2/transport/base/BaseConstants.java (working copy) @@ -31,11 +31,11 @@ /** * A message property specifying the SOAP Action */ - public static final String SOAPACTION = "SOAPAction"; + public static final String SOAPACTION = "soapaction"; /** * A message property specifying the content type */ - public static final String CONTENT_TYPE = "Content-Type"; + public static final String CONTENT_TYPE = "content-type"; /** * A message context property indicating "TRUE", if a transport or the message builder * has information that the current message is a fault (e.g. SOAP faults, non-HTTP 2xx, etc) @@ -100,7 +100,7 @@ public static final int DEFAULT_POLL_INTERVAL = 5 * 60 * 1000; // 5 mins by default public static final String CALLBACK_TABLE = "callbackTable"; - public static final String HEADER_IN_REPLY_TO = "In-Reply-To"; + public static final String HEADER_IN_REPLY_TO = "in-reply-to"; // this is an property required by axis2 // FIXME: where is this required in Axis2?