マイクロソフト株式会社 デベロッパーマーケティング本部
デベロッパーエバンジェリスト 高橋 忍

最終更新日 2004 年 4 月 14 日

このコンテンツのポイント
  • ASP.NET を利用した Web サービスの実装
  • ASP.NET を利用した Web サービスのローカルでのテスト



今回紹介するコード
C#
[WebMethod(Description="サーバーの現在時刻を返します")]
public string ServerTime()
{
	// サーバーの現在時刻を返します
	return DateTime.Now.ToLongTimeString();
}

[WebMethod(Description="生まれてから今日までの日数を算出します")]
public int LiveDate(DateTime BirthDay )
{
	// 引数で渡された日付から今日までの日数を計算します
	return DateTime.Now.Subtract(BirthDay).Days;
}
 

 

目次
はじめに
Web サービスの開発準備
Web サービスの実装
Web サービスをテストする
おわりに

Visual Basic .NET の内容はこちらに掲載しています。
10 行でズバリ !! ASP.NET による Web サービスの開発 (VB.NET)


  

はじめに

WebService とは、Web テクノロジを使ってメソッドを公開したものです。.NETでは、Web アプリケーションの開発および実行基盤である ASP.NET を使用して Web サービスを実装し公開することができます。また、Visual Studio .NET 2003 を使って Web サービスを構築することによって、Web サイトを使った簡単なテストを実施することができます。
ここでは、Visual Studio .NET 2003 を使った Web サービスの実装方法と簡易テストの方法を解説いたします。

 

Web サービスの開発準備

Visual Studio .NET 2003 を起動して、新規にプロジェクトを作成します。
言語は、皆さんの得意とされているものを選択すると良いでしょう。ここでは、C#.NET を選択し、[ASP.NET Web サービス] テンプレートを選択しています。[場所] テキストボックスに Web アプリケーション名 (URL) を入力したら、"OK" ボタンをクリックします。
ここでは、http://localhost/MyWebService と入力しておきましょう。
これで Web サービスの開発の準備が完了しました。


図 1. Web サービス開発のためのプロジェクトを新規に作成

 

Web サービスの実装

Web サービスのためのサイトが作成されると開発画面が表示されます。Web サービスはユーザーインターフェースを持たないためユーザーインターフェースのデザインは行いません。
デザイン画面をダブルクリックするか、F7 キーを押してコード画面を表示します。
ここでは、2 つの Web サービスを実装します。「Web サービスデザイナで生成されたコード」行の下に続けて 2 つの Web サービスのコードを記述します。このように ASP.NET Web サービスでは複数の Web サービスを実装することができます。

C#
[WebMethod(Description="サーバーの現在時刻を返します")]
public string ServerTime()
{
	// サーバーの現在時刻を返します
	return DateTime.Now.ToLongTimeString();
}

[WebMethod(Description="生まれてから今日までの日数を算出します")]
public int LiveDate(DateTime BirthDay )
{
	// 引数で渡された日付から今日までの日数を計算します
	return DateTime.Now.Subtract(BirthDay).Days;
}
 

通常の関数と同じように Public Function を定義し、その関数に対して <WebMethod> 属性を付与します。こうしてこの関数は、Web サービスとして公開することができます。WebMethod 属性に Description オプションを使うことでこの Web サービスの簡単な説明を公開することができます。

1 つ目の Web サービス [ServerTime] は引数を持たず、現在時刻を単一の文字列として返す Web サービスです。2 つ目の Web サービス [LiveDate] は引数で渡された日にちから、今日までの日数を計算して整数値で返す Web サービスです。


図 2. Web サービスのコードを記述したところ

 

Web サービスをテストする

イベントのコードの記述が完了したら、実行してテストしてみましょう。
アプリケーションを実行させるには [F5] キーを押すか、[デバッグ] メニューから [開始] をクリックします。アプリケーションを実行すると InternetExplorer が起動して Web サービス用のポータルサイトが立ち上がります。実装した 2 つの Web サービスへのリンクと、Description オプションで記述した Webサービスの説明が表示されています。


図 3. Web サービスポータルサイト

 

ServerTime をクリックすると、ServerTime Web サービスのためのテストサイトが開きます。ここには、ServerTime Web サービスをテストするための [起動] ボタンとこの Web サービスを使用する際にクライアントと送受信されるメッセージのサンプルが記載してあります。


図 4. ServerTime Web サービステストサイト

 

ここで [起動] ボタンを押すと、ServerTime Web サービスが実行され、XML 形式で現在時刻が返されます。XML タグを見ると文字列として返されていることがわかります。


図 5. ServerTime Web サービス実行結果

 

結果ウィンドウをクローズし、ブラウザの戻るボタンで Web サービスのポータルサイトに戻ります。続けて LiveDate Web サービスのリンクをクリックします。LiveDate Web サービスは引数を持つため、[起動] ボタンのほかに、引数を設定するためのテキストボックスが用意されています。


図 6. LiveDate Web サービステストサイト

 

ここで、「2001/1/1」と入力し、[起動] ボタンを押します。入力した日付から今日までの日数が計算され、先ほどと同様に XML 形式で日数が返されます。このように Visual Studio .NET 2003 を使うことで引数のある Web サービスの簡易テストも行うことができます。


図 7. LiveDate Web サービス実行結果

 

おわりに

このように ASP.NET と Visual Studio .NET 2003 に代表される統合開発環境を使用することによって、より簡単に Web サービスを作成し、簡易テストも行うことができます。Web サービスの中で既存のアプリケーションを呼び出すことで、これまで作られたアプリケーションを Web サービスとして利用することもできるようになるでしょう。
関連するコンテンツなどを参考にしながら、新たな Web サービスの開発にチャレンジしてみて下さい。


Code Recipe .NET Framework デベロッパー センター

ページのトップへ