免責事項: これはこのスレッドの複製ではありません。まず、私の場合、中間層サービスはありません。次に、SL 5 と CRM 2011 を使用しています。
MS CRM 2011 で動作する Silverlight アプリケーションを開発しています。これらのアプリケーションは CRM ソリューションの一部であり、CRM Online で使用するためのものです。
これは重要です。追加の Web サービスを作成したりweb.config、CRM の一部であるファイルを変更したりすることはできません。CRM Online ではこれらのことを行うことができないからです。
通常、私のアプリケーションは OData サービスを必要とするだけであり、このような場合には問題はありません。しかし、1 つのアプリケーションが 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 のためのものであることが判明しました。
