[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