この章で説明する開発例では,SEIを起点としたWebサービスを開発します。開発するWebサービスは,MTOM/XOP仕様形式の添付ファイルを使用します。
開発するWebサービスの概要および利用する情報について説明します。
表31-1 Webサービスクライアントからの要求情報
情報名 | Javaデータ型 |
---|---|
社員番号 | java.lang.String |
顔写真 | javax.activation.DataHandler |
表31-2 サーバからの応答情報
情報名 | Javaデータ型 |
---|---|
登録確認メッセージ | java.lang.String |
社員名 | java.lang.String |
所属 | java.lang.String |
サーバからの応答情報は,ユーザ定義型クラスのUserDataクラスで保持されます。
Webサービス開発時のカレントディレクトリの構成を次の表に示します。
表31-3 カレントディレクトリの構成(SEI起点・添付ファイル)
ディレクトリ | 説明 | |||
---|---|---|---|---|
c:¥temp¥jaxws¥works¥mtom¥ | カレントディレクトリです。 | |||
┣ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ | server¥ | Webサービスの開発で使用します。 | ||
┣ ┃ ┃ | META-INF¥ | EARファイルのMETA-INFディレクトリに対応します。 | ||
┗ | application.xml | 「31.3.4 application.xmlを作成する」で作成します。 | ||
┣ ┃ ┃ ┃ | src¥ | Webサービスのソースファイル(*.java)を格納します。「31.3.1 Webサービス実装クラスを作成する」および「31.3.2 Webサービス実装クラスをコンパイルする」で使用します。 | ||
┣ ┃ ┃ ┃ ┃ ┃ | WEB-INF¥ | WARファイルのWEB-INFディレクトリに対応します。 | ||
┣ | web.xml | 「31.3.3 web.xmlを作成する」で作成します。 | ||
┗ | classes¥ | コンパイルしたクラスファイル(*.class)を格納します。「31.3.2 Webサービス実装クラスをコンパイルする」で使用します。 | ||
┣ ┃ | mtom_dynamic_generate.ear | 「31.3.5 EARファイルを作成する」で作成します。 | ||
┗ | mtom_dynamic_generate.war | |||
┗ | client¥ | Webサービスクライアントの開発で使用します。 | ||
┣ ┃ ┃ ┃ ┃ | src¥ | Webサービスクライアントのソースファイル(*.java)を格納します。「31.5.1 サービスクラスを生成する」および「31.5.2 Webサービスクライアントの実装クラスを作成する」で使用します。 | ||
┣ ┃ ┃ | classes¥ | コンパイルしたクラスファイル(*.class)を格納します。「31.5.3 Webサービスクライアントの実装クラスをコンパイルする」で使用します。 | ||
┣ ┃ | portrait.png | Webサービスクライアントで使用するPNGファイルで使用します。 | ||
┣ ┃ ┃ | usrconf.cfg | 「31.6.1 Javaアプリケーション用オプション定義ファイルを作成する」で作成します。 | ||
┗ | usrconf.properties | 「31.6.2 Javaアプリケーション用ユーザプロパティファイルを作成する」で作成します。 |
カレントディレクトリのパスは,開発する環境に合わせて変更してください。
なお,以降の説明では,この表に示すディレクトリおよびファイル名を使用します。コマンド実行例やJavaソースなどで太字になっている部分は,この例で使用する指定値や生成される値を示します。構築する環境に合わせて読み替えてください。
また,この章で説明する開発例では,WebサービスとWebサービスクライアントを同じ環境で開発しますが,別の環境で開発することもできます。別の環境で開発する場合は,それぞれの環境に合わせて,カレントディレクトリのパスを読み替えてください。