[jboss-svn-commits] JBL Code SVN: r28898 - in labs/jbossesb/trunk/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
Tue Aug 11 06:32:03 EDT 2009


Author: kevin.conner at jboss.com
Date: 2009-08-11 06:32:03 -0400 (Tue, 11 Aug 2009)
New Revision: 28898

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

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/webservice/ESBResponseFilter.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/webservice/ESBResponseFilter.java	2009-08-11 06:29:38 UTC (rev 28897)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/webservice/ESBResponseFilter.java	2009-08-11 10:32:03 UTC (rev 28898)
@@ -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/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/JBoss4ESBDeployer.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/JBoss4ESBDeployer.java	2009-08-11 06:29:38 UTC (rev 28897)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/soa/esb/listeners/config/JBoss4ESBDeployer.java	2009-08-11 10:32:03 UTC (rev 28898)
@@ -500,7 +500,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