0

Web サービス クライアントを含むアプリケーションを JBoss (5.1.0.GA) にデプロイしています。Web サービス呼び出しを行っているライブラリはコンパイル済みの JAR として提供されているため、その実装を変更することはできません。私は AXIS 1.4 を使用していますが、JBoss の外でも問題なく動作します。Web サービス呼び出しをトリガーする操作をデプロイして実行しようとすると、次の例外が発生します。

javax.xml.soap.SOAPException: SOAP のメッセージ ファクトリを作成できません: org.jboss.ws.core.soap.MessageFactoryImpl を javax.xml.soap.MessageFactory にキャストできません

JBoss が提供する saaj 実装を使用しないようにアプリケーションの構成を変更できますか? サーバー全体に変更を加えるのを避けたいと考えています。そこには、いじりたくないアプリケーションが他にもいくつかデプロイされているためです。

4

1 に答える 1

0

Jboss 5 ではjboss-classloading.xml、デプロイ可能なリソース用にカスタム クラスローディング ファイルを作成するオプションがあります。したがって、コンパイルした jar が WAR/EAR 内にパッケージ化されている場合、サーバー ライブラリではなく、この jar で saaj 実装を使用するように JBoss に指示できます。この記事は、それがどのように機能するかを非常にうまく説明しています。

http://phytodata.wordpress.com/2010/10/21/demystifying-the-jboss5-jboss-classloading-xml-file/

于 2011-07-07T02:17:44.447 に答える