この章で説明する開発例では,SEIを起点としたWebサービスを開発します。なお,ここではスタブベースでの開発例を説明しますが,ディスパッチベースやAPIベースでも開発できます。
開発するWebサービスの構成を次の表に示します。
表8-1 Webサービスの構成(SEI起点)
項番 | 項目 | 値 | |
---|---|---|---|
1 | デプロイするJ2EEサーバの名称 | jaxwsserver | |
2 | Webサーバのホスト名とポート番号 | webhost:8085 | |
3 | ネーミングサーバのURL | corbaname::testserver:900 | |
4 | コンテキストルート | statelessjava_dynamic_generate | |
5 | スタイル | document/literal/wrapped | |
6 | 名前空間URI | http://sample.com | |
7 | ポートタイプ | 個数 | 1 |
8 | ローカル名 | AddNumbersImpl | |
9 | オペレーション | 個数 | 1 |
10 | ローカル名 | add | |
11 | サービス | 個数 | 1 |
12 | ローカル名 | AddNumbersImplService | |
13 | ポート | 個数 | 1 |
14 | ローカル名 | AddNumbersImplPort | |
15 | Webサービス実装クラス | com.sample.AddNumbersImpl | |
16 | Webサービス実装クラスで公開するメソッド | 個数 | 1 |
17 | メソッド名 | add | |
18 | Webサービス実装内のメソッドでスローする例外 | 個数 | 1 |
19 | クラス名 | com.sample.AddNumbersFault |
Webサービス開発時のカレントディレクトリの構成を次の表に示します。
表8-2 カレントディレクトリの構成(SEI起点)
ディレクトリ | 説明 | ||||
---|---|---|---|---|---|
c:¥temp¥jaxws¥works¥statelessjava | カレントディレクトリです。 | ||||
┣ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ | server¥ | Webサービスの開発で使用します。 | |||
┣ ┃ ┃ | META-INF¥ | EARファイルのMETA-INFディレクトリに対応します。 | |||
┗ | application.xml | 「8.3.3 application.xmlを作成する」で作成します。 | |||
┣ ┃ ┃ ┃ | src¥ | Webサービスのソースファイル(*.java)を格納します。「8.3.1 Webサービス実装クラスを作成する」および「8.3.2 Webサービス実装クラスをコンパイルする」で使用します。 | |||
┣ ┃ ┃ ┃ ┃ ┃ ┃ | jar¥ | コンパイルしたクラスファイル(*.class)を格納します。「8.3.1 Webサービス実装クラスを作成する」および「8.3.2 Webサービス実装クラスをコンパイルする」で使用します。 | |||
┗ | WEB-INF¥ | EJB JARファイルのWEB-INFディレクトリに対応します。 | |||
┗ | wsdl¥ | 「8.3.4 WSDLファイルを作成する(任意)」で作成します。 | |||
┣ ┃ | statelessjava_dynamic_generate.ear | 「8.3.5 EARファイルを作成する」で作成します。 | |||
┗ | statelessjava_dynamic_generate.war | ||||
┗ | client¥ | Webサービスクライアントの開発で使用します。 | |||
┣ ┃ ┃ ┃ ┃ | src¥ | Webサービスクライアントのソースファイル(*.java)を格納します。「8.5.1 サービスクラスを生成する」および「8.5.2 Webサービスクライアントの実装クラスを作成する」で使用します。 | |||
┣ ┃ ┃ ┃ | classes¥ | コンパイルしたクラスファイル(*.class)を格納します。「8.5.3 Webサービスクライアントの実装クラスをコンパイルする」で使用します。 | |||
┣ ┃ ┃ | usrconf.cfg | 「8.6.1 Javaアプリケーション用オプション定義ファイルを作成する」で作成します。 | |||
┗ | usrconf.properties | 「8.6.2 Javaアプリケーション用ユーザプロパティファイルを作成する」で作成します。 |
カレントディレクトリのパスは,開発する環境に合わせて変更してください。
なお,以降の説明では,この表に示すディレクトリおよびファイル名を使用します。コマンド実行例やJavaソースなどで太字になっている部分は,この例で使用する指定値や生成される値を示します。構築する環境に合わせて読み替えてください。
また,この章で説明する開発例では,WebサービスとWebサービスクライアントを同じ環境で開発しますが,別の環境で開発することもできます。別の環境で開発する場合は,それぞれの環境に合わせて,カレントディレクトリのパスを読み替えてください。