Symptoms
When trying to order a subscription with several APS applications which require some configuration during the purchase process, on one of the purchase screens there is no possibility to proceed. Clicking "Next" or any other configuration related button or tab does nothing.
At the screen where the reported issue is reproduced, a similar error is displayed in the browser console:
TypeError: xhr is undefined[Learn More] script.js:30:1
getErrorMessage https://cp.provider.tld/bss-static/azure/script.js:30:1
selectTabHandler https://cp.provider.tld/bss-static/youraps/script.js:681:20
b.event.dispatch https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js:3:28285
b.event.add/v.handle https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js:3:25025
getErrorMessage
is an example method here, other methods could also be causing this error, but the method must be present in both script.js
files mentioned in the error and accept different parameters.
For example, the first script.js
file above is from Azure APS packaged by Odin, it has a getErrorMessage
that accepts an xhr
parameter:
var getErrorMessage = function(xhr){
...
}
The script.js
file from an APS packaged by another vendor also has a method with the same name, but it does not accept any parameters:
var getErrorMessage = function() {
...
}
Cause
The method is requested from the script.js
of the APS packaged by another vendor, but the actual method that is executed is from another script.js
file. Due to input parameters mismatch the method fails to execute.
This is a JavaScript specific issue: if several .js files are added in the same webpage, and those files have methods with the same exact names, only the one that is defined last is actually used for all the calls of this method within this page.
Resolution
This behavior will be improved in scope of PBA-78537. Please contact your Account Manager or Pooled Technical Associates team (pta@odin.com) to trace the status of the issues.
The workaround is to contact the APS package vendor/publisher and ask then to change the method name in their script.js
so that it does not match with method names that are already present in applications packaged by Odin.