[jboss-svn-commits] JBL Code SVN: r38428 - labs/jbossesb/branches/JBESB_4_11_CP2/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 12:08:26 EDT 2013


Author: tcunning
Date: 2013-10-25 12:08:25 -0400 (Fri, 25 Oct 2013)
New Revision: 38428

Modified:
   labs/jbossesb/branches/JBESB_4_11_CP2/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SOAPProcessor.java
Log:
JBESB-3947
Read WSDL eagerly and resolve "target-host-url" from the endpoint address location
defined in it if it's a local file.



Modified: labs/jbossesb/branches/JBESB_4_11_CP2/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SOAPProcessor.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_11_CP2/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SOAPProcessor.java	2013-10-25 12:03:22 UTC (rev 38427)
+++ labs/jbossesb/branches/JBESB_4_11_CP2/product/services/soap/src/main/java/org/jboss/soa/esb/actions/soap/SOAPProcessor.java	2013-10-25 16:08:25 UTC (rev 38428)
@@ -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