Dynamics CRM 2011 FetchXML レポート実行とポート 808 について


みなさん、こんにちは。

今回は管理者向けの情報として、特定の構成で発生する FetchXML
レポートのエラーについて、理由と対応を紹介します。

前提となる構成

Dynamics CRM 2011 サーバーと SQL Server Reporting Services が
別の OS にインストールされている場合。

現象

既定のレポートは実行可能だが FetchXML レポートのみ、「レポートの
実行」 ボタンをクリック後、「レポートを生成しています」 の画面がしばらく
続き、最終的にエラーで失敗する。

image

image

原因

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. 既定で無効になっていますので、右クリックから 「規則の有効化」 をクリック
します。

image

5. 有効化後、プロパティを開いて、通信が許可になっていることを確認します。

image

6. 再度 FetchXML レポートを実行して、動作確認します。

まとめ

TCP ポート 808 はサンドボックスサービスによっても利用されますが
SSRS が通信するのは CRM の Web サービスになります。よって Web
サービスの一部の機能も TCP ポート 808 で通信を待ち受けていることになります。

ただしクライアントがアクセスできるプロトコルはあくまで HTTP となります。

設定は全て Dynamics CRM Web サービスがインストールされている
サーバーにて行ってください。

※尚、今回の記事は日本のパートナー様からのご連絡が発端で検証し
確認したものとなります。情報のご提供ありがとうございました。

‐ Dynamics CRM サポート 中村 憲一郎

Comments (3)

  1. CRM初心者 より:

    こんにちは。

    一つ質問させてください。

    今回のケース(CRMとSSRSが別サーバーにある)の場合、クライアントとSSRSサーバー自体は通信を行うのでしょうか。

  2. コメントをいただき、ありがとうございます。

    Microsoft Dynamics CRM サーバーと SQL Server Reporting Services が別筐体にある場合、クライアントからは CRM サーバーにのみアクセスを行います。

    Microsoft Dynamics CRM では ReportViewer コントロールを利用してレポートを表示しており、サーバー側で SSRS と通信を行った結果をクライアントに表示する仕組みとなります。

    よってクライアントは SSRS のアドレス等を知る必要はありません。

    中村 憲一郎

  3. CRM初心者 より:

    回答ありがとうございました。

    通信経路がどうなるのか悩んでおりましたが、これですっきりしました。

Skip to main content