Ich versuche, WCF Webserice zu konsumieren, die Siteminder geschützt ist. Das Problem ist, wenn ich versuche, die Webservice-URL im Browser zu durchsuchen, funktioniert es gut mit den Anmeldeinformationen, die ich angegeben habe.WCF-Dienst mit Siteminder geschützt C#
Aber wenn ich versuche, das gleiche programmatisch zu tun, wirft es einen Fehler - Fehler # 401 nicht autorisiert.
Referenz - http://www.codeproject.com/Articles/80314/How-to-Connect-to-a-SiteMinder-Protected-Resource
CookieContainer cookies = null;
HttpWebRequest request = null;
HttpWebResponse response = null;
string responseString = null;
NameValueCollection tags = null;
string url = null;
url = PROTECTED_URL;
Debug.WriteLine("Step 1: Requesting page @" + url);
request = (HttpWebRequest)WebRequest.Create(url);
request.AllowAutoRedirect = false;
response = (HttpWebResponse)request.GetResponse();
ShowResponse(response);
// Step 2: Get the redirection location
// make sure we have a valid response
if (response.StatusCode != HttpStatusCode.Found)
{
throw new ApplicationException();
}
url = response.Headers["Location"];
// Step 3: Open a connection to the redirect and load the login form,
// from this screen we will capture the required form fields.
Debug.WriteLine("Step 3: Requesting page @" + url);
request = (HttpWebRequest)WebRequest.Create(url);
request.AllowAutoRedirect = false;
try
{
response = (HttpWebResponse)request.GetResponse();
}
catch (Exception ex)
{
string str = ex.Message.ToString();
}
Also, wenn Sie Beispielmethode vom Browser aufrufen, funktioniert es gut, aber wenn Sie die gleiche Methode programmgesteuert aufrufen es nicht? Zeigen Sie zuerst Ihren Code. –
Wenn ich die URL mit meinen Zugangsdaten ankreuze, funktioniert es gut, aber wenn ich programmgesteuert versuche, die Antwort zu bekommen, wird der Fehler –
angezeigt Code anzeigen. Wie Sie versuchen, es zu bekommen –