WSDLのオペレーション(wsdl:operation要素のname属性)からJavaのメソッド名へのマッピングについて説明します。
WSDLのオペレーションとJavaのメソッド名は,JAX-WS 2.2仕様に従ってマッピングされます。マッピング例を次の図に示します。
図15-3 オペレーションとメソッド名のマッピング例
マッピングするときに,WSDLのオペレーション名の先頭文字は小文字に変換されます。getやsetのプレフィクスは付加されません。変換例を次に示します。
(変換前)OperationName (変換後)operationName
オペレーション名には,次の表に示すすべての条件を満たす文字列を記述できます。ただし,バインディング宣言でカスタマイズする場合は,XML Schema仕様のxsd:NCName型として使用できる文字列を記述できます。
表15-5 オペレーション名に記述できる文字列の条件
項番 | 条件 | 不正な文字列の例 | 不正な文字列を指定した場合の動作 |
---|---|---|---|
1 | 半角英数字(0~9,A~Z,a~z),およびアンダースコア(_)だけを使用した文字列 | 鈴木_operation | 動作は保証されません(エラーメッセージは出力されません)。 |
2 | Javaの予約語以外の文字列※ | abstract | 標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51007-E)。 |
3 | 先頭が数字以外の文字列 | 1User_operation | 標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51029-E)。 |
WSDLに記述できるオペレーションは,ポートタイプ1個につき1~255個です。また,オペレーションの子要素には,wsdl:input要素を1個,wsdl:output要素を0個または1個,およびwsdl:fault要素を0~255個記述できます。
オペレーションの記述数と,動作の対応を次の表に示します。
表15-6 オペレーションの記述数と動作の対応
項番 | 要素 | 記述数 | 不正な文字列を指定した場合の動作 |
---|---|---|---|
1 | wsdl:operation | 0個 | 標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51029-E)。 |
2 | 1~255個 | 正常終了します。 | |
3 | 256個以上 | 標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51029-E)。 |
オペレーションの子要素の記述数と,動作の対応を次の表に示します。
表15-7 オペレーションの子要素の記述数と動作の対応
項番 | 要素 | 記述数 | 不正な文字列を指定した場合の動作 |
---|---|---|---|
1 | wsdl:input | 0個 | 標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51029-E)。 |
2 | 1個 | 正常終了します。 | |
3 | 2個以上 | 標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51029-E)。 | |
4 | wsdl:output | 0個 |
|
5 | 1個 | request-responseオペレーションにマッピングして,正常終了します。 | |
6 | 2個以上 | 標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51029-E)。 | |
7 | wsdl:fault | 0~255個 | 正常終了します。 |
8 | 256個以上 | 標準エラー出力とログにエラーメッセージが出力され,処理が終了されます(KDJW51029-E)。 |