How to CHANGE the Credentials for a web service proxy when using CredentialCache ?

L

Liviu Olaru

Hi

I'm trying to invoke a Web Service which is using BASIC authentication.
Code for invoking:

CredentialCache cc = new CredentialCache();
//the network credential used to authenticate client
NetworkCredential networkCred = new NetworkCredential("USERNAME",
"PASSWORD");
// the web service proxy
WSProxy wsProxy = new WSProxy();

//Add the network credential to the cache
cc.Add(new Uri(wsProxy.Url), "Basic", networkCred);
//Set the proxy credentials
wsProxy.Credentials = cc;

//call a method on proxy
wsProxy.HellloWorld();

I WANT TO USE THE SAME URL WITH DIFFERENT CREDENTIALS.( OR WITH NO
CREDENTIAL )

//so, now I try to remove the credential from cache
cc.Remove(new Uri(wsProxy.Url), "Basic")

If I remove the credential from CredentialCache, the subsequent calls to
the web service will use the same credentials as for the first call, even
the CredentialCache is empty !

so, when I call

WSProxy wsProxy2 = new WSProxy();
wsProxy.Credentials = cc; // THIS LINE HAS NO EFFECT ! CAN BE COMMENTED
OUT !
wsProxy2.HelloWorld();

the client is autenticated with the old credentials. (I wanted to get
AccesDenied)

It seems that, for the first call, the SoapHttpClientProtocol.Invoke
method, in the case of a successful request, copies the credentials from
CredentialCache and store them, per URL basis, in a internal store that is
used for subsequent calls, even the new proxys have been setted different
credentials.

Thanks
 
J

Jan Tielens

Try this:

NetworkCredential networkCred = new NetworkCredential("USERNAME",
"PASSWORD");

// the web service proxy
WSProxy wsProxy = new WSProxy();
wsProxy.Credentials = networkCred;
// do stuff

WSProxy wsProxy2 = new WSProxy();
// do stuff

--
Greetz

Jan Tielens
________________________________
Read my weblog: http://weblogs.asp.net/jan
 
L

Liviu Olaru

I have multiple URLs the client can authenticate to and I do not want to ask
user for credentials again.

Sorry, Jan, that I replied private.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,995
Messages
2,570,230
Members
46,819
Latest member
masterdaster

Latest Threads

Top