「NETWORK SERVICE」としてアプリケーション プールで実行されている Web アプリケーションがあります。Web アプリケーションは、別の Web サーバー上のサービス (.svc) に接続します。他の Web サーバーにも、「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>
残念ながら、Web サイトから実行すると、次のエラーが発生します。
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)...
何か案は?まったく同じ構成で、Web サーバー マシン上のローカル システムとしてこれを実行しようとしましたが、完全に動作します。
IISと何か関係がありますか?
よろしくクレイグ。