Cosminexus V9 アプリケーションサーバ Webサービス開発ガイド

[目次][用語][索引][前へ][次へ]

16.1.4 SEIのメソッド名からオペレーションへのマッピング

SEIのメソッド名からWSDLのオペレーション(wsdl:operation要素のname属性)へのマッピングについて説明します。

<この項の構成>
(1) マッピング
(2) メソッド名の条件
(3) オーバーロードによる名前衝突

(1) マッピング

SEIのメソッド名とWSDLのオペレーションは,JAX-WS 2.2仕様に従ってマッピングされます。マッピング例を次の図に示します。

図16-3 SEIのメソッド名とオペレーションのマッピング例

[図データ]

SEIのメソッドを公開対象とするには,次に示す条件を満たす必要があります。

SEIのメソッド名からオペレーションへのマッピング規則を次に示します。

(2) メソッド名の条件

メソッド名には,次の表に示すすべての条件を満たす文字列を記述できます。

表16-4 メソッド名に記述できる文字列の条件

項番 条件 不正な文字列の例 不正な文字列を指定した場合の動作
1 半角英数字(0〜9,A〜Z,a〜z),およびアンダースコア(_)だけを使用した文字列 鈴木_sei 動作は保証されません(エラーメッセージは出力されません)。
2 Java言語仕様で定められているJava識別子の命名規則に従った文字列 abstract cjaptコマンド実行時にコンパイルエラーとなり,終了します。

ただし,次に示すアノテーションをすべて使用する場合,Java言語仕様で定められているJava識別子の命名規則に従った文字列を記述できます。

(3) オーバーロードによる名前衝突

メソッドのオーバーロードを使用している場合,デフォルトマッピングでは名前衝突が発生するため,名前がユニークになるようにアノテーションでカスタマイズする必要があります。

オーバーロードによる名前衝突が発生する個所と,参照先を次の表に示します。

表16-5 オーバーロードによる名前衝突の発生個所と参照先

項番 名前衝突の発生個所 アノテーションの参照先
wrapperスタイル non-wrapperスタイル
1 オペレーション名 16.2.6(2)
2 inputのグローバル要素 16.2.16(1)16.2.16(2) 16.2.7(2)16.2.7(5)
3 outputのグローバル要素 16.2.17(1)16.2.17(2) 16.2.8(2)16.2.8(4)
4 リクエストbeanクラス名 16.2.16(3)
5 レスポンスbeanクラス名 16.2.17(3)

注※
ローカル名または名前空間のどちらかをカスタマイズすれば,名前衝突は発生しません。