Invoking Secure Web Services
-
I'm trying to invoke a Web Service that has been secured with Basic authentication. (Its a Java webservice running on JBoss). When I try to access the web service I get a HTTP 505 error implying that the HTTP Version is incorrect, but I doubt it is. Can anyone who has accessed secure webservices have a look at the following client C# code and tell me if it looks OK. I need to establish if its my client (C#) code thats wrong, or the server (Java) code. Is this the correct way to authenticate against a web service that uses BASIC authentication? Thanks.
proxy.AdministrationWS admin = new proxy.AdministrationWS();
NetworkCredential creds = new NetworkCredential("username", "password");
admin.PreAuthenticate=true;
admin.Credentials = creds;try
{
String name = admin.DoStuff();
MessageBox.Show(name);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
} -
I'm trying to invoke a Web Service that has been secured with Basic authentication. (Its a Java webservice running on JBoss). When I try to access the web service I get a HTTP 505 error implying that the HTTP Version is incorrect, but I doubt it is. Can anyone who has accessed secure webservices have a look at the following client C# code and tell me if it looks OK. I need to establish if its my client (C#) code thats wrong, or the server (Java) code. Is this the correct way to authenticate against a web service that uses BASIC authentication? Thanks.
proxy.AdministrationWS admin = new proxy.AdministrationWS();
NetworkCredential creds = new NetworkCredential("username", "password");
admin.PreAuthenticate=true;
admin.Credentials = creds;try
{
String name = admin.DoStuff();
MessageBox.Show(name);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}For BASIC you need to set a REALM (domain) with which to authentication. You also need to specify that BASIC authentication should be used by using the
CredentialCache
and assigning that to_admin_.Credentials
:NetworkCredential cred = new NetworkCredential(username, password, domain);
CredentialCache cache = new CredentialCache();
cache.Add(new Uri(url), "Basic", cred);
// ...
admin.Credentials = cache;This posting is provided "AS IS" with no warranties, and confers no rights. Software Design Engineer Developer Division Sustained Engineering Microsoft [My Articles] [My Blog]