http://www.wakhok.ac.jp/~tatsuo/ws2/ 2005年10月6日 植田龍男 Webサービス II (第2回) http://www.wakhok.ac.jp/~tatsuo/ws2/ 2005年10月6日 植田龍男
この時間の目標 JWSDP 1.6 のインストール (Webコンテナの準備) 構成の確認 jaxp, jaxb, jaxr, jaxrpc … JAX-RPC と WSDL サンプル HelloWorld で確認
作業手順 一般ユーザでログオン 必要なアーカイブとインストーラの入手 ( y:\ws2 から可能) tomcat50-jwsdp.zip jwsdp-1_6-windows-i586.exe tomcat50-jwsdp.zip の展開 (適当な場所に、 Z:\tomcat50-jwsdp ) jwsdp-1.6 インストールウィザードの実行
JWSDP 1.6 インストール(1) インストールウィザードの開始
JWSDP 1.6 インストール(2) Javaの環境を選択( J2SE 5.0 を使用)
JWSDP 1.6 インストール(3) Webコンテナの選択(Tomcat50-jwsdp)
JWSDP 1.6 インストール(4) Tomcatの管理ユーザの設定
JWSDP 1.6 インストール(5) 設定事項の確認画面
JWSDP 1.6 インストール(6) インストールの開始(数分間待ちます)
補足:JAXPの実装の変更 既存のJ2SE 1.4.2, J2SE 5.0 のコアにも JAXPのパッケージ、パーサ等の実装 J2SE 5.0 よりも JWSDP 1.6 のJAXPのバージョンが新しい 置き換える方法 1) endorsedディレクトリにコピー 2) java,javac にプロパティ情報で指定
インストールできたことの確認 Tomcat をメニューから起動、ブラウザでアクセス
Tomcat50-jwsdp のトップ画面 ドキュメントとサンプルが表示
Tomcatの管理画面 インストール時に設定したパスワードを使用
アプリケーション・マネジャ Webアプリケーションの起動・停止が可能
JWSDP 1.6のディレクトリ構成
WSDL の概説 Document Type は <definitions> 要素 WSDL の名前空間名 "http://schemas.xmlsoap.org/wsdl/ 以下の記述ではPrefixを省略 他に SOAP, XML Schema の定義も利用 内部に5個の要素が順に登場 <types>, <message>, <portTyp>, <binding>, <service>
<types> データ型の定義 W3C XML Schema でデータの型を定義 <types> <schema xmlns="http://www.w3.org/2001/XMLSchema"> <complexType name="Organization"> <sequence> <element name="id" type="xsd:string"/> <element name="name" type="xsd:string"/> </sequence> </complexType> </schema> </types>
<messages> 交換されるデータ Javaのメソッドの引数、返り値に対応 <message name="HelloIF_sayHelloBack"> <part name="String_1" type="xsd:string"/> </message> <message name="HelloIF_sayHelloBackResponse"> <part name="result" type="xsd:string"/>
<portType> インタフェース サービスのインタフェースに対応 <portType name="HelloIF"> <operation name="sayHelloBack" parameterOrder="String_1"> <input message="tns:HelloIF_sayHelloBack"/> <output message="tns:HelloIF_sayHelloBackResponse"/> </operation> </portType>
<binding> 通信の実装へ サービスの通信手段(Soapメッセージ等) <binding name="HelloIFBinding" type="tns:HelloIF"> <operation name="sayHelloBack"> <input> <soap:body encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/" use="encoded" /> </input>
<service> サービスにアクセス サービスのエンドポイントなどを指定 <service name="HelloWorldService"> <port name="HelloIFPort" binding="tns:HelloIFBinding"> <soap:address location=“http://localhost:8080/hello"/> </port> </service>