Presentation is loading. Please wait.

Presentation is loading. Please wait.

Visual Studio 2005による XML Web サービス入門

Similar presentations


Presentation on theme: "Visual Studio 2005による XML Web サービス入門"— Presentation transcript:

1 Visual Studio 2005による XML Web サービス入門
開発者カテゴリ Visual Studio 2005による  XML Web サービス入門 ◆NOTES◆ PowerPoint のノート部分には、講師がセミナーを進める上での留意点を記載しています。 また、ノート部分の「◆90分ダイジェスト vs 半日コース」という欄には、今回の 90分ダイジェストコースと、このコースの元になった半日コースとの、おおよその差分が記述してあります。 この差分記述は、90分コースでのだいたいの深さの目安として掲載したものであって、実際の講習では、厳密にこの記載に基づいて、講習範囲を限定する必要はないでしょう。もし、90分コースを開いた際に、時間が余った場合は、この差分の部分を追加説明するなど、補足説明の指針にすればよいと思います。

2  アジェンダ XML Web サービスの基本実装 Visual Studio での基本的な作り方 クライアントの基本的な作り方

3 Web サービス Webサービスとは 特徴 役割 インターネットの標準的なプロトコルを使ってアクセスできるサービス
.NET ではビルディング ブロックとも呼ばれる ASP.NET では、XML Web サービスと呼ばれる 特徴 疎結合 広く使われるプロトコル (HTTP、SOAP、…) 統一的なデータ形式 (XML) 役割 異種プラットフォーム間の連携 企業間のシステムのシームレスな連携 企業内でのシステムの統合 (Enterprise Application Integration)

4 ASP.NET における XML Webサービス
.asmxファイルに実装し、他のアプリケーションのためにサービスを実行し、XMLデータを返す <soap:Envelope xmlns:soap="..."> <soap:Body> <Add xmlns=" <a>10</a> <b>20</b> </Add> </soap:Body> </soap:Envelope> Service1.asmx クライアント アプリケーション 実行 XML <soap:Envelope xmlns:soap="..."> <soap:Body> <AddResponse xmlns="   <AddResult>30</AddResult> </AddResponse> </soap:Body> </soap:Envelope> XML を生成

