Webservices-web-services-examples
Webサービス-例
Webサービスアーキテクチャに基づいて、Webサービス実装の一部として次の2つのコンポーネントを作成します-
サービスプロバイダーまたはパブリッシャー
これは、Webサービスのプロバイダーです。 サービスプロバイダーはサービスを実装し、インターネットまたはイントラネットで利用できるようにします。
サービス要求者または消費者
NET SDKを使用して、簡単なWebサービスを作成して公開します。.
これは、Webサービスの消費者です。 リクエスターは、ネットワーク接続を開いてXML要求を送信することにより、既存のWebサービスを利用します。
また、2つのWebサービスリクエスターを作成します。1つはWebベースのコンシューマー(ASP.NETアプリケーション)、もう1つはWindowsアプリケーションベースのコンシューマーです。
以下は、サービスプロバイダーとして機能し、アプリケーションが使用するWebサービスとして2つのメソッド(addおよびSayHello)を公開する最初のWebサービスの例です。 これは、Webサービスの標準テンプレートです。 .NET Webサービスは.asmx拡張子を使用します。 Webサービスとして公開されるメソッドにはWebMethod属性があることに注意してください。 このファイルをIIS仮想ディレクトリにFirstService.asmxとして保存します(IISの構成で説明されているように、たとえばc:\ MyWebSerces)。
Webサービスをテストするには、公開する必要があります。 Webサービスは、イントラネットまたはインターネットで公開できます。 ローカルマシンで実行されているIISでこのWebサービスを公開します。 IISの構成から始めましょう。
- スタート→設定→コントロールパネル→管理ツール→インターネットサービスマネージャーを開きます。
- デフォルトのWebサイトを展開して右クリックします。 New rarrを選択します。仮想ディレクトリ。 仮想ディレクトリ作成ウィザードが開きます。 Nextをクリックしてください。
- [仮想ディレクトリエイリアス]画面が開きます。 仮想ディレクトリ名を入力します。 たとえば、MyWebServices。 Nextをクリックしてください。
- [Webサイトコンテンツディレクトリ]画面が開きます。
- 仮想ディレクトリのディレクトリパス名を入力します。 たとえば、c:\ MyWebServices。 Nextをクリックしてください。
- 「アクセス許可」画面が開きます。 要件に従って設定を変更します。 この演習のデフォルト設定を保持しましょう。
- [次へ]ボタンをクリックします。 IISの構成が完了します。
- [完了]をクリックして構成を完了します。
IISが正しく構成されているかどうかをテストするには、上記で作成した仮想ディレクトリ(C:\ MyWebServices)にHTMLファイル(たとえば、xl)をコピーします。 次に、Internet Explorerを開き、 http://localhost/MyWebServices/xl と入力します。 xlファイルを開く必要があります。
注-動作しない場合は、localhostをマシンのIPアドレスに置き換えてみてください。 それでも機能しない場合は、IISが実行されているかどうかを確認してください。 IISおよび仮想ディレクトリの再構成が必要になる場合があります。
このWebサービスをテストするには、上記で作成したIIS仮想ディレクトリ(C:\ MyWebServices)にFirstService.asmxをコピーします。 Internet Explorer(http://localhost/MyWebServices/FirstService.asmx)でWebサービスを開きます。 Webサービスページが開きます。 ページには、アプリケーションによってWebサービスとして公開される2つのメソッドへのリンクが必要です。 おめでとうございます。 最初のWebサービスを作成しました!
Webサービスのテスト
これまで見てきたように、Webサービスの記述は.NET Frameworkで簡単です。 .NETフレームワークでは、Webサービスコンシューマーの作成も簡単です。ただし、もう少し複雑です。 前述のように、2つのタイプのサービスコンシューマーを作成します。1つはWebベースのコンシューマーで、もう1つはWindowsアプリケーションベースのコンシューマーです。 最初のWebサービスコンシューマを作成しましょう。
Webベースのサービス利用者
以下のウェブベースのコンシューマーを作成します。 WebApp.aspxと呼びます。 ASP.NETアプリケーションであることに注意してください。 これをWebサービスの仮想ディレクトリ(c:\ MyWebServices \ WebApp.axpx)に保存します。
このアプリケーションには、追加するユーザーから番号を取得するために使用される2つのテキストフィールドがあります。 実行ボタンが1つあり、クリックするとAddおよびSayHello Webサービスが取得されます。
コンシューマーを作成したら、使用するWebサービスのプロキシを作成する必要があります。 この作業は、追加されたWebサービスを参照するときに、Visual Studio .NETによって自動的に行われます。 従うべき手順は次のとおりです-
- 使用するWebサービスのプロキシを作成します。 プロキシは、.NET SDKで提供されるWSDLユーティリティを使用して作成されます。 このユーティリティは、Webサービスから情報を抽出し、プロキシを作成します。 プロキシは、特定のWebサービスに対してのみ有効です。 他のWebサービスを使用する必要がある場合は、このサービスのプロキシも作成する必要があります。 Visual Studio .NETは、Webサービス参照が追加されると自動的にプロキシを作成します。 .NET SDKで提供されるWSDLユーティリティを使用して、Webサービスのプロキシを作成します。 現在のディレクトリにFirstSevice.csファイルを作成します。 WebサービスのFirstService.dll(プロキシ)を作成するためにコンパイルする必要があります。
- コンパイル済みプロキシをWebサービスの仮想ディレクトリのbinディレクトリ(c:\ MyWebServices \ bin)に配置します。 インターネットインフォメーションサービス(IIS)は、このディレクトリでプロキシを探します。
- すでに行ったのと同じ方法で、サービスコンシューマを作成します。 Webサービスプロキシのオブジェクトは、コンシューマでインスタンス化されることに注意してください。 このプロキシは、サービスとの対話を処理します。
- IEでコンシューマのURLを入力してテストします(たとえば、http://localhost/MyWebServices/WebApp.aspx)。
WindowsアプリケーションベースのWebサービスコンシューマー
WindowsアプリケーションベースのWebサービスコンシューマを作成することは、他のWindowsアプリケーションを作成することと同じです。 プロキシを作成するだけで(これは既に完了しています)、アプリケーションのコンパイル時にこのプロキシを参照するだけです。 以下は、Webサービスを使用するWindowsアプリケーションです。 このアプリケーションは、Webサービスオブジェクト(もちろんプロキシ)を作成し、SayHelloを呼び出して、そのメソッドを追加します。
`+ c:\> csc/r:FirstService.dll WinApp.cs +`を使用してコンパイルします。 WinApp.exeが作成されます。 それを実行して、アプリケーションとWebサービスをテストします。
ここで疑問が生じます。このアプリケーションが実際にWebサービスを呼び出していることをどのようにして確認できますか?
テストは簡単です。 Webサービスに接続できないように、Webサーバーを停止します。 次に、WinAppアプリケーションを実行します。 ランタイム例外が発生します。 次に、Webサーバーを再度起動します。 それはうまくいくはずです。