How add service reference in visual studio 2008 authenticating against password-protected web service

authenticationvisual-studio-2008web services

I want to reference a web service, and it requires user/pass authentication.
In VS 2008, if I try to "add reference", or "add service reference", all I can type is the URL, there's no way to input my credentials. Obviously, if I try to load the ws, it shows me a nice message:

The request failed with HTTP status 403: Forbidden.
Metadata contains a reference that cannot be resolved:
The HTTP request is unauthorized with client authentication scheme 'Anonymous'. The authentication header received from the server was 'Basic realm="weblogic"'.
The remote server returned an error: (401) Unauthorized.

So my question is: Is it possible (using VS 2008) to add a reference to a web service that is protected? How?

Best Answer

It sounds like you're trying to use a Web Reference, and not a Service Reference (although I believe a Web Reference is a one kind of Service Reference). In VS08, after you have launched the "Add Service Reference", typed the URL to the web service, click the "Advanced" button, then click the "Add Web Reference". Type the URL again, then click "Add Web Reference". Now you should have a web reference instead, then authentication is similar to below:

WebService.Service myService = new WebService.Service();
myService.Credentials = new System.Net.NetworkCredential("username", "password");
WebService.ResultType results = myService.MyMethodReturnsResultType();
Related Topic