cdli/zfD2L — Issue #8: Auto-renew of security token broken
Author: adamlundrigan
Created: 2011-10-20 14:16:01+00:00
State: open

Issuing a large number of SOAP API calls within the same request will often cause this exception to be raised:

System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> D2L.WS.Security.Authentication.AuthenticationException: Expired authentication token
at D2L.WS.Security.Authentication.TokenAuthenticator.AuthententicateHeader(Int64 orgId, RequestHeaderInfo headerInfo)
at D2L.WS.Implementation.SoapHeaderServiceBase`1.set_RequestHeader(RequestHeaderInfo value)
--- End of inner exception stack trace ---

It's likely that D2LWS_Authenticate::tokenHasExpired is falsely reporting that a token is active when in fact it has expired, or will expire in the time between it's check and when the actual SOAP call is made.