You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@synapse.apache.org by ve...@apache.org on 2008/05/02 19:45:45 UTC
svn commit: r652844 -
/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/BaseUtils.java
Author: veithen
Date: Fri May 2 10:45:44 2008
New Revision: 652844
URL: http://svn.apache.org/viewvc?rev=652844&view=rev
Log:
SYNAPSE-260
Modified:
synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/BaseUtils.java
Modified: synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/BaseUtils.java
URL: http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/BaseUtils.java?rev=652844&r1=652843&r2=652844&view=diff
==============================================================================
--- synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/BaseUtils.java (original)
+++ synapse/trunk/java/modules/transports/src/main/java/org/apache/synapse/transport/base/BaseUtils.java Fri May 2 10:45:44 2008
@@ -28,6 +28,7 @@
import org.apache.axis2.transport.http.HTTPTransportUtils;
import org.apache.synapse.transport.vfs.PollTableEntry;
import org.apache.axis2.context.MessageContext;
+import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.axiom.soap.*;
@@ -43,6 +44,8 @@
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.attachments.ByteArrayDataSource;
+import javax.mail.internet.ContentType;
+import javax.mail.internet.ParseException;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
@@ -165,7 +168,13 @@
SOAPEnvelope envelope = null;
StAXBuilder builder = null;
- String charSetEnc = BuilderUtil.getCharSetEncoding(contentType);
+ String charSetEnc;
+ try {
+ charSetEnc = new ContentType(contentType).getParameter("charset");
+ } catch (ParseException ex) {
+ charSetEnc = null;
+ }
+
InputStream in = getInputStream(message);
// handle SOAP payloads when a correct content type is available
@@ -222,8 +231,8 @@
builder == null ? null :
builder.getDocument() == null ? null : builder.getDocument().getCharsetEncoding();
- if (charEncOfMessage != null &&
- !(charEncOfMessage.trim().length() == 0) &&
+ if (StringUtils.isNotBlank(charEncOfMessage) &&
+ StringUtils.isNotBlank(charSetEnc) &&
!charEncOfMessage.equalsIgnoreCase(charSetEnc)) {
handleException("Charset encoding of transport differs from that of the payload");
}