[jboss-svn-commits] JBL Code SVN: r38427 - labs/jbossesb/trunk/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Oct 25 08:03:23 EDT 2013


Author: tadayosi
Date: 2013-10-25 08:03:22 -0400 (Fri, 25 Oct 2013)
New Revision: 38427

Modified:
   labs/jbossesb/trunk/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SOAPProcessor.java
Log:
JBESB-3954
Made SOAPProcessor check HttpRequest for collecting HTTP headers.

Modified: labs/jbossesb/trunk/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SOAPProcessor.java
===================================================================
--- labs/jbossesb/trunk/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SOAPProcessor.java	2013-10-15 16:49:18 UTC (rev 38426)
+++ labs/jbossesb/trunk/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SOAPProcessor.java	2013-10-25 12:03:22 UTC (rev 38427)
@@ -23,15 +23,17 @@
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 import javax.servlet.ServletContext;
 
 import org.jboss.internal.soa.esb.publish.Publish;
 import org.jboss.internal.soa.esb.util.JBossDeployerUtil;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
 import org.jboss.soa.esb.ConfigurationException;
 import org.jboss.soa.esb.actions.AbstractActionPipelineProcessor;
 import org.jboss.soa.esb.actions.ActionProcessingException;
@@ -41,6 +43,8 @@
 import org.jboss.soa.esb.actions.soap.adapter.SOAPProcessorHttpServletRequest;
 import org.jboss.soa.esb.actions.soap.adapter.SOAPProcessorHttpServletResponse;
 import org.jboss.soa.esb.helpers.ConfigTree;
+import org.jboss.soa.esb.http.HttpHeader;
+import org.jboss.soa.esb.http.HttpRequest;
 import org.jboss.soa.esb.listeners.message.MessageDeliverException;
 import org.jboss.soa.esb.message.Message;
 import org.jboss.soa.esb.message.MessagePayloadProxy;
@@ -48,7 +52,6 @@
 import org.jboss.soa.esb.message.ResponseHeader;
 import org.jboss.soa.esb.message.ResponseStatus;
 import org.jboss.soa.esb.message.body.content.BytesBody;
-import org.jboss.wsf.spi.deployment.Deployment;
 import org.jboss.wsf.spi.deployment.Endpoint;
 import org.jboss.wsf.spi.invocation.EndpointAssociation;
 import org.jboss.wsf.spi.invocation.RequestHandler;
@@ -144,11 +147,21 @@
             RequestHandler requestHandler = endpoint.getRequestHandler();
 
             final Map<String, List<String>> headers = new HashMap<String, List<String>>() ;
+            final HttpRequest httpRequest = HttpRequest.getRequest(message);
             final Properties properties = message.getProperties() ;
-            final String[] names = properties.getNames() ;
+            final Set<String> names = getHeaderNames(httpRequest, properties);
             for(final String name: names)
             {
-                final Object value = properties.getProperty(name) ;
+                Object value = null;
+                if (httpRequest != null) {
+                    HttpHeader header = httpRequest.getHeader(name);
+                    if (header != null) {
+                        value = header.getValue();
+                    }
+                }
+                if (value == null) {
+                    value = properties.getProperty(name);
+                }
                 if (value != null)
                 {
                     String normalisedName = name.toLowerCase() ;
@@ -273,6 +286,17 @@
         }
     }
 
+    private Set<String> getHeaderNames(HttpRequest httpRequest, Properties properties) {
+        Set<String> names = new HashSet<String>();
+        if (httpRequest != null) {
+            for (HttpHeader header : httpRequest.getHeaders()) {
+                names.add(header.getName());
+            }
+        }
+        names.addAll(Arrays.asList(properties.getNames()));
+        return names;
+    }
+
     private String getHeaderValue(final Map<String, List<String>> headers,
             final String header)
     {



More information about the jboss-svn-commits mailing list