I have a test app that makes calls to a web service that requires user/password/domain credentials (we're using Basic authentication over SSL). I pass the credentials to the proxy class by creating a NetworkCredential object and sticking it in a CredentialCache which the proxy's Credentials property gets set to. If the user doesn't supply credentials I get the expected Access Denied exception. However, once the user has been successfully authenticated the credentials don't go away until the app is closed. Not setting the Credentials property on subsequent calls and removing the credential from the CredentialCache after calling the proxy's methods have no effect. This can be verified in that the web service always reports the original credentials via Thread.CurrentPrincipal.Identity.Name. Is there a way to clear the credentials between calls to a web service via SoapHttpClientProtocol? Thanks!