我正在尝试访问 crm 2011 组织,例如:
using (OrganizationService service = new OrganizationService("CrmConnection"))
{
}
连接字符串看起来像:
<connectionStrings>
<add name="CrmConnection" connectionString="Server=https://OurDomainName.OurDomainName.com;Username=TheUser;Password=ThePass" />
</connectionStrings>
当我运行代码时,它会抛出以下错误:
There was no endpoint listening at
http://adfslogin.OurDomainName.com/adfs/services/trust/13/username
that could accept the message. This is often caused by an incorrect address or SOAP action.
请注意,我可以使用 web.config 中指定的相同凭据访问 IE 中的 URL。
有人可以指出我缺少什么导致了这个问题吗?
请参考:http://www.powerobjects.com/blog/2014/04/22/error-adfsifd-url-dynamics-crm/
它并不总是有效,但在大多数情况下是有效的。 我们的想法是确保您尽可能以不同的顺序进行足够的 iisresets 和重新配置,以确保您获得正确的结果。
文章中描述的步骤很好,但由于某种原因,CRM 并不总是听从您发出的命令。
处理此问题的另一种方法是禁用导致问题的用户名端点(WS-Trust 1.3 的用户名端点)。这在我的一个案例中有效,而第一个解决方案在其他案例中有效。
有关第二种解决方案,请参阅此 MS 知识库:http://support2.microsoft.com/kb/2912175
我知道这很古老,但我花了一些时间才弄清楚,而且没有一个答案对我的情况有效。事实证明,该消息可能是转移注意力的信息,并且 AD FS 设置没有任何问题。
对我有用的是以不同的格式传递凭据:例如,如果您使用用户名:DOMAIN\用户名密码:PassSWorD,请将其更改为使用域:DOMAIN 用户名:用户名密码:PassWorD。
我本来使用
ClientCredentials.Username
但最终使用 ClientCredentials.Windows.ClientCredential
代替。
这是帮助我解决这个问题的文章: CRM 和 ADFS 困境