1

Web サービスの呼び出しを行うときに、このエラーが発生します。これに対する回避策がわかりませんでした。どんな助けでも大歓迎です。

私が持っている関連ライブラリは次のとおりです: axis-1.3.jar
axis-jaxrpc-1.3.jar
axis-saaj-1.3.jar
axis-wsdl4j-1.5.1.jar

jaxb-api-2.1.jar jaxb-impl-2.1.8.jar jaxen-1.1-beta-9.jar jaxrs-api-1.0-beta-9.jar

Websphere 61 の管理者設定は次のとおりです。 Enterprise Application -> WAR Classloader Mode : PARENT_LAST * Web Module : -> ClassLoader Mode : application_FIRST

原因: java.lang.LinkageError: com.sun で com.sun.xml.bind.v2.model.impl.RuntimeBuiltinLeafInfoImpl.(RuntimeBuiltinLeafInfoImpl.java:224) で javax/xml/namespace/QName クラスをリンクするときにローダーの制約に違反しました.xml.bind.v2.model.impl.RuntimeTypeInfoSetImpl.(RuntimeTypeInfoSetImpl.java:61) com.sun.xml.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:127) com.sun. xml.bind.v2.model.impl.RuntimeModelBuilder.createTypeInfoSet(RuntimeModelBuilder.java:79) com.sun.xml.bind.v2.model.impl.ModelBuilder.(ModelBuilder.java:152) com.sun.xml .bind.v2.model.impl.RuntimeModelBuilder.(RuntimeModelBuilder.java:87) com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:432) com.sun.xml.bind. v2.runtime.JAXBContextImpl.(JAXBContextImpl.java:297) com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:139) com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:117) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) で、sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) で、sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) で、java.lang.reflect.Method で。 javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:211) での invoke(Method.java:585) javax.xml.bind.ContextFinder.find(ContextFinder.java:372) での javax.xml.bind.JAXBContext .newInstance(JAXBContext.java:574) org.jboss.resteasy.plugins.providers.jaxb.JAXBContextWrapper.(JAXBContextWrapper.java:74) org.jboss.resteasy.plugins.providers.jaxb.JAXBContextWrapper.(JAXBContextWrapper.java:99) org.jboss.resteasy.plugins.providers.jaxb.XmlJAXBContextFinder.createContextObject(XmlJAXBContextFinder.java:48) org.jboss.resteasy.plugins.providers .jaxb.AbstractJAXBContextFinder.createContext(AbstractJAXBContextFinder.java:114) org.jboss.resteasy.plugins.providers.jaxb.XmlJAXBContextFinder.findCachedContext(XmlJAXBContextFinder.java:39) org.jboss.resteasy.plugins.providers.jaxb.AbstractJAXBProvider org.jboss.resteasy.plugins.providers.jaxb.AbstractJAXBProvider.getMarshaller(AbstractJAXBProvider.java:112) の .findJAXBContext(AbstractJAXBProvider.java:49) org.jboss.resteasy.plugins.providers.jaxb.AbstractJAXBProvider.writeTo(AbstractJAXBProvider) .java:88) org.jboss.resteasy.client.core.MessageBodyParameterMarshaller$ClientRequestEntity.(MessageBodyParameterMarshaller.java:88) org.jboss.resteasy.client.core.MessageBodyParameterMarshaller.buildRequest(MessageBodyParameterMarshaller.java:51) org.jboss.resteasy.client.core.ClientInvoker.invoke(ClientInvoker.java) :197) com.amg.brides.wedsimple.client.WedSimpleClientImpl.updateAccount(WedSimpleClientImpl. java:72) com.amg.brides.wedsimple.web.WedSimpleUpdateAccountEvent.invokeClient(WedSimpleUpdateAccountEvent.java:24) com.amg.brides.wedsimple.web.AbstractWedSimpleAccountEvent.execute(AbstractWedSimpleAccountEvent.java:35) com.amg .brides.util.WebEventProcessor.processEvents(WebEventProcessor.ジャワ:29)

4

2 に答える 2

6

基本的な問題は、不適切な jar から xml に関連する 1 つ以上のクラス ファイルをロードしていることです。アプリケーション サーバーは、別の実装からパーサーのほとんどを既に読み込んでいるため、これらのライブラリを変更することを許可していません。javax/xml/namespace を探して jar ファイルの内容を検査しようとしましたが、途中で停止しました。見つかった場合は、問題のあるクラスなしで取得できる可能性が高くなります。このようなファイルを外部 jar から手動で削除する人がいることが知られています。

おそらく、som vm オプションをオンにして、コンテナの実行中にクラスローディングをログに記録できます。これは java -verbose:class オプションです。

正確な問題を特定できず申し訳ありません;)

于 2008-12-11T20:23:01.577 に答える