Ich rufe aus einer SQL .NET Funktion über einen Webservice einen Wert ab. Funktionieren tuts, nur wollt ich mich jetzt mit den Rechten der Webserviceanwendung vertraut machen.
Deshalb habe ich unter IIS demWebserviceverzeichnis anonyme Authentifizierung ausgeschaltet und stattdessen die WIndowauthentifizierung an. Ebenfalls hab ich die web.config Datei um folgende Zeilen erweitert:
<authentication mode="Windows" />
<identity impersonate="true"/>
Der Webservice ist nun nur noch von bekannten Accounts aus anzusprechen. Das hab ich sowohl über den IE als über eine kleine Delphi Anwendung ausprobiert.
Allerdings habe ich ein Problem, wenn ich im SQL Server meine .NET Funktion aufrufe, die ebenfalls eine Verbindung zum Webservice herstellt. Egal welche Rechte ich vergebe, ich bekomme immer eine Fehlermeldung 401, Access denied.
Worauf muss ich achten ?
Msg 6522, Level 16, State 1, Line 1
A .NET Framework error occurred during execution of user defined routine or aggregate 'Test':
System.Net.WebException: The request failed with HTTP status 401: Access Denied.
System.Net.WebException:
at System.Web.Services.Protocols.SoapHttpClientProtoc ol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtoc ol.Invoke(String methodName, Object[] parameters)
at TOPCService.Test(String YourName)
at Functions.Test(String YourName)
Deshalb habe ich unter IIS demWebserviceverzeichnis anonyme Authentifizierung ausgeschaltet und stattdessen die WIndowauthentifizierung an. Ebenfalls hab ich die web.config Datei um folgende Zeilen erweitert:
<authentication mode="Windows" />
<identity impersonate="true"/>
Der Webservice ist nun nur noch von bekannten Accounts aus anzusprechen. Das hab ich sowohl über den IE als über eine kleine Delphi Anwendung ausprobiert.
Allerdings habe ich ein Problem, wenn ich im SQL Server meine .NET Funktion aufrufe, die ebenfalls eine Verbindung zum Webservice herstellt. Egal welche Rechte ich vergebe, ich bekomme immer eine Fehlermeldung 401, Access denied.
Worauf muss ich achten ?
Msg 6522, Level 16, State 1, Line 1
A .NET Framework error occurred during execution of user defined routine or aggregate 'Test':
System.Net.WebException: The request failed with HTTP status 401: Access Denied.
System.Net.WebException:
at System.Web.Services.Protocols.SoapHttpClientProtoc ol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
at System.Web.Services.Protocols.SoapHttpClientProtoc ol.Invoke(String methodName, Object[] parameters)
at TOPCService.Test(String YourName)
at Functions.Test(String YourName)
Comment