ホーム > 実験室 > 休日情報 Web サービス > C# のプログラムからの使い方 このエントリーを含む はてなブックマーク 0 users

休日情報 Web サービス - C# のプログラムからの使い方

VS2005 で C# のコンソールプログラムから当 Web サービスを使用する方法を解説します。
Windows フォームプログラムからの使用方法もほとんど同じになるはずです。

サンプルプログラム PublicHolidaySample_Console.zip

ステップ 0. 準備

まずはテスト用にコンソールアプリケーションのプロジェクトを新規作成します。
Windows フォームアプリケーションでも同様ですが、サンプルソースコードが簡単になるのでコンソールアプリケーションで話を進めます。
既存のプロジェクトに追加したい場合は次のステップに進んでください。

メニューから「ファイル」-「新規作成」-「プロジェクト」と選択します。
「新しいプロジェクト」というダイアログが出てきますので、「テンプレート」から「コンソール アプリケーション」を選択し、適当な名前をつけて OK ボタンを押してください。
ここではサンプルプログラムに合わせて PublicHolidaySample_Console で話を進めます。

ステップ 1. Web 参照の追加

プロジェクトが作成されたら、ソリューションエクスプローラを開き、PublicHolidaySample_Console プロジェクトの上で右クリックします。
コンテキストメニューから「Web 参照の追加」を選択します。
すると、「Web 参照の追加」ダイアログが出てきますので、「URL」のところに http://bearmini.net/publicholidays/JP.asmx と入力し、「移動」ボタンを押します。
「この URL で見つかった Web サービス」という欄に「1 個のサービスが見つかりました」と出てきたら成功です。
「参照の追加」ボタンを押してください。
ソリューションエクスプローラを見ると、プロジェクトの中に「Web References」フォルダができてそのなかに「net.bearmini」という項目ができていたらここまでは成功です。

ステップ 2. Web サービスを呼んでみる

Web 参照で net.bearmini 名前空間を追加できたら、Program.cs ファイルを開きます。
Main() 関数内に以下のようにコードを追加しましょう。

static void Main(string[] args)
{
    net.bearmini.bearmininetpublicholidaysJP ws = new net.bearmini.bearmininetpublicholidaysJP();
    Console.WriteLine(ws.IsPublicHoliday(2006, 1, 1));
}

net.bearmini.bearmininetpublicholidaysJP というのが Web サービスを呼び出すためのプロキシクラスの名前で、Visual Studio が自動生成してくれたものです。
変な名前なのでリファクタリング機能で変えてしまっても良いでしょう。
次の行で Web サービスの IsPublicHoliday() 関数を呼んでいます。
2006 年 1 月 1 日は元日なので、実行すると画面には True と表示されるはずです。

ファイアウォールやウイルス検出プログラムなどがネットワークアクセスをブロックしていると動作しませんので、うまくいかない場合はネットワーク関連の設定を見直してください。
(通常は Web サイトが見られる環境なら大丈夫なはずです)

他の関数 GetPublicHolidayNames() や GetPublicHolidaysByMonth()、GetPublicHolidaysByYear() も同様に呼び出すことができます。

このページに寄せられたコメント

このページにはまだコメントが投稿されていません。

コメントしてください:
お名前: (半角/全角問わず 16 文字まで)
コメント:
(no HTML)
確認:
このテキストボックスに "確認" の 2 文字を書くと投稿できるようになります。
投稿ボタンが自動的に有効にならない場合は、ここをクリックしてください
これは、自動的にスパムコメントを書き込もうとする悪意をもったプログラムと、 そうでないあなたを識別するためのものです。お手数をおかけしますがよろしくお願いします。 また、ブラウザによっては対応していない場合があるかも知れません。IE 7 と Firefox で動作確認を行いました。

このページに寄せられたトラックバック

このページはまだトラックバックを受信していません。

このページへのトラックバック Ping URL:
http://bearmini.net/trackback.aspx?~/publicholidays/usefromcsharp.aspx

このサイトの上位人気記事