Receiving the error message 'WS_CONCUR_SESSION_DISALLWD - Only one request may be made against a session at a time' during execution of the projects at runtime
NetSuite allows only one concurrent connection at a time and will return this message if more than one connection request are made concurrently.
This is a limitation on the NetSuite side and it is documented in their guide available here: http://www.netsuite.com/portal/partners/integration/download/SuiteTalkWebServicesPlatformGuide_2011.1.pdf
From Page 78 on the above link discusses about this:
Endpoints starting with v2008_1 support the reuse of session IDs. If you have a valid session at the time you invoke login, NetSuite transparently connects you to your existing session instead of creating a new session. Reusing an existing session (returning the same JSESSIONID) eliminates the overhead of generating a new session and thereby improves performance. For multi-threaded applications, the primary benefit to session ID resuse is that a thread executing a login does not invalidate sessions of existing threads. Instead, multiple threads share the same reference to a session. The trade-off is that the session returned by login may be in use, and as expected, any attempt to execute an operation with a busy session will result in a WS_CONCUR_SESSION_DISALLWD error.
Note that the strategy for sharing a single set of credentials across threads remains the same as it was for endpoints older than v2008_1. Because only one session can exist for a given set of credentials, and a session cannot be used for more than one operation at a time, multiple threads sharing those credentials should synchronize usage of the session. If collisions are not expected often, a simpler alternative is to implement a retry strategy for operations that fail due to a WS_CONCUR_SESSION_DISALLWD error.
Resolving the problem
To avoid this issue, please ensure two or more NetSuite activities do not execute concurrently.