[jboss-svn-commits] JBL Code SVN: r37448 - in labs/jbossesb/branches/JBESB_4_10_CP/product: services/soap/src/main/java/org/jboss/soa/esb/actions/soap/proxy and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Sep 1 14:51:42 EDT 2011
Author: kevin.conner at jboss.com
Date: 2011-09-01 14:51:42 -0400 (Thu, 01 Sep 2011)
New Revision: 37448
Modified:
labs/jbossesb/branches/JBESB_4_10_CP/product/rosetta/src/org/jboss/soa/esb/http/HttpContentTypeUtil.java
labs/jbossesb/branches/JBESB_4_10_CP/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/proxy/SOAPProxy.java
Log:
Handle content type: JBESB-3671
Modified: labs/jbossesb/branches/JBESB_4_10_CP/product/rosetta/src/org/jboss/soa/esb/http/HttpContentTypeUtil.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_10_CP/product/rosetta/src/org/jboss/soa/esb/http/HttpContentTypeUtil.java 2011-08-31 18:16:29 UTC (rev 37447)
+++ labs/jbossesb/branches/JBESB_4_10_CP/product/rosetta/src/org/jboss/soa/esb/http/HttpContentTypeUtil.java 2011-09-01 18:51:42 UTC (rev 37448)
@@ -20,6 +20,8 @@
package org.jboss.soa.esb.http;
import org.jboss.soa.esb.common.ModulePropertyManager;
+import org.jboss.soa.esb.message.Message;
+import org.jboss.soa.esb.message.Properties;
import java.util.regex.Pattern;
@@ -60,4 +62,30 @@
return false;
}
+
+ public static String getContentType(final Message message) {
+ final HttpRequest request = HttpRequest.getRequest(message) ;
+ if (request != null)
+ {
+ return request.getContentType() ;
+ }
+ else
+ {
+ final Properties properties = message.getProperties() ;
+ final String[] names = properties.getNames() ;
+ for (String name: names)
+ {
+ final String normalized = name.toLowerCase() ;
+ if ("content-type".equals(normalized))
+ {
+ final Object property = properties.getProperty(name) ;
+ if (property instanceof String)
+ {
+ return (String)property ;
+ }
+ }
+ }
+ return null ;
+ }
+ }
}
\ No newline at end of file
Modified: labs/jbossesb/branches/JBESB_4_10_CP/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/proxy/SOAPProxy.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_10_CP/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/proxy/SOAPProxy.java 2011-08-31 18:16:29 UTC (rev 37447)
+++ labs/jbossesb/branches/JBESB_4_10_CP/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/proxy/SOAPProxy.java 2011-09-01 18:51:42 UTC (rev 37448)
@@ -59,6 +59,7 @@
import org.jboss.soa.esb.actions.soap.attachment.MimeConstants;
import org.jboss.soa.esb.actions.soap.attachment.MultipartRelatedDecoder;
import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.http.HttpContentTypeUtil;
import org.jboss.soa.esb.http.HttpRequest;
import org.jboss.soa.esb.lifecycle.LifecycleResourceException;
import org.jboss.soa.esb.listeners.ListenerTagNames;
@@ -492,12 +493,16 @@
}
try
{
- ContentType content_type = new ContentType( HttpRequest.getRequest(message).getContentType() );
- if ( MimeConstants.TYPE_MULTIPART_RELATED.equalsIgnoreCase(content_type.getBaseType()) )
+ final String contentTypeVal = HttpContentTypeUtil.getContentType(message) ;
+ if (contentTypeVal != null)
{
- MultipartRelatedDecoder decoder = new MultipartRelatedDecoder(content_type);
- decoder.decodeMultipartRelatedMessage( is.getByteStream() );
- is = new InputSource( decoder.getRootPart().getRawContent() );
+ final ContentType content_type = new ContentType(contentTypeVal) ;
+ if ( MimeConstants.TYPE_MULTIPART_RELATED.equalsIgnoreCase(content_type.getBaseType()) )
+ {
+ MultipartRelatedDecoder decoder = new MultipartRelatedDecoder(content_type);
+ decoder.decodeMultipartRelatedMessage( is.getByteStream() );
+ is = new InputSource( decoder.getRootPart().getRawContent() );
+ }
}
}
catch (Exception e)
More information about the jboss-svn-commits
mailing list