[ 
https://issues.apache.org/jira/browse/OFBIZ-3988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12934296#action_12934296
 ] 

Jacques Le Roux commented on OFBIZ-3988:
----------------------------------------

Sorry Sascha,

I still don't get your point. Because if I apply your patch I still get 2 calls 
to the event

For instance here are the 2 tasks (1st call, 2d call from the same request) 
shown above but this time with the patch applied

Daemon Thread [http-0.0.0.0-28443-6] (Suspended (breakpoint at line 106 in 
org.ofbiz.ecommerce.misc.ThirdPartyEvents))  
        
org.ofbiz.ecommerce.misc.ThirdPartyEvents.updateAssociatedDistributor(javax.servlet.http.HttpServletRequest,
 javax.servlet.http.HttpServletResponse) line: 106  
        
org.ofbiz.ecommerce.misc.ThirdPartyEvents.setAssociationId(javax.servlet.http.HttpServletRequest,
 javax.servlet.http.HttpServletResponse) line: 90      
        sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method, 
java.lang.Object, java.lang.Object[]) line: not available [native method]       
 
        sun.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object, 
java.lang.Object[]) line: not available   
        sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, 
java.lang.Object[]) line: not available       
        java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object...) 
line: not available      
        org.ofbiz.webapp.event.JavaEventHandler.invoke(java.lang.String, 
java.lang.String, java.lang.Class<?>, java.lang.Class<?>[], java.lang.Object[]) 
line: 92       
        
org.ofbiz.webapp.event.JavaEventHandler.invoke(org.ofbiz.webapp.control.ConfigXMLReader$Event,
 org.ofbiz.webapp.control.ConfigXMLReader$RequestMap, 
javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) 
line: 78     
        
org.ofbiz.webapp.control.RequestHandler.runEvent(javax.servlet.http.HttpServletRequest,
 javax.servlet.http.HttpServletResponse, 
org.ofbiz.webapp.control.ConfigXMLReader$Event, 
org.ofbiz.webapp.control.ConfigXMLReader$RequestMap, java.lang.String) line: 
635        
        
org.ofbiz.webapp.control.RequestHandler.doRequest(javax.servlet.http.HttpServletRequest,
 javax.servlet.http.HttpServletResponse, java.lang.String, 
org.ofbiz.entity.GenericValue, org.ofbiz.entity.Delegator) line: 299 
        
org.ofbiz.webapp.control.ControlServlet.doGet(javax.servlet.http.HttpServletRequest,
 javax.servlet.http.HttpServletResponse) line: 230  
        
org.ofbiz.webapp.control.ControlServlet(javax.servlet.http.HttpServlet).service(javax.servlet.http.HttpServletRequest,
 javax.servlet.http.HttpServletResponse) line: 617        
        
org.ofbiz.webapp.control.ControlServlet(javax.servlet.http.HttpServlet).service(javax.servlet.ServletRequest,
 javax.servlet.ServletResponse) line: 717  
        
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(javax.servlet.ServletRequest,
 javax.servlet.ServletResponse) line: 290 
        
org.apache.catalina.core.ApplicationFilterChain.doFilter(javax.servlet.ServletRequest,
 javax.servlet.ServletResponse) line: 206 
        
org.ofbiz.webapp.control.ContextFilter.doFilter(javax.servlet.ServletRequest, 
javax.servlet.ServletResponse, javax.servlet.FilterChain) line: 332       
        
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(javax.servlet.ServletRequest,
 javax.servlet.ServletResponse) line: 235 
        
org.apache.catalina.core.ApplicationFilterChain.doFilter(javax.servlet.ServletRequest,
 javax.servlet.ServletResponse) line: 206 
        
org.apache.catalina.core.StandardWrapperValve.invoke(org.apache.catalina.connector.Request,
 org.apache.catalina.connector.Response) line: 233   
        
org.apache.catalina.core.StandardContextValve.invoke(org.apache.catalina.connector.Request,
 org.apache.catalina.connector.Response) line: 191   
        
org.apache.catalina.core.StandardHostValve.invoke(org.apache.catalina.connector.Request,
 org.apache.catalina.connector.Response) line: 127      
        
org.apache.catalina.valves.ErrorReportValve.invoke(org.apache.catalina.connector.Request,
 org.apache.catalina.connector.Response) line: 102     
        
org.apache.catalina.core.StandardEngineValve.invoke(org.apache.catalina.connector.Request,
 org.apache.catalina.connector.Response) line: 109    
        
org.apache.catalina.valves.AccessLogValve.invoke(org.apache.catalina.connector.Request,
 org.apache.catalina.connector.Response) line: 555       
        
org.apache.catalina.connector.CoyoteAdapter.service(org.apache.coyote.Request, 
org.apache.coyote.Response) line: 298    
        org.apache.coyote.http11.Http11Processor.process(java.net.Socket) line: 
857     
        
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(java.net.Socket)
 line: 588      
        org.apache.tomcat.util.net.JIoEndpoint$Worker.run() line: 489   
        java.lang.Thread.run() line: not available      


Daemon Thread [http-0.0.0.0-28443-6] (Suspended (breakpoint at line 106 in 
org.ofbiz.ecommerce.misc.ThirdPartyEvents))  
        
org.ofbiz.ecommerce.misc.ThirdPartyEvents.updateAssociatedDistributor(javax.servlet.http.HttpServletRequest,
 javax.servlet.http.HttpServletResponse) line: 106  
        
