次の方法で共有


チュートリアル : Visual Basic または Visual C# を使った Web サービスの作成

次のチュートリアルでは、Visual Basic または Visual C# を使って、華氏で測定した温度を摂氏に変換する Web サービスを作成する手順について説明します。

このチュートリアルでは、次の操作を行います。

  • ASP.NET Web サービス プロジェクト テンプレートを使用して Web サービスを作成する。

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

  • Web サービスをデバッグ モードで実行する。

  • Web サービスを配置する。

このチュートリアルを完了するには、Web プロジェクトを作成するための要件を満たしているコンピュータにアクセスすることが必要です。詳細については、「チュートリアル : Visual Web Developer での ASP.NET Web サービスの作成と使用」を参照してください。

Web サービス プロジェクトの作成

Visual Studio には、ASP.NET Web サービス プロジェクトのテンプレートが用意されており、Visual Basic や Visual C# で Web サービスを作成するのに役立ちます。

ASP.NET Web サービス プロジェクトを作成するには

  1. [ファイル] メニューの [新規作成] をポイントし、[Web サイト] をクリックします。

  2. [新しい Web サイト] ダイアログ ボックスで、[ASP.NET Web サービス] アイコンを選択します。

  3. Web サービスを開発する Web サーバーのアドレスを入力し、ディレクトリ名を TempConvert1 と指定します。たとえば、「http://MyServer/TempConvert1」と入力します。既定では、プロジェクトにはローカル コンピュータ (https://localhost) が使用されます。

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

    プロジェクトの種類によっては、場所を指定することでプロジェクト名を設定するため、[プロジェクト名] ボックスが使用できません。たとえば、Web アプリケーションや Web サービスは Web サーバーにあり、そのサーバーで指定された仮想ディレクトリに基づいて名前が設定されます。

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

    Web サービスは、開発サーバーで開発されます。既定では、ローカル コンピュータが開発サーバーになります。通常、プロジェクトは、開発サーバーで開発されてビルドされた後、配置プロジェクトを使って別のサーバー (Web サービスをホストする配置先のサーバー) に配置されます。ただし、Web サービスをホストするサーバー上で直接開発する場合は、開発サーバーと配置先のサーバーが同じになります。

  4. [OK] をクリックして、プロジェクトを作成します。

Visual Studio は、Web サービスをサポートするために、自動的に必要なファイルを作成し、必要な参照を含めます。Visual Studio で Web サービス プロジェクトを作成すると、Service1.asmx のコンポーネント デザイナが表示されます。

Web サービスの実装

次の手順では、クライアントがアクセスする Web サービスの機能を実装するためのコードを作成します。Visual Studio で作成される Web サービスの場合、このコードは、Web サービスの .asmx ファイルに関連付けられた分離コード ファイル (隠しファイル) に置かれます。asmx ファイルは、Visual Studio によって作成されたものです。詳細については、「方法 : Web サービス メソッドを作成する」を参照してください。

Web サービス メソッドを追加するには

  1. Service.vb コード ファイル内で、Service クラス宣言のコードを見つけます。クラス宣言の前に、System.Web.Services.WebService 属性コードを、次に示すコード (太字の部分) に置き換えます。

    <System.Web.Services.WebService( _
       Namespace:="http://Walkthrough/XmlWebServices/", _
       Description:="A temperature conversion service.")> _
    Public Class Service
    
    [System.Web.Services.WebService(
       Namespace="http://Walkthrough/XmlWebServices/",
       Description="A temperature conversion service.")]
    public class Service : System.Web.Services.WebService
    

    Public クラスに WebService 属性を追加することで、Web サービスの名前空間や Web サービスの記述など、Web サービスに関する追加情報を含めることができます。この属性の Description プロパティは、サービス ヘルプ ページに含まれます。詳細については、「方法 : WebService 属性を使用する」を参照してください。

  2. Service クラスに、ConvertTemperature 関数を宣言する次のコードを追加します。

    <WebMethod(Description:="This method converts a temperature in " & _
           "degrees Fahrenheit to a temperature in degrees Celsius.")> _
    Public Function ConvertTemperature(ByVal dFahrenheit As Double) _
                                       As Double
        Return ((dFahrenheit - 32) * 5) / 9
    End Function
    
    [WebMethod(Description="This method converts a temperature in " +
           "degrees Fahrenheit to a temperature in degrees Celsius.")]
    public double ConvertTemperature(double dFahrenheit)
    {
       return ((dFahrenheit - 32) * 5) / 9;
    } 
    

    Public メソッドに WebMethod 属性を追加することで、Web サービスの一部としてこのメソッドを公開します。この属性の description プロパティは、サービス ヘルプ ページと、サービス メソッド ヘルプ ページに含まれます。詳細については、「方法 : WebMethod 属性を使用する」を参照してください。

  3. ソリューション エクスプローラで Service.asmx を右クリックし、ショートカット メニューの [スタート ページに設定] をクリックします。

  4. ソリューションを保存します。

Web サービスのデバッグ

Visual Studio には、Web サービスを IDE でビルドおよび実行するための方法が、次のとおり用意されています。

  • デバッグしながら実行する。

  • デバッグせずに実行する。

  • ブラウザで表示する。

この Web サービスは、Visual Studio のプロジェクトとして、リリース バージョン用とデバッグ バージョン用に個別の構成を持ちます。このプロジェクトは ASP.NET Web サービス プロジェクト テンプレートを使って作成されたため、Visual Studio は、これらの構成を自動的に作成し、既定のオプションやその他の設定値を適切に設定しました。詳細については、「方法 : デバッグ構成とリリース構成を設定する」を参照してください。

