33.1 開発例の構成(SEI起点・ストリーミング)

この章で説明する開発例では,SEIを起点としたWebサービスを開発します。開発するWebサービスは,ストリーミングを使用します。なお,ここではJAX-WS 2.2仕様3.3節で説明されている,暗黙のSEIの形式(明示的なSEIを作成しない形式)のWebサービスを開発します。

開発するWebサービスの概要および利用する情報について説明します。

開発例の概要
社員番号,顔写真,社員名,所属というユーザ情報を管理し,Webサービスクライアントからの入力に対して,処理結果を返すWebサービスを新規に開発します。
Webサービスクライアントからの要求情報およびサーバからの応答情報を次の表に示します。

表33-1 Webサービスクライアントからの要求情報

情報名Javaデータ型
社員番号java.lang.String
顔写真javax.activation.DataHandler

表33-2 サーバからの応答情報

情報名Javaデータ型
登録確認メッセージjava.lang.String
社員名java.lang.String
所属java.lang.String

サーバからの応答情報は,ユーザ定義型クラスのUserDataクラスで保持されます。

この章で説明する開発例では,次の表に示す構成のWebサービスを開発します。

表33-3 Webサービスの構成(SEI起点・ストリーミング)

項番項目
1デプロイするJ2EEサーバの名称jaxwsserver
2Webサーバのホスト名とポート番号webhost:8085
3ネーミングサーバのURLcorbaname::testserver:900
4コンテキストルートstreaming_dynamic_generate
5スタイルdocument/literal/wrapped
6名前空間URIhttp://sample.com
7ポートタイプ個数1
8ローカル名UserInfoImpl
9オペレーション個数1
10ローカル名GetUserData
11サービス個数1
12ローカル名UserInfoService
13ポート個数1
14ローカル名UserInfoImplPort
15Webサービス実装クラスcom.sample.UserInfoImpl
16Webサービス実装クラスで公開するメソッド個数1
17メソッド名getUserData
18Webサービス実装内のメソッドでスローする例外個数1
19クラス名com.sample.UserInfoException

Webサービス開発時のカレントディレクトリの構成を次の表に示します。

表33-4 カレントディレクトリの構成(SEI起点・ストリーミング)

ディレクトリ説明
c:¥temp¥jaxws¥works¥streamingカレントディレクトリです。




















server¥Webサービスの開発で使用します。


META-INF¥EARファイルのMETA-INFディレクトリに対応します。
application.xml33.3.4 application.xmlを作成する」で作成します。



src¥Webサービスのソースファイル(*.java)を格納します。「33.3.1 Webサービス実装クラスを作成する」および「33.3.2 Webサービス実装クラスをコンパイルする」で使用します。





WEB-INF¥WARファイルのWEB-INFディレクトリに対応します。
web.xml33.3.3 web.xmlを作成する」で作成します。
classes¥コンパイルしたクラスファイル(*.class)を格納します。「33.3.2 Webサービス実装クラスをコンパイルする」で使用します。

streaming_dynamic_generate.ear33.3.5 EARファイルを作成する」で作成します。
streaming_dynamic_generate.war
client¥Webサービスクライアントの開発で使用します。



src¥Webサービスクライアントのソースファイル(*.java)を格納します。「33.5.1 サービスクラスを生成する」および「33.5.2 Webサービスクライアントの実装クラスを作成する」で使用します。


classes¥コンパイルしたクラスファイル(*.class)を格納します。「33.5.3 Webサービスクライアントの実装クラスをコンパイルする」で使用します。

portrait.pngWebサービスクライアントで使用するPNGファイルで使用します。


usrconf.cfg33.6.1 Javaアプリケーション用オプション定義ファイルを作成する」で作成します。
usrconf.properties33.6.2 Javaアプリケーション用ユーザプロパティファイルを作成する」で作成します。

カレントディレクトリのパスは,開発する環境に合わせて変更してください。

なお,以降の説明では,この表に示すディレクトリおよびファイル名を使用します。コマンド実行例やJavaソースなどで太字になっている部分は,この例で使用する指定値や生成される値を示します。構築する環境に合わせて読み替えてください。

また,この章で説明する開発例では,WebサービスとWebサービスクライアントを同じ環境で開発しますが,別の環境で開発することもできます。別の環境で開発する場合は,それぞれの環境に合わせて,カレントディレクトリのパスを読み替えてください。