You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
According to the documentation, the refreshClient function should be called when the ACC session expires due to token expiration. This allows the client to refresh the token and retry the failed SOAP call.
Actual Behaviour
When the token expires, the refresh callback never called, and the sdk returns a 500 Internal Server Error with the following error message:
CampaignException {name: 'CampaignException',message: "500 - Error SOAP-ENV:Client calling method 'xtk:persist#GetEntityIfMoreRecent': SOP-330007 Error while reading parameters of method 'GetEntityIfMoreRecent' of service 'xtk:persist'. XSV-350114 Unknown error during '/ims/profile/v1' IMS call, HTTP response code is 401",statusCode: 500,// ... (rest of the error object)}
The error message indicates that the underlying issue is a 401 Unauthorized error, but it's being wrapped as a 500 Internal Server Error. As a result, the SDK's condition ex.statusCode == 401 is not met, and the refreshClient function is never called.
// Call session expiration callback in case of 401if(ex.statusCode==401&&that._refreshClient&&soapCall.retry){returnthis._retrySoapCall(soapCall);}elsereturnPromise.reject(ex);
Reproduce Scenario (including but not limited to)
Steps to Reproduce
Initialize the SDK with a refreshClient function, similar to the following:
Hello, thanks for the detailed bug report, this is indeed an issue when using IMS authentication: the HTTP 401 error is hidden inside the error message and therefore not correctly handled by the SDK.
I'll provide a fix shortly.
Uh oh!
There was an error while loading. Please reload this page.
Expected Behaviour
According to the documentation, the
refreshClient
function should be called when the ACC session expires due to token expiration. This allows the client to refresh the token and retry the failed SOAP call.Actual Behaviour
When the token expires, the refresh callback never called, and the sdk returns a 500 Internal Server Error with the following error message:
The error message indicates that the underlying issue is a 401 Unauthorized error, but it's being wrapped as a 500 Internal Server Error. As a result, the SDK's condition
ex.statusCode == 401
is not met, and therefreshClient
function is never called.Reproduce Scenario (including but not limited to)
Steps to Reproduce
refreshClient
function, similar to the following:Platform and Version
The text was updated successfully, but these errors were encountered: