CRM 2011 Web サービスに接続しようとすると、予期しないエラーが発生します。背景は次のとおりです。
接続文字列 (機密情報は削除されています):"ServiceUri=https://crmdomain.com/OrgName/XRMServices/2011/Organization.svc; Url=https://crmdomain.com/OrgName; Username=appusername; Password=hidden"/>
次のように接続を作成します。
- conn 文字列を CRMConnection に解析します
var conn = Microsoft.Xrm.Client.CrmConnection.Parse(connString);
(この時点で、CrmConnection
ClientCredentials を含むオブジェクトのプロパティは正しいように見えます)。 - 組織プロキシを作成します。
var orgProxy = new OrganizationServiceProxy(conn.ServiceUri, conn.HomeRealmUri, conn.ClientCredentials, conn.DeviceCredentials);
- データ コンテキストを作成します。
var context = new MyContext(orgProxy);
この時点で、からデータを取得するcontext
と、次の WCF 例外が発生します。
System.ServiceModel.Security.SecurityNegotiationException が発生しました メッセージ =呼び出し元がサービスによって認証されませんでした。 ソース = mscorlib StackTrace: サーバー スタック トレース: System.ServiceModel.Security.IssuanceTokenProviderBase'1.DoNegotiation(TimeSpan タイムアウト) で System.ServiceModel.Security.SspiNegotiationTokenProvider.OnOpen(TimeSpan タイムアウト) で System.ServiceModel.Security.WrapperSecurityCommunicationObject.OnOpen( TimeSpan タイムアウト)
... 等々。
InnerExceptionはとを示します。IsSenderFault=True
IsPredefinedFault=True
何が起きてる?