WCF webservice IIS6 401 ongeautoriseerde fout bij het bellen vanaf een andere WCF-service. Bellen vanuit asmx/WinForms is OK

Ik heb een WCF-service gehost in IIS6. Het doet eenvoudige WebRequest.

Wanneer ik het vanaf ASMX-service (gehost in dezelfde IIS6). Alles werkt geweldig.
Wanneer ik het vanuit WinForms-applicatie noem. Alles werkt ook zoals verwacht.
Het probleem doet zich voor als ik dit vanaf een andere WCF-service aanroept.
Then response.GetResponseStream() gooit 401 ongeautoriseerde fout.

Wat doe ik hier verkeerd?

System.Net.WebRequest request = WebRequest.Create(full_path_to_the_webpage);
request.Credentials = new NetworkCredential(username_for_http_login, password_for_http_login);
request.PreAuthenticate = true;
request.UseDefaultCredentials = false;

WebResponse response = request.GetResponse();

Stream responseStream = response.GetResponseStream(); //THIS line returns 401 Unauthorized
0
Weet je zeker dat ur wcf service aangepaste authenticatiegegevens vereist terwijl API's vanuit de service worden aangeroepen? Heb je hetzelfde gedaan in asmx webservice en winforms?
toegevoegd de auteur Uday0119, de bron
U zei dat het werkt prima in winform. Dus ik wil gewoon weten of je daar ook authenticatie hebt gebruikt? Omdat ik vind dat WCF-service geen verificatie vereist omdat gebruikersidentiteit van IIS wordt gebruikt voor verificatie in domeinomgeving of gebruikersidentiteit in een zelfstandige omgeving. Dus als uw PHP-webserver ook wordt geverifieerd, dan denk ik niet dat u hier expliciete authenticatie nodig heeft. U gebruikt UseDefaultCredentials = true
toegevoegd de auteur Uday0119, de bron
Wordt uw WCF-service weergegeven als REST-service, aangezien ik zie dat u WebRequest gebruikt om de WCF-service aan te roepen?
toegevoegd de auteur Rajesh, de bron
Met deze webrequest bel ik geen andere webservice, maar één PHP-pagina met basisverificatie. Deze webaanvraag zit in mijn WCF-service. Het probleem doet zich alleen voor als ik deze WCF-service aanroep vanuit een andere WCF-service. Wanneer ik deze webservice vanuit ASMX of WinForms aanroep, werkt alles. Mijn service gebruikt wsHttpBinding.
toegevoegd de auteur Tanel, de bron
Ja. Als ik gebruik van winforms gebruik ik Windows-verificatie voor toegang tot de service. De PHP-pagina die ik bel. Gebruikt een andere gebruiker/wachtwoord dan mijn IIS6-configuratie. Ik kan de referenties van de PHP-pagina niet wijzigen. Andere methoden binnen de service werken prima als ik ze vanuit een andere WCF bel. Alleen deze methode, die WebRequest bevat. Mislukt wanneer u belt vanuit een andere WCF-service.
toegevoegd de auteur Tanel, de bron

1 antwoord

Bleek dat het php-script een gebruikersnaam nodig had om alleen in kleine letters te zijn. Deze code is dus gelukkig nu aan het werken .

Bedankt aan iedereen die me probeerde te helpen.

To Rajesh: No i was not using service itself with WebRequest. I called one PHP file from another server with WebRequest.

0
toegevoegd