[jboss-svn-commits] JBL Code SVN: r28889 - in labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss: soa/esb/listeners/config and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Aug 10 09:08:45 EDT 2009


Author: kevin.conner at jboss.com
Date: 2009-08-10 09:08:44 -0400 (Mon, 10 Aug 2009)
New Revision: 28889

Modified:
   labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/webservice/ESBResponseFilter.java
   labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/config/JBoss4ESBDeployer.java
Log:
Fix filtering of one way services: JBESB-2434

Modified: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/webservice/ESBResponseFilter.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/webservice/ESBResponseFilter.java	2009-08-10 11:16:30 UTC (rev 28888)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/internal/soa/esb/webservice/ESBResponseFilter.java	2009-08-10 13:08:44 UTC (rev 28889)
@@ -22,6 +22,7 @@
 import org.jboss.internal.soa.esb.util.NullWriter;
 
 import javax.servlet.*;
+import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponseWrapper;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
@@ -34,15 +35,21 @@
  */
 public class ESBResponseFilter implements Filter {
 
-    private boolean isOneWay = false;
+    private static final String POST = "POST" ;
 
     public void init(FilterConfig filterConfig) throws ServletException {
-        String oneWayConfig = filterConfig.getInitParameter("OneWay");
-        isOneWay = "true".equalsIgnoreCase(oneWayConfig);
     }
 
     public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
-        if(isOneWay) {
+        final boolean filter ;
+        if (servletRequest instanceof HttpServletRequest) {
+            HttpServletRequest httpServletRequest = (HttpServletRequest)servletRequest ;
+            filter = POST.equals(httpServletRequest.getMethod()) ;
+        } else {
+            filter = false ;
+        }
+        
+        if (filter) {
             filterChain.doFilter(servletRequest, new OneWayResponseWrapper((HttpServletResponse) servletResponse));
             servletResponse.setContentType("text/xml");
             servletResponse.setContentLength(0);

Modified: labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/config/JBoss4ESBDeployer.java
===================================================================
--- labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/config/JBoss4ESBDeployer.java	2009-08-10 11:16:30 UTC (rev 28888)
+++ labs/jbossesb/branches/JBESB_4_4_GA_CP/product/rosetta/src/org/jboss/soa/esb/listeners/config/JBoss4ESBDeployer.java	2009-08-10 13:08:44 UTC (rev 28889)
@@ -501,7 +501,6 @@
                    
                    for(Service service: endpointServices)
                    {
-                       final MepType.Enum mep  = service.getActions().getMep() ;
                        final ESBServiceEndpointInfo serviceInfo = new ESBServiceEndpointInfo(service) ;
                        final String wsdl = ESBContractGenerator.generateWSDL(service, serviceInfo) ;
                        addFile(zos, serviceInfo.getWSDLFileName(), wsdl) ;
@@ -514,7 +513,7 @@
                        // Filter...
                        // At the moment we only need the filter to overcome a bug in JBossWS re In-Only endpoints, so
                        // we only include for one way services...
-                       if(mep == MepType.ONE_WAY) {                           
+                       if(serviceInfo.isOneWay()) {
                            String filterName = serviceInfo.getServletName() + "_Filter";
 
                            filterDefinitions.append("<filter><filter-name>") ;
@@ -522,7 +521,6 @@
                            filterDefinitions.append("</filter-name><filter-class>") ;
                            filterDefinitions.append(ESBResponseFilter.class.getName()) ;
                            filterDefinitions.append("</filter-class>") ;
-                           filterDefinitions.append("<init-param><param-name>OneWay</param-name><param-value>true</param-value></init-param>") ;
                            filterDefinitions.append("</filter>") ;
 
                            filterMappings.append("<filter-mapping><filter-name>") ;



More information about the jboss-svn-commits mailing list