チュートリアル : Web サービスのデザイン

更新 : 2007 年 11 月

このチュートリアルでは、Visual Studio Team System Architecture Edition でアプリケーション デザイナを使用して Web サービスをデザインするときの要点を説明します。ここでは、次の操作について説明します。

  • 既存の Web サービスに対する操作を定義します。

  • Web サービスを実装します。

  • 外部 Web サービス (ソリューションの外部に存在する Web サービス) を追加したり、その Web メソッドを表示したりします。

  • 外部 Web サービスを他のアプリケーションに接続します。

このチュートリアルは、入門編のチュートリアル「チュートリアル : アプリケーション ダイアグラムでのアプリケーションの定義」で紹介したコンセプトに基づいて作成されています。

Catalog Web サービスに対する操作を定義するには

  1. https://go.microsoft.com/fwlink/?LinkId=40867 からサンプルを読み込みます。

  2. Catalog.ad ファイルをダブルクリックして、アプリケーション ダイアグラムを開きます。

    アプリケーション デザイナにアプリケーション ダイアグラムが表示されます。

  3. Catalog 上の CatalogWebService エンドポイントを右クリックし、[操作の定義] をクリックして、[Web サービスの詳細情報] ウィンドウを表示します。

  4. [Web サービスの詳細情報] ウィンドウの [<操作の追加>] をクリックし、「GetProductDetails」と入力します。

  5. [型] に「ProductDetails」と入力します。

    ここで入力した操作の種類によって、操作の戻り値の型が決まります。

  6. GetProductDetails の左にある正符号 (+) をクリックして、操作にパラメータを追加します。

  7. [<パラメータの追加>] をクリックし、「ProductNumber」と入力します。[型] に「Integer」と入力します。

    ms246206.alert_note(ja-jp,VS.90).gifメモ :

    [型] 列に文字を入力し始めると、Visual Studio には、使用できる型の一覧が表示されます。

    この操作は製品番号を整数値で受け取り、ProductDetails 構造体を返します。

ここで定義した操作は、既定で要求/応答操作として定義されます。このプロパティの変更の詳細については、「方法 : ASP.NET Web サービスで一方向操作または要求/応答操作を指定する」を参照してください。

プロジェクトのプロパティを設定し、Catalog Web サービスを実装するには

  1. Catalog アプリケーションの CatalogWebService エンドポイントをクリックします。

  2. [プロパティ] ウィンドウを開きます。

  3. [WSDL バインド名] プロパティを Catalog に変更します。

  4. [WSDL バインドの名前空間] プロパティを http://Adventureworks/Products に変更します。

  5. Catalog アプリケーションをクリックし、[言語] プロパティを [Visual C#] に変更します。

    ms246206.alert_note(ja-jp,VS.90).gifメモ :

    Visual Studio にすべての言語をインストールした場合、このプロパティ値は既定で Visual Basic になります。

  6. Catalog アプリケーションを選択した状態で、[ダイアグラム] メニューの [実装] をポイントし、[アプリケーションの実装] をクリックします。

    [アプリケーションの実装の確認] ダイアログ ボックスが表示されます。

  7. Catalog アプリケーションの実装の詳細をチェックし、[OK] をクリックします。

    この実装プロセスでは、適切な Web 参照を伴うアプリケーションのプロジェクトが生成されます。実装が完了すると、アプリケーションは影付きで表示されます。

    ms246206.alert_note(ja-jp,VS.90).gifメモ :

    [セキュリティ警告] ダイアログ ボックスが表示された場合は、[閉じる] をクリックします。このダイアログ ボックスは、アプリケーション ダイアグラム上のデータベースに使用されるデータベース接続文字列が、構成ファイルに対して暗号化されずに平文で書き込まれることを示しています。

  8. プロキシ クラスと Web 参照をソリューション エクスプローラで確認します。

  9. CatalogWebService.cs ファイルを開き、ProductDetails Web メソッドのコードを表示します。

    Visual Studio で WSDL バインド名と WSDL バインドの名前空間が設定され、メソッド シグネチャが作成されていることを確認します。

  10. コードで、操作名を GetProductDetails から GetProductInformation に変更します。

  11. CatalogWebService エンドポイントをクリックし、[Web サービスの詳細情報] ウィンドウを表示します。

    コードで Web メソッド シグネチャに加えた変更に基づいて [Web サービスの詳細情報] ウィンドウで操作名が変更されています。コードでの変更は、自動的に [Web サービスの詳細情報] ウィンドウに反映されます。同様に、ウィンドウ側の変更も自動的にコードに反映されます。

外部 Web サービスを追加し、Web メソッドを表示するには

  1. ツールボックスを開き、ExternalWebService をアプリケーション ダイアグラムにドラッグします。

    [Web 参照の追加] ダイアログ ボックスが表示されます。

  2. ローカル コンピュータ上で LegacyCatalog.wsdl ファイルの場所を探します。

  3. この場所を [URL] ボックスに入力し、[移動] をクリックします。

    WSDL ファイルの記述内容が定義済みメソッドと共に表示されます。

  4. [参照の追加] をクリックします。

    外部 Web サービスがアプリケーション ダイアグラムに表示されます。

  5. GetLegacyInfo エンドポイントをクリックします。

  6. [表示] メニューの [その他のウィンドウ] をポイントし、[Web サービスの詳細情報] をクリックして、[Web サービスの詳細情報] ウィンドウを表示します。

  7. [Web サービスの詳細情報] ウィンドウに表示された Web メソッドをチェックします。

    この WSDL ファイルには、レガシ カタログ内の情報にアクセスするメソッドが記述されています。

外部 Web サービスと Catalog Web サービスに接続するには

  • 外部 Web サービス上で Alt キーを押しながら GetLegacyInfo エンドポイントをクリックし、Catalog アプリケーションの境界までドラッグします。

    この操作により、Catalog アプリケーションにコンシューマ エンドポイントが作成されます。これは、LegacyInfo が提供するサービスを Catalog アプリケーションが利用することを示しています。Catalog アプリケーションを実装すると、Visual Studio では、GetLegacyInfo エンドポイントに定義された Web メソッドのプロキシ クラスが生成されます。

    Visual Studio では、外部 Web サービスの .sdm ファイルもソリューションに追加されます。このファイルには、アプリケーションの SDM 定義が記述されています。詳細については、「システム定義モデル (SDM) の概要」を参照してください。

次の手順

次の手順では、Web サービスのエンドポイントに対して他の処理を行います。詳細については、「チュートリアル : コントラクト駆動型の Web サービス デザイン - エンドポイントの作成」を参照してください。

参照

その他の技術情報

Web サービスのデザインのチュートリアル