Web サービスのコンパイル済みバインディングのトラブルシューティングのヒント
このヒントを利用して、Java™ プログラミング・モデルに基づいて開発および実装された Web サービスの、コンパイル済みバインディングのトラブルシューティングを行います。
このトピックの各セクションでは、Web サービスのコンパイル済みバインディングに関して経験する可能性のある問題を取り上げます。 また、それらの問題のトラブルシューティングに役立つ解決策が 提示されています。
デフォルトの XML 名前空間を Java パッケージにマップすると、コンテキスト・ルートが認識されない
デフォルトの XML 名前空間を Java パッケージにマップする場合、コンテキスト・ルートは認識されません。 1 つ目のスラッシュまで 2 つの名前空間が同じ場合、 それらは同じ Java パッケージにマップされます。 例えば、XML 名前空間 http://www.ibm.com/foo および http://www.ibm.com/bar は、どちらも Java パッケージ www.ibm.com にマップされます。Java2WSDL コマンドの -NStoPkg オプションを使用して、 完全修飾名前空間にパッケージを指定します。
Java コードから Web サービス記述言語 (WSDL) へのマッピングを 元の Java コードに戻すことができない
WSDL2Java コマンド行ツールを使用して Java コードに再生成するときに、 Java2WSDL コマンド行ツールを使用して作成した WSDL ファイルをコンパイルできない場合、その原因は、 Java から WSDL への Java API for XML-based remote procedure call (JAX-RPC) のマッピングを元の Java コードに戻すことができないためです。
この問題のトラブルシューティングを行うためには、 WSDL2Java コマンドで -introspect オプションを指定してみてください。 -instrospect は、WSDL2Java コマンドに、 既存の Java クラスを調べて、元の Java コードと一致する成果物を生成する際に役立つ情報を収集するように指示するオプションです。
Web サービスにアクセスしたときに、セッション Bean がインスタンス化に失敗する
Web サービスにアクセスしようとして、エラー「WSWS3422E: エラー: bean_name をインスタンス化できません」が表示された場合、セッション Bean が、サーブレット・タイプの Web サービスとしてアクセスされている可能性があります。
Web サービスの初期テスト中にこのエラー・メッセージが表示された場合、正しいタイプの Web サービスが生成されたことを Web サービス開発者に確認する必要があります。例えば、セッション Bean が Web サービスとして公開された場合、エンタープライズ Bean タイプの Web サービスが作成されます。 サーブレット・タイプの Web サービスとしてアクセスされたセッション Bean は、この例外を引き起こすことがあります。