Here's the setup:
Windows 2003 running .net 1.1 webservice with Integrated Authentication set.
Client machine running .net 1.1 on xp pro with latest service packs and
updates.
User also has Solomon 6.0, Microsoft Office Basic and Microsoft Office
Profesional, Acrobat reader, Adobe Acrobat. Otherwise, is a standard
machine setup from Dell.
Here's the problem:
When THIS user logs onto THIS machine, no matter what we do, the credentials
never seem to be passed to the webservice, so the service always fails.
When the user logs onto another machine, the application works as expected.
35 other users also use the application with no problems. When other users
log onto this machine, the application works without a problem.
One other user has Solomon 6.0 installed, and he is able to use the
application. The user can log onto the web service using Internet Explorer
and authenticate without a problem.
We've done the knowledge base suggestions and even went so far as to attempt
prompting of login credentials, but nothing seems to work. The
TestConnection method always returns true and is just there to see if we can
hit the web service, but it always fails.
What am I missing?
Here's the code (there's extra code related to the attempt at passing user
specified credentials):
public static CustomerManagerWebService.CustomerManagerWebServic e Service
{
get
{
if (log.IsDebugEnabled)
{
log.Debug("Trying to get the customer manager web service.");
}
CustomerManagerWebService.CustomerManagerWebServic e web=new
Snowball.Crm.BusinessManager.CustomerManagerWebSer vice.CustomerManagerWebService();
if (m_credSet)
{
if (log.IsDebugEnabled)
{
log.Debug("Credentials have been set the cache");
}
web.Credentials=m_cred;
}
else
{
web.Credentials=CredentialCache.DefaultCredentials ;
if (log.IsDebugEnabled)
{
log.Debug("Using default credentials");
}
}
if (log.IsDebugEnabled)
{
log.Debug("Setting web options.");
}
web.PreAuthenticate=true;
web.UnsafeAuthenticatedConnectionSharing=true;
web.UserAgent="BusinessManager.dll";
try
{
if (log.IsDebugEnabled)
{
log.Debug("Trying test connection.");
}
web.TestConnection();
}
catch (System.Exception ex)
{
if (log.IsDebugEnabled)
{
log.Debug("Authentication failed. Failure report follows:");
}
string message="Failed to connect to the web service for " +
System.Environment.UserName;
log.Error(message,ex);
throw new AuthenticationFailedException(message,ex);
}
return web;
}
}
Robert