Я пытаюсь получить данные из CRM (на виртуальной машине) с помощью службы WCF (на хост-компьютере).
Я периодически запускаю приведенное ниже исключение SecurityException по адресу Service.RetrieveMultiple , пока выполняю отладку с хоста и пытаюсь подключиться к CRM.
Код:
QueryExpression queryIssue = new QueryExpression
{
EntityName = irpc_Issue.EntityLogicalName,
ColumnSet = new ColumnSet (new String [] {"irpc_issueid", "irpc_issuename"}),
Критерии = новое FilterExpression ()
};
queryIssue.Criteria.AddCondition ("irpc_issueid", ConditionOperator.Equal, issueGuid);
data.Issue = new NameGuid ();
data.Issue.Name = service.RetrieveMultiple (queryIssue) .Entities.FirstOrDefault (). Атрибуты ["irpc_issuename"]. ToString ();
Сведения об исключении:
System.ServiceModel.Security.MessageSecurityException: {"Поставщик токенов не может получить токены для цели 'http://irpc -dc / amgen / XRMServices / 2011 / Organization.svc'."}
InnerException: {"Предоставленные NetworkCredentials не смогли создать учетные данные Kerberos, подробности см. Во внутреннем исключении."}
Источник: mscorlib
Трассировка стека серверов:
в System.ServiceModel.Security.SecurityProtocol.GetToken (поставщик SecurityTokenProvider, цель EndpointAddress, время ожидания TimeSpan)
в System.ServiceModel.Security.MessageSecurityProtocol.GetTokenAndEnsureOutgoingIdentity (поставщик SecurityTokenProvider, логический isEncryptionOn, тайм-аут TimeSpan, аутентификатор SecurityTokenAuthenticator)
в System.ServiceModel.Security.SymmetricSecurityProtocol.TryGetTokenSynchronouslyForOutgoingSecurity (сообщение Message, SecurityProtocolCorrelationState correlationState, булевой isBlockingCall, TimeSpan тайм-аут, SecurityToken и маркер, SecurityTokenParameters и tokenParameters, SecurityToken & prerequisiteWrappingToken, IList 1& supportingTokens, SecurityProtocolCorrelationState& newCorrelationState)
at System.ServiceModel.Security.SymmetricSecurityProtocol.SecureOutgoingMessageCore(Message& message, TimeSpan timeout, SecurityProtocolCorrelationState correlationState)
at System.ServiceModel.Security.MessageSecurityProtocol.SecureOutgoingMessage(Message& message, TimeSpan timeout, SecurityProtocolCorrelationState correlationState)
at System.ServiceModel.Channels.SecurityChannelFactory
1.SecurityRequestChannel.Request (сообщение Message, TimeSpan тайм-аут)
в System.ServiceModel.Dispatcher.RequestChannelBinder.Request (сообщение-сообщение, время ожидания TimeSpan)
в System.ServiceModel.Channels.ServiceChannel.Call (строковое действие, логический односторонний режим, операция ProxyOperationRuntime, Object [] ins, Object [] outs, TimeSpan timeout)
в System.ServiceModel.Channels.ServiceChannelProxy.InvokeService (метод IMethodCallMessageCall, операция ProxyOperationRuntime)
в System.ServiceModel.Channels.ServiceChannelProxy.Invoke (сообщение IMessage)
Исключение переброшено в [0]:
в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage (IMessage reqMsg, IMessage retMsg)
в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke (MessageData & msgData, тип Int32)
в Microsoft.Xrm.Sdk.IOrganizationService.RetrieveMultiple (запрос QueryBase)
в Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy.RetrieveMultipleCore (запрос QueryBase)
в Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy.RetrieveMultiple (запрос QueryBase)
Я выполнил команду SETSPN на Госте (SETSPN -A HTTP / irpc-dc IRPC \ CrmService), ссылаясь на поток здесь
http://social.microsoft.com/Forums/en-US/crm2011beta/thread/132a6d26-04fc-4e1e-8a7e-06088e106578
Тем не менее я сталкиваюсь с этим исключением.
Мне интересно, кто-нибудь сталкивался с такой же ошибкой.
Любая помощь / предложения по этому вопросу будут оценены.
Спасибо