Openbravo Issue Tracking System - Openbravo ERP
View Issue Details
0036192Openbravo ERPA. Platformpublic2017-06-07 13:582017-06-08 10:06
maite 
platform 
immediatemajoralways
closedinvalid 
5
 
 
Core
No
0036192: Not possible to overwrite the result of a callout from your own callout using a requestdispatcher an a decorator in Tomcat 7
Not possible to overwrite the result of a callout from your own callout using a requestdispatcher an a decorator in Tomcat 7
0. Install provided example modules and rebuild application
1. Create new Business Partner defined as Customer.
  1.1. Add Location filling "Region" field and with Tax Location=Yes.
  1.2. Add record in Contact tab
2. Access Goods Shipment window and create new record
3. Select Business Partner and realize that error

"Couldn't execute callout (class it.extrasys.italianspecificdata.goodsshipment.ui.callouts.IsdSL_InOut_BPartnerCallout)"

is raised
problem is that "dispatcher.include(request, msr);" executed DefaultServlet class instead of execute the callout (in that case SL_InOut_BPartner.java)
No tags attached.
related to defect 0029849 closed alostale Not possible to overwrite the result of a callout from your own callout using a requestdispatcher an a decorator 
caused by feature request 00341003.0PR17Q1 closed alostale Raise minimum stack requirements for PR17Q1 
has duplicate design defect 00323663.0PR16Q4 closed inigosanchez callout invocation ineficiencies 
related to design defect 0036067 closed markmm82 old callouts should be refactored to implement SimpleCallout 
related to defect 0035540 closed alostale Traceability Report does not work 
related to design defect 0032189 closed inigosanchez Make the callouts extensible 
related to defect 0036617 closed aferraz API change: functional callouts now implement SimpleCallout 
Issue History
2017-06-07 13:58maiteNew Issue
2017-06-07 13:58maiteAssigned To => platform
2017-06-07 13:58maiteModules => Core
2017-06-07 13:58maiteResolution time => 1498600800
2017-06-07 13:58maiteTriggers an Emergency Pack => No
2017-06-07 13:59maiteRelationship addedrelated to 0029849
2017-06-07 13:59maiteRelationship addedcaused by 0034100
2017-06-07 14:02maiteSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=15304#r15304
2017-06-07 14:04maiteSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=15305#r15305
2017-06-07 14:06maiteIssue Monitored: networkb
2017-06-08 09:31alostaleRelationship addedhas duplicate 0032366
2017-06-08 09:49alostaleRelationship addedrelated to 0036067
2017-06-08 10:00alostaleRelationship addedrelated to 0036009
2017-06-08 10:04alostaleRelationship deletedrelated to 0036009
2017-06-08 10:05alostaleRelationship addedrelated to 0035540
2017-06-08 10:06alostaleRelationship addedrelated to 0032189
2017-06-08 10:06alostaleNote Added: 0097201
2017-06-08 10:06alostaleStatusnew => closed
2017-06-08 10:06alostaleResolutionopen => invalid
2017-06-09 09:39alostaleNote Edited: 0097201bug_revision_view_page.php?bugnote_id=0097201#r15315
2017-08-07 14:00aferrazRelationship addedrelated to 0036617

Notes
(0097201)
alostale   
2017-06-08 10:06   
(edited on: 2017-06-09 09:39)
Callout execution infrastructure has been refactored to remove several inefficiencies as per project 0032366, this causes some API chages reported in [1] (PR16Q4.5): Callouts (even extending HttpServlet) are not handled as Servlets anymore, therefore they not included in web.xml.

In this case fails because base callout is tried to be obtained through its mapping which is not present anymore.

As workaround, it would be possible to manually define a mapping for base callouts as done for 0035540. In any case, this is not the recommended way to extend callouts as it's way too complex and fragile and would stop working once the callout is refactored to extend SimpleCallout (see 0036067).

The recommended way to extend callouts since 16Q4 is documented here [2].

[1] http://wiki.openbravo.com/wiki/API_changes#PR16Q4 [^]
[2] http://wiki.openbravo.com/wiki/How_to_create_a_callout_that_extends_from_another_callout [^]