У нас есть веб-приложение, работающее в пуле приложений как «NETWORK SERVICE».
Веб-приложение подключается к службе (.svc) на другом веб-сервере. Другой веб-сервер также имеет службу, размещенную как «NETWORK SERVICE». Я считаю, что это по умолчанию.
Следующая конечная точка при запуске в другом месте работает отлично.
<endpoint address="http://server123/UnitTrustService/UnitTrustService.svc"
binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_UnitTrustService"
contract="UnitTrustServiceReference.UnitTrustService" name="WSHttpBinding_UnitTrustService">
<identity>
<servicePrincipalName value="server123" />
</identity>
</endpoint>
К сожалению, при выполнении с веб-сайта мы получаем следующую ошибку.
System.ServiceModel.Security.MessageSecurityException:
The identity check failed for the outgoing message.
The expected identity is 'identity(http://schemas.xmlsoap.org/ws/2005/05/identity/right/possessproperty: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn)'
for the 'http://server123/UnitTrustService/UnitTrustService.svc' target endpoint.
Server stack trace: at System.ServiceModel.Security.IdentityVerifier.EnsureIdentity(EndpointAddress serviceReference, AuthorizationContext authorizationContext, String errorString)...
Есть идеи?
Я попытался запустить его в качестве локальной системы на компьютере веб-сервера с точно такой же конфигурацией, и он отлично работает.
Это как-то связано с IIS?
С уважением
Крейг.