OpenJDK を除いて同じインストールの 2 つのサーバーがあります。稼働中のサーバーには
Java バージョン "1.6.0_24" OpenJDK ランタイム環境 (IcedTea6 1.11.5) (6b24-1.11.5-0ubuntu1~12.04.1) OpenJDK サーバー VM (ビルド 20.0-b12、混合モード)
稼働していないサーバーには
Java バージョン "1.7.0_09" OpenJDK ランタイム環境 (IcedTea7 2.3.4) (7u9-2.3.4-0ubuntu1.12.04.1) OpenJDK クライアント VM (ビルド 23.2-b09、混合モード、共有)
どちらの場合も、次のjboss-web.xml
ようなものがあります。
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<context-root>/mycontext</context-root>
</jboss-web>
そして、私のライブラリが jboss に取って代わるために、私は持っていますjboss-classloading.xml
(war 名は "mycontext.war" です):
<classloading xmlns="urn:jboss:classloading:1.0" name="mycontext.war" domain="mycontext" export-all="NON_EMPTY" import-all="true">
動作していないサーバー (OpenJDK 1.7 を使用) で SOAP リクエストを作成しようとすると、次のエラーが発生します。
2013-09-11 18:35:45,110 ERROR [org.jboss.ws.core.CommonClient] (http-0.0.0.0-8080-6) Exception caught while (preparing for) performing the invocation:
java.lang.UnsupportedOperationException: setProperty must be overridden by all subclasses of SOAPMessage
注: 両方のサーバーで、コンパイルは同じです!
ばかげた質問に聞こえるかもしれませんが、OpenJDK 1.7 はこれを台無しにするのでしょうか? 私はWSライブラリを持っていて/WEB-INF/lib
、これらはJBossにバンドルされたライブラリに取って代わるはずなので、奇妙だと思います。
なぜこれが起こっているのか知りたいです。ソリューションが OpenJDK 1.7 に戻る場合は、喜んでそうしますが、APT ソースには 1.7 しかないため、方法がわかりません...