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

Slides:



Advertisements
Similar presentations
1 プリミティブ Web サービスの 入出力データに関する一考察 2005 年 3 月 21 日 松江工業高等専門学校 情報工学科 奈良先端科学技術大学院大学 情報科学研究科 越田高志 電子情報通信学会 2005年総合 大会.
Advertisements

1 情報基礎 A 第 9 週 プログラミング入門 VBA の基本文法 1 準備・変数・データの入出力 徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
Internet Explorer 障害解析 最初の一歩 - IE のトラブルを理解する -. 概要 Internet Explorer を使用中に発生するトラブルの 種類と、調査のための切り分け方法を紹介します! (以降は IE と略称で表記します) よくあるお問い合わせ Web ページの表示が白画面のまま完了しない.
1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也. 講義計画(あくまで予定) 第 1 回 プログラミング言語の種類と歴史 第 2 回 eclipse の基本操作 第 3 回 eclipse のデバッグ機能 第 4 回 構造化プログラミングの復習 第 5 回 演習 第 6 回 構造化指向からオブジェクト指向へ.
モバイルエージェントシステムの実装 エージェント移動(状態とコードの一括移送) エージェント移動の特徴 システム構成 エージェントプログラム
ASP入門 - Windows 2000 Server 活用 -.
IIS 4.0で開発をするコツ Webアプリケーション構築.
Windows HPC Server を使ってみる
Webサービスに関する基本用語 Masatoshi Ohishi / NAOJ & Sokendai
JPAを利用した RESTful Webサービスの開発
2006年11月15日 植田龍男 Webサービス II (第8回) 年11月15日 植田龍男.
2006年11月22日 植田龍男 Webサービス II (第9回) 年11月22日 植田龍男.
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
Visual Studio 2005による Web アプリケーション入門
プログラミング基礎I(再) 山元進.
WebサービスII (第10回) 2007年11月28日 植田龍男.
コンポーネントの再利用に必要な情報 えムナウ (児玉宏之)
コンポーネントの再利用に必要な情報 えムナウ (児玉宏之)
WSDL と JAX-RPC 年10月13日 Webサービス II (第3回) WSDL と JAX-RPC 年10月13日.
JavaServlet&JSP入門 01K0018 中村太一.
2005年11月17日 Webサービス II (第6回) 年11月17日.
MSBuild 色々出来るよ 2011/04/02 お だ.
WebサービスII (第8回) 2007年11月14日 植田龍男.
アプリケーション共有機能 〈参考〉 (図1) (図2)
JSFによるWebアプリケーション開発 第6回
リファクタリングのための 変更波及解析を利用した テスト支援ツールの提案
WSDL と JAX-RPC 年10月20日 Webサービス II (第4回) WSDL と JAX-RPC 年10月20日.
2005年10月6日 植田龍男 Webサービス II (第2回) 年10月6日 植田龍男.
Microsoft® Office Access® 2007 トレーニング
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
データベース設計 第9回 Webインタフェースの作成(1)
入出力データ型に透過な Webサービス動的実行システム 松江工業高等専門学校 情報工学科 越田高志 情報処理学会第68回全国大会
プログラミング演習3 第2回 GUIの復習.
第8章 Web技術とセキュリティ   岡本 好未.
Webサービスを使った クライアント・プログラム
Oracle XEを使ってみよう 初音玲.
SOAP/UDDI/WSDLによるB2Bシステムの開発
SOAP/UDDI/WSDLによるB2Bシステム構築の一事例
Visual Studio 2005による スマート クライアント入門
MVP for VB が語る C# 入門 初音 玲.
MVP for VB が語る C# 入門 初音 玲.
WebサービスII (第7回) 2007年11月7日 植田龍男.
Windows PowerShell Cmdlet
EclipseでWekaのAPIを呼び出す
.NET Framework 3.0 概要 (旧称 : WinFX)
データベースアクセス技術 ADO.NET 2.0 開発者カテゴリ ◆NOTES◆
プログラミング演習3 第2回 GUIの復習.
10-1 SAXの概要 10-2 Saxプログラミングの基礎 10-3 saxのプログラム例
Jakarta Struts (2) ソフトウェア特論 第11回.
電子情報通信学会 2006年総合大会 Webサービス標準化 の提案と実装 2006年3月26日 松江工業高等専門学校 越田高志.
ゲームプログラミング講習  第3章 ゲーム作成 ブロック崩しを作ります ゲームプログラミング講習 第3章 ゲーム作成.
Web - 01 IIS を インストールしよう.
第13回 2007年7月20日 応用Java (Java/XML).
Twitterクライアントに学ぶASP.NETアプリ
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
プログラミング言語論 第六回 理工学部 情報システム工学科 新田直也.
C#プログラミング実習 第3回.
計算機プログラミングI 木曜日 1時限・5時限 担当: 増原英彦 第1回 2002年10月10日(木)
ASP.NET 2.0による Webサービスの構築 2008年10月18日 こくぶんまさひろ.
System.AddInを利用したアプリケーション拡張 - アドインの開発 -
JSPの基本 J2EE I (データベース論) 第8回 /
vc-1. Visual Studio C++ の基本操作 (Visual Studio C++ の実用知識を学ぶシリーズ)
Visual Studio 2013 の起動と プロジェクトの新規作成 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
cp-3. サブクラス,継承 (C++ オブジェクト指向プログラミング入門)
ASP.NET 2.0による Webサービスの構築 2008年10月18日 こくぶんまさひろ.
Microsoft Office Project Server 2007
値渡しと参照渡しについて.
System.AddInを利用したアプリケーション拡張 - アドインの開発 -
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
Presentation transcript:

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

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

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

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

.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 が雛形を自動生成するので、まる暗記する必要がない点をふれておきます。

.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; }

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

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

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

説明 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サービス http://server1/app/Service1.asmx?wsdl WSDL

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

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

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

 統合開発環境 (IDE)

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

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

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

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

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

プロキシ クラスの利用 プロキシ クラス 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メッセージを暗号化する方法を紹介しています。