次の方法で共有


Web サービスとしてのレポートの公開および利用

Crystal Reports for Visual Studio では、Crystal レポートを Web サービスとして公開することができます。

Web サービスとは

Web サービスを使用すると、異なるアプリケーション間でデータと機能の両方を共有することができます。たとえば、会計システムが顧客の注文システムに接続できます。また、企業は、Web サービスを使ってデータとアプリケーション機能を他の企業と共有することもできます。

Web サービスは、次に示す理由により、特定のコンポーネント技術やオブジェクト呼び出し規則に依存しません。

  • Web プロトコルとして HTTP を使用しています。
  • XML に基づいています。
  • SSL(Secure Socket Layer)をサポートしています。

コンポーネント モデルやオペレーティング システム用のプログラミング言語で記述されたプログラムは、Web サービスにアクセスできます。

Crystal Reports は、レポート Web サービスとしてレポートを簡単に公開して利用できるようにしました。Web アプリケーションと Windows アプリケーションは、レポート Web サービスに接続して、レポート Web サービスによって公開されている Crystal レポートを表示することができます。

レポートをレポート Web サービスとして公開する方法

Crystal Reports for Visual Studio で、Crystal レポートをレポート Web サービスに公開するオプションを選択すると、レポート Web サービスは DLL にコンパイルされ、DLL は .NET Web サービス ファイルの拡張子“.asmx”を持つ XML ファイルを生成します。ASMX ファイルには、パブリック関数、入力パラメータ、データ型、およびレポート Web サービスによって公開される戻り値のデータ型が記述されています。DLL ファイルと ASMX ファイルは、両方とも Web サーバー上でレポート Web サービスとして公開されます。Web ブラウザ上のクライアントは、Web サービスの URL を呼び出して、レポート Web サービスを起動することができます。データは、XML 形式で HTTP を経由して Web サービスとやり取りされます。

レポートをクライアントでレポート Web サービス ファイルとして利用する方法

クライアント アプリケーションから、公開されたレポート Web サービスにアクセスするには、Web サイトまたは Windows プロジェクトから CrystalReportViewer コントロールの ReportSource プロパティに URL 文字列を渡す必要があります。

レポート Web サービスを公開する

  1. Visual Studio を起動します。

  2. [ファイル]メニューの[新規作成]を選択し、次に[Web サイト]をクリックします。

  3. [新しい Web サイト]ダイアログ ボックスで、[プロジェクトの種類]リストから C# または Visual Basic の言語フォルダを選択します。

  4. Visual Studio の[テンプレート]リストから、[ASP.NET Web サービス]をクリックします。

  5. [場所]フィールドに Web サービス ディレクトリのファイル ディレクトリ パスを入力します。

    C:\WebServices\MyCrystalReportsWebServices
    
  6. [OK]をクリックします。

  7. ソリューション エクスプローラで太字のプロジェクト名を右クリックし、[追加] > [新しい項目の追加]を選択します。

  8. [既存項目の追加]ダイアログ ボックスで、[ファイルの種類]にすべてのファイル(*.*)を指定します。

  9. Crystal reports のサンプル レポート ディレクトリの feature examples フォルダにある Hierarchical Grouping.rpt ファイルに移動します

    Hierarchical Grouping レポートは、Access データベースの xtreme.mdb からデータを取得します。このデータベースの場所とその ODBC DSN 設定を確認していない場合には、「確認必要事項」を参照してください。

  10. Hierarchical Grouping.rpt ファイルをクリックして選択し、次に[追加]をクリックします。

    Hierarchical Grouping.rpt ファイルがプロジェクトに追加されます。

  11. レポートを右クリックし、[Web サービスとして公開]をクリックします。

  12. 新規サービス、Hierarchical GroupingService.asmx が作成されます。

  13. Hierarchical groupingservice.Asmx を右クリックし、[スタート ページに設定]を選択します。

これで、レポート Web サービスをビルドして試験する準備ができました。

公開したレポート Web サービスの URL をビルド、テスト、および取得する

  1. [ビルド]メニューで[ソリューションのビルド]を選択します。

  2. ビルド エラーが発生した場合は、ここで修正します。

  3. [デバッグ]メニューの[開始]をクリックします。

    Hierarchial_GroupingService ASMX ファイルが Web ブラウザに表示されます。

  4. ブラウザから URL をコピーします。

    Note

    Visual Studio 2005 以降では、デフォルトで、Web サイトや Web サービスをプレビューするのに IIS を使用しません。代わりに、Visual Web Developer Web Server がデフォルト Web サーバーになります。この Web サーバーを使用するとき、URL には、コンパイル時にだけ有効な、一時的でランダムなポート番号のみが含まれています。クライアント アプリケーションからこの Web サービスにアクセスするには、まず Web サービス プロジェクトのファイル ディレクトリを IIS の仮想ディレクトリとして設定する必要があります。仮想ディレクトリは、クライアント アプリケーションから呼び出すための一貫した URL をユーザーに提供します。

次に、レポート Web サービスにアクセスするクライアント プロジェクトを作成します。

クライアント プロジェクトからレポート Web サービスを利用する

この手順は、「プロジェクトの設定」で作成されたプロジェクトにのみ有効です。「プロジェクトの設定」では、この手順で必要な特定の名前空間の参照とコード設定が説明されており、この設定は、この手順を完了するために必須です。したがって、この手順を始める前にまず、「プロジェクトの設定」の手順を実行しておく必要があります。

  1. Web フォームまたは Windows フォームを開きます。

  2. [表示]メニューの[コード]をクリックします。

  3. 「プロジェクトの設定」で作成した ConfigureCrystalReports() メソッドで、(前の手順で作成した)レポート Web サービス URL 文字列を CrystalReportViewer クラスの ReportSource プロパティに割り当てます。

    myCrystalReportViewer.ReportSource =
    "https://localhost/MyCrystalReportsWebService/Hierarchical_GroupingService.asmx"
    
    crystalReportViewer.ReportSource =
    "https://localhost/MyCrystalReportsWebService/Hierarchical_GroupingService.asmx";
    

関連項目