5 .asmx ファイルとクラス (参考) クラスに Web メソッドを実装する WebMethod 属性を持つメソッドを用意する
System.Web.Services.WebServiceクラスから派生する (オプション) Service1.asmx WebService ... Class="MyService" %> VB Imports System.Web.Services Public Class MyService Inherits System.Web.Services.WebService <WebMethod> Public Function Add(ByVal a As Integer, _ ByVal b As Integer) _ As Integer Return a + b End Function End Class (Instructor's notes) 念のため、実際は、Visual Studio 2005 が雛形を自動生成するので、まる暗記する必要がない点をふれておきます。

6 .asmx ファイルとクラス (参考) (続き)
Service1.asmx WebService ... Class="MySpace1.MyService" %> C# using System.Web.Services; public class MyService : System.Web.Services.WebService { [WebMethod] public int Add(int a, int b) { return a + b; }

7 .asmx ファイルの機能 Web サービスのインフラストラクチャ クライアント
Web サービス関連の機能を分類すると、、、 (MSDN ライブラリより) クライアント ディレクトリ UDDIなどの ディレクトリサービス 探索 XML Webサービス などのサービス 説明 .asmx ファイル ワイヤ形式 HTLM 説明ページ

8 <int xmlns="http://tempuri.org/">300</int>
 ワイヤ形式 ASP.NET の XML Webサービスでのワイヤ形式 クライアントから呼び出すことができる Web メソッドとして提供 3種類の方法 HTTP-GET HTTP-POST SOAP over HTTP (HTTP-POST) XML Webサービス メソッド呼び出し <int xmlns=" (HTTP-GET, HTTP-POST の場合)

9 HTML 説明ページ HTML 説明ページ (HTML description page) とは
HTML 形式で Web サービスの機能を説明するページ テスト ページを持つ URL として .asmx ファイルが指定され、HTTP 要求 (HTTP-GET) を受けると、ASP.NET が自動生成する

10 説明 Webサービス記述言語 (WSDL) の提供 XML Webサービスへのアクセス形式が分る XML Webサービス
 説明 Webサービス記述言語 (WSDL) の提供 XML Webサービスへのアクセス形式が分る ASP.NETの XML Webサービスでは、ある特定のアドレスにアクセスすると、XML Webサービスへアクセスするための仕様書である WSDL (Web Service Description Language) を自動生成することができる。 Visual Studio .NET では、WSDL を読み込ませると、Web サービスにアクセスするために必要なコード (プロキシ クラス) を自動生成することができる。 XML Webサービス WSDL

11 探索 ASP .NETでの XML Webサービス探索 XMLドキュメントとして提供 Webサービス記述言語(WSDL)を取得する手がかり
 探索 ASP .NETでの XML Webサービス探索 XMLドキュメントとして提供 Webサービス記述言語(WSDL)を取得する手がかり XML Webサービス WSDLの取得方法など (notes) 実際のプログラム実装では、「探索」の使用頻度が低い点も触れます。 <discovery xmlns=" <contractRef ref=" docRef=" xmlns=" /> </discovery>

12  アジェンダ XML Web サービスの基本実装 Visual Studio での基本的な作り方 クライアントの基本的な作り方

13 Visual Studio 2005 による開発 ASP.NET Web サービス用のテンプレート

14  統合開発環境 (IDE)

15 ファイル構成 + Web サイト ソリューションを作成 IIS上の仮想ディレクトリとして作成することも可能 任意のファイル システム上に作成
 ファイル構成 Web サイト IIS上の仮想ディレクトリとして作成することも可能 デバッグ、実行に IIS 環境を直接使用 任意のファイル システム上に作成 デバッグ、実行に ASP.NET 開発サーバーを使用 ソリューションを作成 作業の開始はソリューション ファイルを開き、終了はソリューションを閉じる Service.asmx Service.vb Web.config ... WebSite1.sln + ソリューション ファイル Web サイト用のフォルダ

16 実行/デバッグ メニュー操作による起動 デバッグ .asmx ファイルを選択して、[デバッグ開始] または [デバッグなしで開始]
 実行/デバッグ メニュー操作による起動 .asmx ファイルを選択して、[デバッグ開始] または [デバッグなしで開始] HTML 説明ページが開く HTML 説明ページからテスト ページを開いて WebMethod を呼び出す HTTP POST を使用 SOAP メッセージを使った WebMethod 呼び出しを行うには、クライアント アプリケーションを作成する必要がある デバッグ テストページ、クライアント アプリケーションに関わらず、WebMethod のデバッグが可能 Web.config の <compilation> 要素の debug 属性を true に変更する必要がある (テンプレートの初期値は false) デバッグ開始時、Visual Studio 2005 では、属性変更の問い合わせダイアログ ボックスが表示される

17  アジェンダ XML Web サービスの基本実装 Visual Studio での基本的な作り方 クライアントの基本的な作り方

18  Web 参照の追加 1/2 WSDL から情報取得 メソッド名、引数、戻り値 固有のデータスキーマ定義など

19 Web 参照の追加 2/2 プロキシ クラスの自動生成 利用されるプロトコルをカプセル化 引数や戻り値で必要な型定義も自動的に生成
Reference.vb ( Reference.cs ) プロキシ クラス 固有の型定義 DataSet派生クラス

20 プロキシ クラスの利用 プロキシ クラス SOAP over HTTP を利用
 プロキシ クラスの利用 プロキシ クラス SOAP over HTTP を利用 System.Web.Services.Protocols.SoapHttpClientProtocol 派生クラス 名前空間 : クライアントプロジェクト既定の名前空間 . サーバー名 クラス名 : サーバー側の XML Webサービスクラス名 WSDL の Service要素 Name属性 メソッド名 : サーバー側の XML Webサービスのメソッド名 WSDL の Operation要素 Name属性 VB C# Imports MyProj.Srv : Dim srv As New Service1() n = obj.Add( 100, 200 ) using MyProj.Srv; : Service1 srv = new Service1(); n = obj.Add( 100, 200 ); (Instructor's notes) ◆90分ダイジェスト vs 半日コース 半日コースでは、この後、属性宣言を使って、SOAPメッセージをカスタマイズする方法や、SOAP 拡張と呼ばれる機能を使って、SOAPメッセージを暗号化する方法を紹介しています。


Download ppt "Visual Studio 2005による XML Web サービス入門"

Similar presentations


Ads by Google