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

General Notices