[ 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. |
Free forum by Nabble | Edit this page |