从CRM SDK代码连接CRM 2013时出错。错误消息是
从另一方收到了不安全或不正确安全的故障 派对。请参阅内部FaultException以获取故障代码和详细信息。
这是内部异常消息:
验证邮件的安全性时发生错误。
CRM安装在Virtual Box上,包括:
我已使用以下方案测试CRM连接
这是我的源代码:
var uri = new Uri(@"http://XXXX/MRC/XRMServices/2011/Organization.svc");
var username = @"XX\Administrator";
var password = "password";
_credential.UserName.UserName = username;
_credential.UserName.Password = password;
using (OrganizationServiceProxy serviceProxy = new OrganizationServiceProxy(uri, null, _credential, null))
{
serviceProxy.EnableProxyTypes();
IOrganizationService service = (IOrganizationService)serviceProxy;
MRServiceContext context = new MRServiceContext(service);
var query = context.ContactSet.ToList();
foreach (var item in query)
{
Console.WriteLine(item.FirstName);
}
}
提前致谢。
答案 0 :(得分:11)
Oppss这是我犯过的一个愚蠢的错误。此问题是由客户机日期过去与主机进行比较引起的。我只检查了客人和主机上已经相同的时间。但是,我忘了检查日期。
以下是线索:
System.ServiceModel.Security.MessageSecurityException, System.ServiceModel,
Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType>
<Message>The security timestamp is stale because its expiration time
('2014-04-03T06:49:23.526Z') is in the past. Current time is '2014-04-04T06:44:14.447Z'
and allowed clock skew is '00:05:00'.</Message><StackTrace> at
System.ServiceModel.Security.SecurityTimestamp.ValidateFreshness(TimeSpan timeToLive,
TimeSpan allowedClockSkew)
这是检查CRM上发生的某些错误的最佳方法(不会出现在客户端):
希望这些步骤对其他人有用。