5

Our clients have a Java Web Service that we want to cosume from c#.net application, but when i try to consume or call any method i get an Internal Error message. This web service needs an username and password to authenticate trough the server (where the WS is hosted).

I test the web service with Soap UI and I get a response from the java WS but only if I choose Preemptive Autorizathion option. When I choose another option, I get an error, as I wrote above.

The WS were developed in Java, while our application is developed in .NET Framework 2.0, so the question is: is there any way to authtenticate with preemptive authorization in c#?

If it helps, the WS is hosted on a HTTPS site.

Here is some code that i'm using to authenticate to the server.

NetworkCredential netCredential = new NetworkCredential(username, password); 
Uri uri = new Uri(service.Url);
ICredentials credentials = netCredential.GetCredential(uri, "Basic");
service.Credentials = credentials;
service.PreAuthenticate = true;

Also i tried with this code:

string usernamePassword = username + ":" + password;
CredentialCache mycache = new CredentialCache();
WebRequest myReq = WebRequest.Create(s.Url);
myReq.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(new ASCIIEncoding().GetBytes((usernamePassword))));
mycache.Add(new Uri(service.Url), "Basic", new NetworkCredential(username, password));
myReq.Credentials = mycache;
service.Credentials = myReq.Credentials;
service.UserAgent = ".net FrameWork";  

Do you have any idea how to solve this problem?

SchmitzIT
  • 9,227
  • 9
  • 65
  • 92
user1757223
  • 71
  • 2
  • 4
  • Use a packet-inspector tool like Wireshark (formerly known as Ethereal) to see the actual HTTP request/responses being sent and compare them to what the other program does, then report back your findings. – Dai Oct 18 '12 at 19:11

0 Answers0