免责声明:这不是此线程的副本。首先,就我而言,没有中间层服务。其次,我正在使用 SL 5 和 CRM 2011。
我正在开发 Silverlight 应用程序以与 MS CRM 2011 一起使用。这些应用程序是 CRM 解决方案的一部分,旨在用于 CRM Online。
这很重要:我不能编写额外的 Web 服务或修改web.config
属于 CRM 的文件,因为我无法使用 CRM Online 来做这些事情。
通常我的应用程序只需要 OData 服务,在这些情况下没有问题。但是一个应用程序需要使用 SOAP 组织服务,问题就从这里开始了。
除了让它工作的一些问题(因为我需要OrganizationRequests
从头开始创建),从该服务获取有意义的异常消息是一个大问题。SL 总是会很高兴地返回 404,这对用户毫无帮助。
我试过使用
WebRequest.RegisterPrefix("http://", System.Net.Browser.WebRequestCreator.ClientHttp);
WebRequest.RegisterPrefix("https://", System.Net.Browser.WebRequestCreator.ClientHttp);
如本文所述,但结果证明在 IFD 和 ADFS 的一种情况下会导致问题(即使此解决方案在其他方面是完美的)。
如果出现错误,我确实需要能够为用户提供一些有意义的信息(“未找到”并不理想)。
我应该怎么做才能从 CRM 中获取一些有用的错误消息?
编辑:
请注意,我说的是组织服务,而不是 OData 服务!我可以从后者那里获得一些有用的信息来为用户显示。
我想指出这一点,因为这个线程乍一看似乎很完美,但事实证明(鉴于已接受的答案)它一直是为 OData 服务的。