15.1.1 名前空間からパッケージ名へのマッピング
WSDLの名前空間(wsdl:definitions要素のtargetNamespace属性)からパッケージ名へのマッピングについて説明します。
- <この項の構成>
- (1) マッピング
- (2) 名前空間の条件
(1) マッピング
WSDLの名前空間とパッケージ名は,JAX-WS 2.2仕様に従ってマッピングされます。詳細は,JAX-WS 2.2仕様を参照してください。
マッピング例を次の図に示します。
図15-1 名前空間とパッケージ名のマッピング例
![[図データ]](figure/zu110100.gif)
(2) 名前空間の条件
WSDLに記述する名前空間の条件について説明します。
- プロトコル
名前空間は,http://またはurn:のプロトコルで記述してください。http://またはurn:のプロトコル以外(https://,file://など)を記述した場合,標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51002-E)。
また,相対パスで記述した場合,標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51003-E)。
- 名前空間の記述形式
名前空間には次に示す形式は記述できません。次に示す形式で記述した場合,標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51004-E)。
- 空文字列
- クエリストリング(例)http://example.com/?a=b
- アンカー(例)http://example.com/index.html#anchor
- ポート番号(例)http://example.com:8080/
- ユーザ名/パスワード(例)http://user:password@example.com
- 記述できる文字列
区切り文字のスラッシュ(/)またはピリオド(.)で区切られたセグメントには,次の表に示すすべての条件を満たす文字列を記述できます。ただし,バインディング宣言でカスタマイズする場合は,RFC 2396仕様の規則に従った文字列を記述できます。
表15-2 名前空間に記述できる文字列の条件
項番 | 条件 | 不正な文字列の例 | 不正な文字列を指定した場合の動作 |
---|
1 | 半角英数字(0~9,A~Z,a~z)だけを使用した文字列 | http://鈴木.com | 動作は保証されません(エラーメッセージは出力されません)。 |
2 | Javaの予約語以外の文字列 | http://xxx.com/abstract | Javaのパッケージ名にマッピングするときに,Java予約語の先頭にアンダースコア(_)が付きます。 (例)com.xxx._abstract |
3 | 先頭が数字でない文字列 | http://1xxx.com | Javaのパッケージ名にマッピングするときに,先頭が数字である文字列の先頭にアンダースコア(_)が付きます。 (例)com._1xxx |