[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