Best Practices
Analyze the frequency and level of concurrency peaks, and consider rescheduling requests to be outside of regular peak times.
Review your client applications to ensure they can handle the error codes. The following sample is an example of how you might handle the error codes programmatically.
int i = 0;
int maxAttempts = 5; // try it 5 times, then fail for good
while (i < maxAttempts)
{
response = doWSCall();
isSuccess = response.getIsSuccess();
errorMsg = response.getErrorMsg();
if (isSuccess == false && (errorMsg == WS_CONCUR_SESSION_DISALLWD || errorMsg == WS_REQUEST_BLOCKED))
{
wait();
i++; // try again
}
else
{
break; // end the cycle
}
}
To ensure that the requests of non-concurrent users do not overlap, upgrade your client applications to serialize your requests.
Also, by updating your SOAP web services integrations to use TBA, you can take advantage of a more flexible concurrency.
Related Topics
- Web Services and RESTlet Concurrency Governance
- Concurrency Governance Limits Based on Service Tiers and SuiteCloud Plus Licenses
- Concurrency Governance for Internal Applications
- Effects of Authentication Method on Concurrency Governance
- Account Concurrency Monitoring Resources
- Errors Related to Concurrency Violations
- Retrying Failed Web Services Requests
- Sample Scenario
- Frequently Asked Questions