Cosminexus V9 アプリケーションサーバ Webサービス開発ガイド
この章で説明する開発例では,Dispatch/ProviderでSOAPメッセージを送受信するWebサービスを,SAAJを利用して開発します。
なお,ここでの例ではWebサービスクライアントから社員番号と社員の顔写真の情報が送信され,Webサービスが受信した情報を登録し,登録確認メッセージを返却するものとします。社員番号と登録確認メッセージのJavaデータ型はjava.lang.String,顔写真のJavaデータ型はjavax.activation.DataHandlerです。
開発するWebサービスの構成を次の表に示します。
表9-1 Webサービスの構成(プロバイダ起点・SAAJ)
| 項番 | 項目 | 値 | |
|---|---|---|---|
| 1 | デプロイするJ2EEサーバの名称 | jaxwsserver | |
| 2 | Webサーバのホスト名とポート番号 | webhost:8085 | |
| 3 | ネーミングサーバのURL | corbaname::testserver:900 | |
| 4 | コンテキストルート | dispatch_provider | |
| 5 | 名前空間URI | http://sample.com | |
| 6 | サービス | 個数 | 1 |
| 7 | ローカル名 | UserInfoService | |
| 8 | ポート | 個数 | 1 |
| 9 | ローカル名 | UserInfoPort | |
Webサービス開発時のカレントディレクトリの構成を次の表に示します。
表9-2 カレントディレクトリの構成(プロバイダ起点・SAAJ)
| ディレクトリ | 説明 | |||
|---|---|---|---|---|
| c:\temp\jaxws\works\dispatch_provider | カレントディレクトリです。 | |||
| ┣ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ |
server\ | Webサービスの開発で使用します。 | ||
| ┣ ┃ ┃ ┃ ┃ |
META-INF\ | EARファイルのMETA-INFディレクトリに対応します。 | ||
| ┗ | application.xml | 「9.3.4 application.xmlを作成する」で作成します。 | ||
| ┣ ┃ |
src\ | Webサービスのソースファイル(*.java)を格納します。「9.3.1 プロバイダ実装クラスを作成する」で使用します。 | ||
| ┣ ┃ ┃ ┃ ┃ ┃ |
WEB-INF\ | WARファイルのWEB-INFディレクトリに対応します。 | ||
| ┣ | web.xml | 「9.3.3 web.xmlを作成する」で作成します。 | ||
| ┗ | classes\ | コンパイルしたクラスファイル(*.class)を格納します。「9.3.2 Javaソースを生成する」で使用します。 | ||
| ┣ | dispatch_provider.ear | 「9.3.5 EARファイルを作成する」で作成します。 | ||
| ┗ | dispatch_provider.war | |||
| ┗ | client\ | Webサービスクライアントの開発で使用します。 | ||
| ┣ ┃ ┃ |
src\ | Webサービスクライアントのソースファイル(*.java)を格納します。「9.5.1 Webサービスクライアントの実装クラスを作成する」で作成します。 | ||
| ┣ ┃ ┃ |
classes\ | コンパイルしたクラスファイル(*.class)を格納します。「9.5.2 Webサービスクライアントの実装クラスをコンパイルする」で作成します。 | ||
| ┣ ┃ |
usrconf.cfg | 「9.6.1 Javaアプリケーション用オプション定義ファイルを作成する」で作成します。 | ||
| ┗ | usrconf.properties | 「9.6.2 Javaアプリケーション用ユーザプロパティファイルを作成する」で作成します。 | ||
カレントディレクトリのパスは,開発する環境に合わせて変更してください。
なお,以降の説明では,この表に示すディレクトリおよびファイル名を使用します。コマンド実行例やJavaソースなどで太字になっている部分は,この例で使用する指定値や生成される値を示します。構築する環境に合わせて読み替えてください。
また,この章で説明する開発例では,WebサービスとWebサービスクライアントを同じ環境で開発しますが,別の環境で開発することもできます。別の環境で開発する場合は,それぞれの環境に合わせて,カレントディレクトリのパスを読み替えてください。
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.