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