13.7.1 Webリソース初期化時の構文チェック(KDJJ20003-WとKDJJ10006-E)
ルートリソースクラスと例外マッピングプロバイダは,Webアプリケーション(WARファイル)に含まれるWebリソースが最初に呼び出される際にJAX-RSエンジンによって初期化されます。サブリソースクラスは対応するサブリソースロケータが初期化します。
ここでは初期化時の構文チェックで誤りが検出された場合について説明します。
- 〈この項の構成〉
(1) 重大な誤りがある場合
リソースクラスにpublicコンストラクタが一つも宣言されていない場合など,初期化を完了できないような重大な構文の誤りを検出したとき,エラーメッセージがログに出力されます(KDJJ10006-E※)。ルートリソースクラスと例外マッピングプロバイダではHTTPステータスコード500のHTTPレスポンスが返され,J2EEサーバにjava.lang.RuntimeExceptionがスローされます。J2EEサーバへの例外スローについては,「13.7.4 J2EEサーバへの例外のスロー」を参照してください。サブリソースクラスでは,例外マッピングプロバイダで処理可能なjava.lang.RuntimeExceptionがスローされます。
- 注※
-
追加の情報がある場合はほかのエラーメッセージも出力されます。
KDJJ10006-Eのエラーメッセージには詳細情報(サブメッセージ)のリストが含まれます。サブメッセージは,それぞれ構文の誤りの具体的な内容です。サブメッセージを参照して構文の誤りを取り除いてください。KDJJ10006-Eのエラーメッセージの注意事項を次に示します。
-
構文の誤りが複数ある場合は,すべての誤りを取り除いてください。
-
Webアプリケーション(WARファイル)にルートリソースクラス,サブリソースクラス,または例外マッピングプロバイダが複数含まれている場合,どれか一つに対してでもKDJJ10006-Eのエラーメッセージが出力されているとき,ほかのどのルートリソースクラス,サブリソースクラス,および例外マッピングプロバイダも利用できません。KDJJ10006-Eのエラーメッセージが出力されなくなるまで,Webアプリケーション(WARファイル)に含まれるルートリソースクラス,サブリソースクラス,または例外マッピングプロバイダのすべてを確認してください。
(2) 軽微な誤りがある場合
HTTP GETリクエストを受け付けるリソースメソッドの戻り値がvoidである場合など,軽微な構文の誤りを検出したとき,ほかに重大な誤りがなければ警告メッセージがログに出力され(KDJJ20003-W),ほかに一つでも重大な誤りがあればエラーメッセージがログに出力されます(KDJJ10006-E)。
KDJJ10006-Eのエラーメッセージがログに出力される場合については「13.7.1(1) 重大な誤りがある場合」を参照してください。
KDJJ20003-Wの警告メッセージがログに出力される場合は,処理はそのまま続行され,軽微な構文の誤りが検出されたメソッドを除いて正常に初期化されます。軽微な構文の誤りが検出されたメソッドについては,KDJJ20003-Wの警告メッセージが出力されなくなるまで,構文を確認してください。