免責事項: これはこのスレッドの複製ではありません。まず、私の場合、中間層サービスはありません。次に、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 のためのものであることが判明しました。