このチュートリアルでは、Web サービスにブレークポイントを設定し、デバッグしながら実行する方法を使用します。詳細については、「方法 : マネージ コードを使用して Web サービスをデバッグする」を参照してください。

デバッグを行う前に、デバッグ設定を確認します。詳細については、「デバッグの準備 : XML Web サービス プロジェクト」を参照してください。

ブレークポイントを使用して、デバッグしながら Web サービスを実行するには

  1. [デバッグ] メニューの [ブレークポイントの作成] をポイントし、[関数でブレーク] をクリックします。

    [関数] タブで、[関数] ボックスに「ConvertTemperature」と入力し、[OK] をクリックして、ConvertTemperature メソッドの宣言にブレークポイントを設定します。

  2. [デバッグ] メニューの [開始] をクリックし、[デバッグが無効です] ウィンドウで [OK] をクリックしてデバッグを開始します。

    このコマンドは、Web サービスをデバッガで実行するように Visual Studio に指示します。Visual Studio はプロジェクトをビルドし、指定されたデプロイメント サーバーに配置します。完了すると、デプロイメント サーバー上の .asmx ファイルが、既定のブラウザによって表示されます。

    .asmx ファイルをブラウザで開くと、Web サービスは、Web サービスに関する情報を提供するサービス ヘルプ ページを返します。リンク文字 "サービスの説明" をクリックすると、Web サービスに関する正式なサービスの説明を含んだ XML ドキュメントが表示されます。詳細については、「XML Web サービスの説明」を参照してください。

  3. サービス ヘルプ ページで、リンク文字 "ConvertTemperature" をクリックします。

  4. [dFahrenheit] ボックスに、「212」と入力し、[起動] をクリックします。

    処理は、ConvertTemperature 関数に到達すると停止します。Visual Studio デバッガは、ブレークポイントが含まれている行を強調表示します。プログラムを中断している間に、さまざまなタスクを行うことができます。詳細については、「デバッガのロードマップ」および「デバッガでのデータ表示」を参照してください。

  5. [デバッグ] メニューの [続行] をクリックして、処理を続行します。

  6. Web サービスは、変換された値を XML ドキュメントに格納し、応答として返します。次に例を示します。

    <?xml version="1.0" encoding="utf-8" ?>
    <double xmlns="http://Walkthrough/XmlWebServices/">100</double>
    

    Web サービスの実行を停止してコード エディタに戻るには、[デバッグ] メニューの [デバッグの停止] をクリックします。

  7. [デバッグ] メニューの [すべてのブレークポイントの削除] をクリックします。

Web サービスの配置

他のユーザーが Web サービスを利用できるように、Web サービスは、サポート対象のクライアントがアクセスできる Web サーバーに配置する必要があります。開発サーバー以外のサーバーに Web サービスを配置するには、Web セットアップ プロジェクトを追加するか、デプロイメント サーバーに必要なファイルをコピーします。このチュートリアルでは、Web サービスの配置方法を選択できます。詳細については、「方法 : マネージ コードを使用して Web サービスを配置する」を参照してください。

Web セットアップ プロジェクトを使用して Web サービスを配置するには

  1. [ファイル] メニューの [追加] をポイントし、[新しいプロジェクト] をクリックします。

  2. [その他のプロジェクトの種類] ノード、[セットアップとデプロイメント] ノードの順に選択し、[Web セットアップ プロジェクト] をクリックします。

  3. [プロジェクト名] ボックスに「TempConvert1WebSetup」と入力し、[OK] をクリックします。

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

    既定では、インストーラが配置先のサーバーに仮想ディレクトリを作成するときに、この配置プロジェクトの名前が使用されます。

  4. ファイル システム エディタの左ペインで、[Web アプリケーション フォルダ] を選択します。詳細については、「ファイル システム エディタ」を参照してください。

  5. ソリューション エクスプローラで、[TempConvert1WebSetup] を右クリックして [追加] をポイントし、[プロジェクト出力] をクリックします。

  6. [プロジェクト出力グループの追加] ダイアログ ボックスで、[コンテンツ ファイル] を選択します。詳細については、「方法 : ファイル システム エディタでプロジェクト出力を追加および削除する」を参照してください。

  7. [OK] をクリックします。

  8. ソリューション エクスプローラで、TempConvert1WebSetup プロジェクトを右クリックし、ショートカット メニューの [ビルド] をクリックします。

    これにより、ローカル プロジェクト ディレクトリに Windows インストーラ ファイルが作成されます。このファイルを実行すると、Web アプリケーションがインストールされます。

プロジェクトをコピーして Web サービスを配置するには

  1. ソリューション エクスプローラで TempConvert1 プロジェクトを選択します。

  2. [プロジェクト] メニューの [Web サイトのコピー] をクリックします。

  3. [接続先] ボックスの横にあるアイコンをクリックして [Web サイトを開く] ダイアログ ボックスを開きます。プロジェクトをコピーする場所を検索します。

  4. ソース Web サイト ペインでファイルを選択し、右矢印アイコンをクリックすることにより リモート Web サイト ペインにコピーおよび移動します。.

  5. [Web サイトのコピー] をクリックして Web サイトをコピーします。

最後に、この Web サービスにアクセスするクライアント アプリケーションを作成するには、次のいずれかのトピックを参照してください。

参照

その他の技術情報

Web サービスの作成とアクセスに関するチュートリアル

Visual Studio に関するチュートリアル

Web サービスを利用した Web のプログラミング

マネージ コードを使用した Web サービスの作成