[WLS] Weblogic SAAJ version problem : java.lang.UnsupportedOperationException: This class does not support SAAJ 1.1

最近こんな例外を吐く問題にぶちあたりました。
java.lang.UnsupportedOperationException: This class does not support SAAJ 1.1 
統合WebLogic Server 10.3の環境(訳注:統合WebLogic Server 10.3の環境とは、JDeveloper 11gに組み込まれているWebLogic Serverのことです)でアプリケーションを実行しても、同じ結果になりました。調査したところ、解決方法が以下のエントリにありましたので、共有したいと思います。

JAX-WS, CXF and SAAJ on Oracle Weblogic 10.3
http://blog.xebia.com/2009/07/jax-ws-cxf-and-saaj-on-oracle-weblogic-103/

この問題はWebLogicのデフォルトSAAJ実装が原因でした。weblogic.webservice.core.soapパッケージに欠陥があったのです。それゆえ、よい実装であるweblogic.xml.saajパッケージを使うよう、プロパティのオーバーライドしなければならない、ということなのです。
この問題にぶちあたった場合、JDeveloper内のサーバ起動設定もしくはstartWebLogicスクリプトに以下の設定を追加する必要があります。
-Djavax.xml.soap.MessageFactory=weblogic.xml.saaj.MessageFactoryImpl 
[訳注]
weblogic.webservice.core.soapパッケージはdeprecatedの状態なので、weblogic.xml.saajパッケージを使用することを推奨しています。
サポートページにも類似の事象に対する解決策として、上記方法が記載されています(Doc ID 777100.1)。

原文はこちら。
http://blogs.oracle.com/sravansarraju/2011/04/weblogic_saaj_version_problem_javalangunsupportedoperationexception_this_class_does_not_support_saaj.html

0 件のコメント:

コメントを投稿