Dynamics CRM 2011 FetchXML レポート実行とポート 808 について
みなさん、こんにちは。
今回は管理者向けの情報として、特定の構成で発生する FetchXML
レポートのエラーについて、理由と対応を紹介します。
前提となる構成
Dynamics CRM 2011 サーバーと SQL Server Reporting Services が
別の OS にインストールされている場合。
現象
既定のレポートは実行可能だが FetchXML レポートのみ、「レポートの
実行」 ボタンをクリック後、「レポートを生成しています」 の画面がしばらく
続き、最終的にエラーで失敗する。
↓
原因
FetchXML レポートは SQL Server Reporting Service 上にインストール
された Dynamics CRM 2011 レポート拡張機能によって実行されます。
SSRS は FetchXML レポート実行時に Dynamics CRM 2011 サーバーと
通信する必要があり、その際 TCP ポート 808 番が利用されます。
TCP ポート 808 番は WCF の TCP Listener Adapter 用に設定されており
ファイアウォールで、受信の規則が既定で無効のためブロックされます。
対処方法
以下の手順で、ファイアウォールの設定を変更してください。
1. Dynamics CRM 2011 サーバー上で、コントロールパネルを開きます。
2. システムとセキュリティ | Windows ファイウォール | 詳細設定をクリックします。
3. 受信の規則をクリックして、「Windows Communication Foundation Net.TCP
Listener Adapter (TCP-In) を探します。
4. 既定で無効になっていますので、右クリックから 「規則の有効化」 をクリック
します。
5. 有効化後、プロパティを開いて、通信が許可になっていることを確認します。
6. 再度 FetchXML レポートを実行して、動作確認します。
まとめ
TCP ポート 808 はサンドボックスサービスによっても利用されますが
SSRS が通信するのは CRM の Web サービスになります。よって Web
サービスの一部の機能も TCP ポート 808 で通信を待ち受けていることになります。
ただしクライアントがアクセスできるプロトコルはあくまで HTTP となります。
設定は全て Dynamics CRM Web サービスがインストールされている
サーバーにて行ってください。
※尚、今回の記事は日本のパートナー様からのご連絡が発端で検証し
確認したものとなります。情報のご提供ありがとうございました。
‐ Dynamics CRM サポート 中村 憲一郎