Troubleshooting tips on account configurations
The following are the common scenarios and solutions for issues that can arise during account configuration:
- Connection reset errors
Cause: Stale connections due to HTTP connection reuse.
Solution: Set the Keep-Alive Interval to 2 minutes or less.
- Timeout exceptions
A transaction failure occurs with the exception: ERROR_INVOKING_CLOUD_SERVICE: An IO or timeout exception encountered for start “xxx” method. What might be the root cause and solution?
The root cause is stale connections or an insufficient response timeout value. To resolve stale connections, set the Keep-Alive Interval to two minutes or less. If large payloads or slow network speeds are affecting backend responsiveness, increase the Response timeout value to five minutes or more.
- Session expired or invalid session ID
Running operations with a Salesforce credential-based account configuration resulted in the following error: INVALID_SESSION_ID: Invalid Session ID found. This error occurs intermittently, with the message Invalid Session ID found in SessionHeader: Illegal Session. Session not found. This issue typically occurs when the session expires or the user logs out. It is often linked to incorrectly configured Salesforce CRM account session management or session timeout settings for the credentials-based authentication type.
These errors occur when the Salesforce CRM account session management or session timeout configurations are not correctly set for the credentials-based authentication type. When adding an account in webMethods Integration with Credentials authentication, the Session Management and Session Timeout fields are set to 14 minutes by default, which aligns with Salesforce’s minimum session timeout of 15 minutes. If the Salesforce session timeout is set to 12 hours, set the Session Timeout field to slightly less than 12 hours to refresh the session before it expires.
- Disabled connection issues
Sometimes, integrations fail, and the following cloud connection errors are observed: DISABLED_CLOUD_CONNECTION: Connection xxx is disabled INVALID_LOGIN: Invalid username, user not active. What causes these errors and how can they be resolved?
These errors can happen for the following reasons:- Salesforce backend account password is changed or expired - Verify whether the password is still valid.
- Salesforce login limit is breached - If 3600 login attempts are made to Salesforce within 15 minutes, integrations can fail, and the DISABLED_CLOUD_CONNECTION: Connection xxx error appears. This issue happens if the configured Lockout Effective Period in Salesforce is triggered. For example, if the login attempts exceed the limit and the Lockout period is set to 60 minutes, all integrations fail between the 16th and 60th minute. Usually, credentials-based connections are disabled after the Salesforce login limit is breached. Verify whether the backend exceeded the login limit quota.
- Optimizing Salesforce login requests through connection pooling
Salesforce allows 3600 logins per hour. In webMethods Integration, enable connection pooling by selecting the Enable Connection Pooling option. Adjust the Minimum Pool Size, Maximum Pool Size, and Expire Timeout (msec) values.
The Expire Timeout option helps to keep a connection active for the configured time after the account is created. Without the Expire Timeout configuration, connections are immediately invalidated to maintain the Minimum Pool Size of one. To limit login requests, set the Expire Timeout slightly less than the Session Timeout, as connections are invalidated after the session timeout.
For instance, if the Salesforce backend session timeout is two hours, set both the Expire Timeout and Session Timeout fields in the account configuration to slightly less than two hours.
- Breached Salesforce login limit
If the number of logins to your Salesforce account exceeds 3,600 per hour, the account gets temporarily disabled. This issue is commonly observed with credentials-based authentication connections. To resolve this issue, log in to your Salesforce backend account and go to Setup > Manage Users > Users. Select the user profile and go to the Password Policies section. The Lockout Effective Period field shows the duration for which the account will remain locked after exceeding the login limit.
You can either wait until the lockout period expires or modify the lockout duration as needed.
- "UNABLE_TO_RETRIEVE_CONNECTION_FROM_POOL" error occurs during account setup or operation
execution
Increase the Maximum Pool Size or Block Timeout values when dealing with connection pool limits. When the pool reaches its maximum number of connections, the connector reuses any idle connections. If all connections are in use, the system waits for one to become available. Increasing the Block Timeout value allows webMethods Integration to wait longer for a connection with the SaaS provider before encountering a timeout error.
For example, if your pool has a Maximum Pool Size of 20 and you receive 30 simultaneous requests, 10 requests wait for an available connection. If the Block timeout is set to 5000 ms (5 seconds), these 10 requests wait for up to 5 seconds before timing out with an error. If the services take 10 seconds to complete, the waiting requests fail with a No connections available error before a connection is released back to the pool.