org.ofbiz.ecommerce.misc.ThirdPartyEvents.setAssociationId(javax.servlet.http.HttpServletRequest,
 javax.servlet.http.HttpServletResponse) line: 90      
        sun.reflect.NativeMethodAccessorImpl.invoke0(java.lang.reflect.Method, 
java.lang.Object, java.lang.Object[]) line: not available [native method]       
 
        sun.reflect.NativeMethodAccessorImpl.invoke(java.lang.Object, 
java.lang.Object[]) line: not available   
        sun.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, 
java.lang.Object[]) line: not available       
        java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object...) 
line: not available      
        org.ofbiz.webapp.event.JavaEventHandler.invoke(java.lang.String, 
java.lang.String, java.lang.Class<?>, java.lang.Class<?>[], java.lang.Object[]) 
line: 92       
        
org.ofbiz.webapp.event.JavaEventHandler.invoke(org.ofbiz.webapp.control.ConfigXMLReader$Event,
 org.ofbiz.webapp.control.ConfigXMLReader$RequestMap, 
javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) 
line: 78     
        
org.ofbiz.webapp.control.RequestHandler.runEvent(javax.servlet.http.HttpServletRequest,
 javax.servlet.http.HttpServletResponse, 
org.ofbiz.webapp.control.ConfigXMLReader$Event, 
org.ofbiz.webapp.control.ConfigXMLReader$RequestMap, java.lang.String) line: 
635        
        
org.ofbiz.webapp.control.RequestHandler.doRequest(javax.servlet.http.HttpServletRequest,
 javax.servlet.http.HttpServletResponse, java.lang.String, 
org.ofbiz.entity.GenericValue, org.ofbiz.entity.Delegator) line: 381 
        
org.ofbiz.webapp.control.ControlServlet.doGet(javax.servlet.http.HttpServletRequest,
 javax.servlet.http.HttpServletResponse) line: 230  
        
org.ofbiz.webapp.control.ControlServlet(javax.servlet.http.HttpServlet).service(javax.servlet.http.HttpServletRequest,
 javax.servlet.http.HttpServletResponse) line: 617        
        
org.ofbiz.webapp.control.ControlServlet(javax.servlet.http.HttpServlet).service(javax.servlet.ServletRequest,
 javax.servlet.ServletResponse) line: 717  
        
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(javax.servlet.ServletRequest,
 javax.servlet.ServletResponse) line: 290 
        
org.apache.catalina.core.ApplicationFilterChain.doFilter(javax.servlet.ServletRequest,
 javax.servlet.ServletResponse) line: 206 
        
org.ofbiz.webapp.control.ContextFilter.doFilter(javax.servlet.ServletRequest, 
javax.servlet.ServletResponse, javax.servlet.FilterChain) line: 332       
        
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(javax.servlet.ServletRequest,
 javax.servlet.ServletResponse) line: 235 
        
org.apache.catalina.core.ApplicationFilterChain.doFilter(javax.servlet.ServletRequest,
 javax.servlet.ServletResponse) line: 206 
        
org.apache.catalina.core.StandardWrapperValve.invoke(org.apache.catalina.connector.Request,
 org.apache.catalina.connector.Response) line: 233   
        
org.apache.catalina.core.StandardContextValve.invoke(org.apache.catalina.connector.Request,
 org.apache.catalina.connector.Response) line: 191   
        
org.apache.catalina.core.StandardHostValve.invoke(org.apache.catalina.connector.Request,
 org.apache.catalina.connector.Response) line: 127      
        
org.apache.catalina.valves.ErrorReportValve.invoke(org.apache.catalina.connector.Request,
 org.apache.catalina.connector.Response) line: 102     
        
org.apache.catalina.core.StandardEngineValve.invoke(org.apache.catalina.connector.Request,
 org.apache.catalina.connector.Response) line: 109    
        
org.apache.catalina.valves.AccessLogValve.invoke(org.apache.catalina.connector.Request,
 org.apache.catalina.connector.Response) line: 555       
        
org.apache.catalina.connector.CoyoteAdapter.service(org.apache.coyote.Request, 
org.apache.coyote.Response) line: 298    
        org.apache.coyote.http11.Http11Processor.process(java.net.Socket) line: 
857     
        
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(java.net.Socket)
 line: 588      
        org.apache.tomcat.util.net.JIoEndpoint$Worker.run() line: 489   
        java.lang.Thread.run() line: not available      


As you can see the only difference are these lines
org.ofbiz.webapp.control.RequestHandler.doRequest(javax.servlet.http.HttpServletRequest,
 javax.servlet.http.HttpServletResponse, java.lang.String, 
org.ofbiz.entity.GenericValue, org.ofbiz.entity.Delegator) line: 299 
org.ofbiz.webapp.control.RequestHandler.doRequest(javax.servlet.http.HttpServletRequest,
 javax.servlet.http.HttpServletResponse, java.lang.String, 
org.ofbiz.entity.GenericValue, org.ofbiz.entity.Delegator) line: 381

But still 2 calls to the event. I did not digg further

> Redirect from Http to Https causes double service call
> ------------------------------------------------------
>
>                 Key: OFBIZ-3988
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-3988
>             Project: OFBiz
>          Issue Type: Bug
>          Components: ALL COMPONENTS
>    Affects Versions: SVN trunk
>            Reporter: Sascha Rodekamp
>             Fix For: SVN trunk
>
>         Attachments: OFBIZ-3988_RequestHandler.java.patch
>
>
> Hi guys,
> little patch a big effect :)
> The problem is, when you call a request over http, but the controller wants 
> an https request, the RequestHandler make an redirect to https (which is 
> indeed pretty cool). But this redirect causes that Events/ Services will be 
> called twice.
> This can be avoided when we return from the Service/ Event directly after 
> doing the redirect.
> Have a good day
> Sascha

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to