Presentation is loading. Please wait.

Presentation is loading. Please wait.

WSDL と JAX-RPC http://www.wakhok.ac.jp/~tatsuo/ws2/ 2005年10月13日 Webサービス II (第3回) WSDL と JAX-RPC http://www.wakhok.ac.jp/~tatsuo/ws2/ 2005年10月13日.

Similar presentations


Presentation on theme: "WSDL と JAX-RPC http://www.wakhok.ac.jp/~tatsuo/ws2/ 2005年10月13日 Webサービス II (第3回) WSDL と JAX-RPC http://www.wakhok.ac.jp/~tatsuo/ws2/ 2005年10月13日."— Presentation transcript:

1 WSDL と JAX-RPC http://www.wakhok.ac.jp/~tatsuo/ws2/ 2005年10月13日
Webサービス II (第3回) WSDL と JAX-RPC 2005年10月13日

2 この時間の目的 Webサービスと JAX-RPC JWSDP 1.6 における取り扱い WSDLの理解 Antツールによる開発
(ビルドファイルの活用)

3 開発作業のポイント サービスの定義は WSDLに (Web Service Definition Language)
(War 形式のファイルを生成、配備) WSDL からクライアント側も構築 サービスの実行までの手順は Antのビルドファイルに

4 復習:WSDL の概説 Document Type は <definitions> 要素 WSDL の名前空間名
" 以下の記述ではPrefixを省略 他に SOAP, XML Schema の定義も利用 内部に5個の要素が順に登場 <types>, <message>, <portTyp>, <binding>, <service>

5 <types> データ型の定義
W3C XML Schema でデータの型を定義 <types> <schema xmlns=" <complexType name="Organization"> <sequence> <element name="id" type="xsd:string"/> <element name="name" type="xsd:string"/> </sequence> </complexType> </schema> </types>

6 <messages> 交換されるデータ
Javaのメソッドの引数、返り値に対応 <message name="HelloIF_sayHelloBack"> <part name="String_1" type="xsd:string"/> </message> <message name="HelloIF_sayHelloBackResponse"> <part name="result" type="xsd:string"/>

7 <portType> インタフェース
サービスのインタフェースに対応 <portType name="HelloIF">   <operation name="sayHelloBack" parameterOrder="String_1"> <input message="tns:HelloIF_sayHelloBack"/> <output message="tns:HelloIF_sayHelloBackResponse"/> </operation> </portType>

8 <binding> 通信の実装へ
サービスの通信手段(Soapメッセージ等) <binding name="HelloIFBinding" type="tns:HelloIF"> <operation name="sayHelloBack"> <input> <soap:body encodingStyle= " use="encoded" /> </input>

9 <service> サービスにアクセス
サービスのエンドポイントなどを指定 <service name="HelloWorldService"> <port name="HelloIFPort" binding="tns:HelloIFBinding"> <soap:address location=“ </port> </service>

10 では、サンプルHelloWorldから 最初に存在するもの HelloWorldService.wsdl その他の設定ファイル
web.xml, config.xml, jaxrpc-ri.xml tomcat.xml Ant による開発 build.xml, build.properties

11 補足: JWSDP 1.6 の Ant 単体のものと同じ+少し便利な環境設定 環境変数 JAVA_HOME, JWSDP_HOME
ANT_HOMEなど jwsdp-shared\bin\setenv.bat を呼び出す %ANT_HOME%\bin は PATHに追加 CATALINA_HOMEも設定不要 (配備情報はbuild.properties, tomcat.xml)

12 HelloWorld のbuild.xml (1)
主要なターゲット サーバ側の構築 generate-server, compile-server create-war, build-war, deploy-war (デフォルトは build = build-war) クライアント側の構築 generalte-client, comile-client run-client

13 HelloWorld のbuild.xml (2)
generate-server ツール wscompile WSDL を元にサーバ側に必要なソースファイルを自動生成 HelloIF.java, HelloIF_Impl.java, それらのコンパイル (自動生成されたファイルは作業領域に)

14 HelloWorld のbuild.xml (3)
compile-server サービスの実装とそのコンパイル( javac ) HelloImpl クラス HelloIF に定義されたメソッド(WSDLで定義)を実装する

15 HelloWorld のbuild.xml (4)
create-war Warアーカイブの生成(第1段階) コンパイルされたバイトコードをまとめる HelloWorld-raw.war

16 HelloWorld のbuild.xml (5)
build-war 実際に配備されるWarファイルの生成 ツール wsdeploy 必要なライブラリ等も付加 HelloWorldディレクトリに HelloWorld.warを生成 (デフォルトの作業) 一時ファイルの消去などの後始末

17 HelloWorld のbuild.xml (6)
deploy-war WarファイルをWebコンテナへ配備 build.properties tomcat.xml の情報を元にコピー

18 HelloWorld のbuild.xml (7)
generate-client ツール wscompile WSDLの情報を元にクライアント側のソースファイルを自動生成、コンパイル HelloIF.java, Stubのクラス他 作業は一時的な作業領域に

19 HelloWorld のbuild.xml (8)
compile-client クライアントのプログラム HelloClientのコンパイル javac で実行

20 HelloWorld のbuild.xml (9)
run-client クライアントプログラムの実行 java コマンドによる

21 作業手順のまとめ Webコンテナ(Tomcat)の起動 サーバ側の構築 ant Warファイルの配備 ant deploy-war
(サービスの開始) クライアント側の構築と実行 ant run-client

22 丁寧に手順を追うと ant generate-server ant compile-server ant create-war
ant build-war ant deploy-war ant generate-client ant compile-client ant run-client


Download ppt "WSDL と JAX-RPC http://www.wakhok.ac.jp/~tatsuo/ws2/ 2005年10月13日 Webサービス II (第3回) WSDL と JAX-RPC http://www.wakhok.ac.jp/~tatsuo/ws2/ 2005年10月13日."

Similar presentations


Ads by Google