Javaのパッケージ名からWSDLの名前空間(wsdl:definitions要素のtargetNamespace属性)へのマッピングについて説明します。
SEIおよびWebサービス実装クラスのパッケージ名と,WSDLの名前空間は,JAX-WS 2.2仕様に従ってマッピングされます。マッピング例を次の図に示します。
図16-1 Javaのパッケージ名と名前空間のマッピング例
Javaのパッケージ名のピリオド(.)で区切られたセグメントには,次の表に示すすべての条件を満たす文字列を記述できます。ただし,javax.jws.WebServiceアノテーションのtargetNamespace要素を使用する場合,Java言語仕様で定められているJava識別子の命名規則に従った文字列を記述できます。
表16-2 Javaのパッケージ名の各セグメントに記述できる文字列の条件
項番 | 条件 | 不正な文字列の例 | 不正な文字列を指定した場合の動作 |
---|---|---|---|
1 | 半角英数字(0~9,A~Z,a~z)だけを使用した文字列 | package com.鈴木 | 動作は保証されません(エラーメッセージは出力されません)。 |
2 | Java言語仕様で定められているJava識別子の命名規則に従った文字列 | package com.abstract; | cjaptコマンド実行時にコンパイルエラーとなり,終了します。 |
入力となるSEIまたはWebサービス実装クラスがデフォルトパッケージの場合,javax.jws.WebServiceアノテーションのtargetNamespace要素で名前空間名を記述してください。
javax.jws.WebServiceアノテーションのtargetNamespace要素で記述していない場合は,標準エラー出力とログにエラーメッセージが出力されます(KDJW61004-E)。
javax.jws.WebServiceアノテーションのtargetNamespace要素については,「16.2.9 javax.jws.WebServiceアノテーション」を参照してください。