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

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

<この項の構成>
(1) マッピング
(2) オペレーション名の条件
(3) オペレーションとその子要素の記述個数

(1) マッピング

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

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

[図データ]

マッピングするときに,WSDLのオペレーション名の先頭文字は小文字に変換されます。getやsetのプレフィクスは付加されません。変換例を次に示します。

(変換前)OperationName   (変換後)operationName

(2) オペレーション名の条件

オペレーション名には,次の表に示すすべての条件を満たす文字列を記述できます。ただし,バインディング宣言でカスタマイズする場合は,XML Schema仕様のxsd:NCName型として使用できる文字列を記述できます。

表15-5 オペレーション名に記述できる文字列の条件

項番条件不正な文字列の例不正な文字列を指定した場合の動作
1半角英数字(0~9,A~Z,a~z),およびアンダースコア(_)だけを使用した文字列鈴木_operation動作は保証されません(エラーメッセージは出力されません)。
2Javaの予約語以外の文字列abstract標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51007-E)。
3先頭が数字以外の文字列1User_operation標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51029-E)。
注※
「Abstract」のように,Java予約語の先頭文字を大文字にした文字列も記述できません(マッピングによって先頭文字が小文字に変換されるため)。

(3) オペレーションとその子要素の記述個数

WSDLに記述できるオペレーションは,ポートタイプ1個につき1~255個です。また,オペレーションの子要素には,wsdl:input要素を1個,wsdl:output要素を0個または1個,およびwsdl:fault要素を0~255個記述できます。

オペレーションの記述数と,動作の対応を次の表に示します。

表15-6 オペレーションの記述数と動作の対応

項番要素記述数不正な文字列を指定した場合の動作
1wsdl:operation0個標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51029-E)。
21~255個正常終了します。
3256個以上標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51029-E)。

オペレーションの子要素の記述数と,動作の対応を次の表に示します。

表15-7 オペレーションの子要素の記述数と動作の対応

項番要素記述数不正な文字列を指定した場合の動作
1wsdl:input0個標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51029-E)。
21個正常終了します。
32個以上標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51029-E)。
4wsdl:output0個
wsdl:fault要素の記述数が0個の場合
one-wayオペレーションにマッピングして,正常終了します。
wsdl:fault要素の記述数が1個以上の場合
標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51029-E)。
51個request-responseオペレーションにマッピングして,正常終了します。
62個以上標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51029-E)。
7wsdl:fault0~255個正常終了します。
8256個以上標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51029-E)。