[HOW TO]Visual C# .NET を使用して簡易 Web サービスを作成する方法


Microsoft Visual Basic .NET を使用する場合は、301273 をご覧ください。 

この資料の内容

概要


この資料では、MathService という名前の簡易 Web サービスを記述する方法について説明します。MathService は 2 つの数字の加減乗除を行うメソッドを公開するサービスです。

必要条件

必要なハードウェア、ソフトウェア、ネットワーク インフラストラクチャ、技術と知識、および Service Pack は次のとおりです。
  • Microsoft Windows 2000 Professional、Windows 2000 Server、Windows 2000 Advanced Server、Windows NT 4.0 Server のいずれか
  • Microsoft Internet Information Server 4.0 またはインターネット インフォメーション サービス 5.0
  • Microsoft Visual Studio .NET
この資料は、次のトピックについて詳しい知識のあるユーザーを対象としています。
  • Visual Studio .NET 統合開発環境の使用方法

簡易 Web サービス .asmx の作成手順

  1. Visual Studio .NET を起動します。
  2. [ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。 [プロジェクトの種類] ボックスの一覧の [Visual C# プロジェクト] をクリックし、[テンプレート] ボックスの一覧の [ASP.NET Web サービス] をクリックします。 [場所] テキスト ボックスに「MathService」と入力し、既定の名前 (WebService1) を MathService に変更します。
  3. 作成された Web サービスの名前をデフォルトの Service1.asmx から MathService.asmx に変更します。
  4. デザイン画面で [ここをクリックするとコード ビューに切り替わります] をクリックして、コード ビューに切り替えます。
  5. サービスの機能をカプセル化するメソッドを定義します。 サービスから使用できる各メソッドの前に、WebMethod 属性でフラグを付ける必要があります。 この属性がないと、そのメソッドはサービスから使用できません。

    : すべてのメソッドに WebMethod 属性を付ける必要はありません。 これは、パブリック Web サービス メソッドによって呼び出された実装の詳細を非表示にする場合や、WebService クラスがローカル アプリケーションでも使用される場合に役立ちます。 ローカル アプリケーションはパブリック クラスを使用できますが、WebMethod メソッドだけが Web サービスとしてリモートでアクセス可能です。

    作成した MathServices クラスに次のメソッドを追加します。
    [WebMethod]public int Add(int a, int b){   return(a + b);}[WebMethod]public System.Single Subtract(System.Single A, System.Single B){   return (A - B);}[WebMethod]public System.Single Multiply(System.Single A, System.Single B){   return A * B;}[WebMethod]public System.Single Divide(System.Single A, System.Single B){   if(B == 0)      return -1;   return Convert.ToSingle(A / B);}
  6. [ビルド] メニューの [MathService のビルド] をクリックして Web サービスをビルドします。
  7. MathService.asmx Web サービス ページを参照して、この Web サービスをテストします。 このページをホストするようにローカル コンピューターを設定した場合、URL は http://localhost/MathService/MathService.asmx です。

    ASP.NET ランタイムは、Web サービスについて説明する Web サービス ヘルプ ページを返します。 このページでは、さまざまな Web サービス メソッドをテストすることもできます。

Web サービスの使用

  1. Visual Studio .NET を起動します。
  2. [プロジェクトの種類] ボックスの一覧の [Visual C# プロジェクト] をクリックし、[テンプレート] ボックスの一覧の [コンソール アプリケーション] をクリックします。
  3. 新規に作成したコンソール アプリケーションに、MathService Web サービスへの参照を追加します。

    この手順では、クライアント コンピューターにプロキシ クラスを作成します。 プロキシ クラスが存在している場合、そのクラスに基づいてオブジェクトを作成できます。 各メソッドの呼び出しはそのオブジェクトによって行われ、Web サービスの Uniform Resource Identifier (URI) に渡されます (通常は SOAP リクエストとして)。
    1. [プロジェクト] メニューの [Web 参照の追加] をクリックします。
    2. [Web 参照の追加] ダイアログ ボックスで、[アドレス] テキスト ボックスに Web サービスの URL を入力し、Enter キーを押します。 Web サービスをホストするようにローカル コンピューターを設定した場合、URL は http://localhost/MathService/MathService.asmx です。
    3. [参照の追加] をクリックします。 または、探索ファイル (MathService.vsdisco) の URL を入力するか、左側のウィンドウで [ローカル Web サーバーの Web 参照] をクリックし、一覧から MathService サービスを選択します。
    4. ソリューション エクスプローラで [Web References] セクションを展開し、使用された名前空間を確認します。
  4. 作成したプロキシ オブジェクトのインスタンスを作成します。 Main と呼ばれる関数に次のコードを入力します。
    localhost.Service1 myMathService = new localhost.Service1();
  5. 次のように指定して、前の手順で作成したプロキシ プロジェクトでメソッドを呼び出します。
    Console.Write("2 + 4 = {0}", myMathService.Add(2,4));
  6. [ビルド] メニューの [ソリューションのビルド] をクリックして、コンソール アプリケーションをビルドします。
  7. [デバッグ] メニューの [開始] をクリックし、アプリケーションをテストします。
  8. プロジェクトを閉じて保存します。

関連情報


詳細については、Visual Studio .NET のヘルプで「XML Web サービスを利用した Web のプログラミング」を参照してください。または、『Microsoft .NET Framework 開発者ガイド』の「ASP.NET を使用して作成した XML Web サービスと XML Web サービス クライアント」を参照してください。

詳細については、次のマイクロソフト Web サイトを参照してください。詳細については、Web Services Description Language Tool (Wsdl.exe) (Microsoft .NET Framework ツール) を参照してください。