2

声明:这是不是this thread的副本。首先,就我而言,没有中间层服务。其次,我正在使用SL 5和CRM 2011.在Silverlight中获取来自CRM 2011的有用错误消息

我正在开发Silverlight应用程序以使用MS CRM 2011.这些应用程序是CRM解决方案的一部分,旨在用于CRM Online。

这很重要:我无法编写额外的Web服务或修改属于CRM的文件,因为我无法使用CRM Online完成这些任务。

通常我的应用程序只需要OData服务,并且在这些情况下没有问题。但是,一个应用程序需要使用SOAP组织服务,并且在这里出现问题。

除了让它工作的一些问题(因为我需要从头开始创建OrganizationRequests),从该服务获取有意义的异常消息存在很大的问题。 SL会高兴地总是返回404,这对用户来说根本没有帮助。

我使用

WebRequest.RegisterPrefix("http://", System.Net.Browser.WebRequestCreator.ClientHttp); 
WebRequest.RegisterPrefix("https://", System.Net.Browser.WebRequestCreator.ClientHttp); 
this article描述

尝试,但发现竟然导致与IFD和ADFS(即使这个解决方案是美中不足)一种情况的问题。

如果发生错误,我真的需要能够给用户一些有意义的信息(“找不到”几乎不理想)。

我应该怎么做才能从CRM中获取一些有用的错误消息?


编辑:

请注意我说的是本组织的服务,而不是OData服务!从后者获取一些有用的信息以显示给用户,我没有任何问题。

我想指出这一点,因为of this thread乍一看似乎是完美的,但事后证明(对于公认的答案),它一直是OData的一部分。

+0

是你的问题如何获得CRM服务器错误或WCF错误? – Daryl 2013-03-19 14:16:57

+0

我想获得CRM服务器错误,但Silverlight将组织服务视为WCF服务,所以我认为它几乎相同。 – Shaamaan 2013-03-19 14:31:48

回答

-1

我在将Silverlight 5 XAP上传到CRM 2011 Online时遇到了类似的问题/错误。

为了获得有用的信息,在IE中打开CRM导航到您的Silverlight资源,点击F12查看IE调试器,然后转到网络选项卡(请参阅屏幕截图)。

希望这会有所帮助!

CRM 2011 Online Silverlight Error Capture

+1

要查看网络流量最好的是提琴手,请检查[this](http://www.fiddler2.com/fiddler2/)。 – 2013-03-19 15:25:15

+0

问题不在于我作为开发人员不知道错误是什么。问题是,如果出现错误,我需要将它们显示给用户,而“未找到”只是不切断它。 – Shaamaan 2013-03-19 15:43:12

0

尝试看到这个article来自微软,我从来没有使用过,我不知道它是否可以在CRM应用。这是一篇非常有趣的文章,请看一看。

+0

这篇文章谈到了两种方法来做到这一点:a)修改服务 - 这在我的情况下是不可能的,因为我无法修改CRM的工作方式,以及b)使用“WebRequest.RegisterPrefix”,我已经尝试过,直到IFD和ADFS的特殊情况迫使我放弃它。 – Shaamaan 2013-03-19 17:23:57

+0

该死的,对不起,我会试着找点更多。 – 2013-03-19 17:42:41