[jboss-svn-commits] JBL Code SVN: r27421 - labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Thu Jul 2 01:20:13 EDT 2009
Author: dward
Date: 2009-07-02 01:20:12 -0400 (Thu, 02 Jul 2009)
New Revision: 27421
Modified:
labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpMessageComposer.java
Log:
Fix for JBESB-2664.
Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpMessageComposer.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpMessageComposer.java 2009-07-02 05:08:54 UTC (rev 27420)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/HttpMessageComposer.java 2009-07-02 05:20:12 UTC (rev 27421)
@@ -20,17 +20,15 @@
package org.jboss.soa.esb.listeners.gateway;
import java.io.IOException;
+import java.io.UnsupportedEncodingException;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
-import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.apache.commons.beanutils.BeanUtils;
-import org.apache.tomcat.util.IntrospectionUtils;
import org.jboss.internal.soa.esb.util.StreamUtils;
import org.jboss.soa.esb.actions.ActionUtils;
import org.jboss.soa.esb.helpers.ConfigTree;
@@ -97,7 +95,7 @@
protected void populateMessage(Message message, T requestWrapper)
throws MessageDeliverException {
HttpServletRequest request = requestWrapper.getRequest();
- Map paraMap = request.getParameterMap();;
+ Map paraMap = request.getParameterMap();
byte[] bodyBytes = null;
try {
bodyBytes = StreamUtils.readStream(request.getInputStream());
@@ -108,9 +106,21 @@
//Set http request info
message.getProperties().setProperty(HTTP_REQUEST_INFO_MAP, getRequestInfo(request));
if (paraMap != null && paraMap.size() > 0) {
- message.getProperties().setProperty(this.HTTP_REQUEST_PARAMETER_MAP, paraMap);
+ message.getProperties().setProperty(HTTP_REQUEST_PARAMETER_MAP, paraMap);
}
- payloadProxy.setPayload(message, bodyBytes);
+ // https://jira.jboss.org/jira/browse/JBESB-2664
+ String contentType = request.getContentType();
+ if ( contentType != null && contentType.toLowerCase().startsWith("text/") ) {
+ String characterEncoding = request.getCharacterEncoding();
+ try {
+ String bodyString = new String(bodyBytes, characterEncoding);
+ payloadProxy.setPayload(message, bodyString);
+ } catch (UnsupportedEncodingException e) {
+ throw new IllegalStateException("Unexpected environmental exception: [" + characterEncoding + "] character encoding not supported.");
+ }
+ } else {
+ payloadProxy.setPayload(message, bodyBytes);
+ }
}
/*
More information about the jboss-svn-commits
mailing list