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サービスを開発します。
項番 |
項目 |
値 |
|
---|---|---|---|
1 |
デプロイするJ2EEサーバの名称 |
jaxwsserver |
|
2 |
Webサーバのホスト名とポート番号 |
webhost:8085 |
|
3 |
ネーミングサーバのURL |
corbaname::testserver:900 |
|
4 |
コンテキストルート |
streaming_dynamic_generate |
|
5 |
スタイル |
document/literal/wrapped |
|
6 |
名前空間URI |
http://sample.com |
|
7 |
ポートタイプ |
個数 |
1 |
8 |
ローカル名 |
UserInfoImpl |
|
9 |
オペレーション |
個数 |
1 |
10 |
ローカル名 |
GetUserData |
|
11 |
サービス |
個数 |
1 |
12 |
ローカル名 |
UserInfoService |
|
13 |
ポート |
個数 |
1 |
14 |
ローカル名 |
UserInfoImplPort |
|
15 |
Webサービス実装クラス |
com.sample.UserInfoImpl |
|
16 |
Webサービス実装クラスで公開するメソッド |
個数 |
1 |
17 |
メソッド名 |
getUserData |
|
18 |
Webサービス実装内のメソッドでスローする例外 |
個数 |
1 |
19 |
クラス名 |
com.sample.UserInfoException |
Webサービス開発時のカレントディレクトリの構成を次の表に示します。
ディレクトリ |
説明 |
|||
---|---|---|---|---|
c:\temp\jaxws\works\streaming |
カレントディレクトリです。 |
|||
┣ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ |
server\ |
Webサービスの開発で使用します。 |
||
┣ ┃ ┃ |
META-INF\ |
EARファイルのMETA-INFディレクトリに対応します。 |
||
┗ |
application.xml |
「33.3.4 application.xmlを作成する」で作成します。 |
||
┣ ┃ ┃ ┃ |
src\ |
Webサービスのソースファイル(*.java)を格納します。「33.3.1 Webサービス実装クラスを作成する」および「33.3.2 Webサービス実装クラスをコンパイルする」で使用します。 |
||
┣ ┃ ┃ ┃ ┃ ┃ |
WEB-INF\ |
WARファイルのWEB-INFディレクトリに対応します。 |
||
┣ |
web.xml |
「33.3.3 web.xmlを作成する」で作成します。 |
||
┗ |
classes\ |
コンパイルしたクラスファイル(*.class)を格納します。「33.3.2 Webサービス実装クラスをコンパイルする」で使用します。 |
||
┣ ┃ |
streaming_dynamic_generate.ear |
「33.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.png |
Webサービスクライアントで使用するPNGファイルで使用します。 |
||
┣ ┃ ┃ |
usrconf.cfg |
「33.6.1 Javaアプリケーション用オプション定義ファイルを作成する」で作成します。 |
||
┗ |
usrconf.properties |
カレントディレクトリのパスは,開発する環境に合わせて変更してください。
なお,以降の説明では,この表に示すディレクトリおよびファイル名を使用します。コマンド実行例やJavaソースなどで背景色付きの太字になっている部分は,この例で使用する指定値や生成される値を示します。構築する環境に合わせて読み替えてください。
また,この章で説明する開発例では,WebサービスとWebサービスクライアントを同じ環境で開発しますが,別の環境で開発することもできます。別の環境で開発する場合は,それぞれの環境に合わせて,カレントディレクトリのパスを読み替えてください。