Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

JAXBContextImpl cannot be cast to JAXBRIContext

180 views
Skip to first unread message

mpi

unread,
Jul 18, 2008, 10:48:09 AM7/18/08
to
witam,

moze ktorys z szanownych grupowiczow spotkal sie juz z takim
wyjatkiem:

com.sun.xml.bind.v2.runtime.JAXBContextImpl cannot be cast to
com.sun.xml.bind.api.JAXBRIContext

na googlach wyszukalem kilka takich przykladow jednak troche sie
rozniacych:

com.sun.xml.INTERNALbind.v2.runtime.JAXBContextImpl cannot be cast to
com.sun.xml.bind.api.JAXBRIContext

lub

com.sun.xml.bind.v2.runtime.JAXBContextImpl cannot be cast to
com.sun.xml.INTERNAL.bind.api.JAXBRIContext

i wynikaly one z tego ze JDK 6 ma wlasna implementacje JAXB (wlasnie z
INTERNAL w nazwie packagu) i
to bylo problemem.

ja wrzucilem do <java_home>lib\endorsed\ pliki jaxb-api.jar, jaxb-
impl.jar i jaxws-api.jar w (wersjach 2.1). dzieki temu implementacje
te sa "wazjniejsze" niz te z JDK 6.

ale to nie rozwiazuje moge problemu bo teraz nie mam INTERNAL w
sciezce a nadal nie mozna dokonac rzutowania.

dodam ze com.sun.xml.bind.v2.runtime.JAXBContextImpl oczywiscie
dziedziczy po com.sun.xml.bind.api.JAXBRIContext

w projekcie mam sporo zaleznosci, ponadto uzywam wlasnych class-
loaderow i pewnie w tym moze byc problem, czy taki blad moze powstac
gdy dodam ze com.sun.xml.bind.v2.runtime.JAXBContextImpl zostanie
zaczytana z jednego jara a com.sun.xml.bind.api.JAXBRIContext z
drugiego?

mam nadzieje ze to brzmi zrozumiale, licze na pomoc.

poniezej pelen stack trace:

ception in thread "HTTPBC-OutboundReceiver-1"
java.lang.ExceptionInInitializerError
at com.sun.xml.ws.server.provider.SOAPProviderArgumentBuilder
$SOAPMessageParameter.getResponseMessage(SOAPProviderArgumentBuilder.java:
140)
at
com.sun.xml.ws.server.provider.ProviderArgumentsBuilder.getResponse(ProviderArgumentsBuilder.java:
61)
at com.sun.xml.ws.server.provider.AsyncProviderInvokerTube
$AsyncProviderCallbackImpl.sendError(AsyncProviderInvokerTube.java:
116)
at
com.sun.jbi.httpsoapbc.jaxwssupport.AsyncJBIProvider.onReply(AsyncJBIProvider.java:
415)
at
com.sun.jbi.httpsoapbc.MessageExchangeSupport.notifyOfReply(MessageExchangeSupport.java:
108)
at
com.sun.jbi.httpsoapbc.OutboundMessageProcessor.processRequestReplyInbound(OutboundMessageProcessor.java:
423)
at
com.sun.jbi.httpsoapbc.OutboundMessageProcessor.processMessage(OutboundMessageProcessor.java:
241)
at com.sun.jbi.httpsoapbc.OutboundAction.run(OutboundAction.java:63)
at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassCastException:
com.sun.xml.bind.v2.runtime.JAXBContextImpl cannot be cast to
com.sun.xml.bind.api.JAXBRIContext
at
com.sun.xml.ws.fault.SOAPFaultBuilder.<clinit>(SOAPFaultBuilder.java:
503)
... 11 more


pozdrawiam
Michał

Jacek Laskowski

unread,
Jul 18, 2008, 12:31:43 PM7/18/08
to
mpi wrote:

> com.sun.xml.bind.v2.runtime.JAXBContextImpl cannot be cast to
> com.sun.xml.bind.api.JAXBRIContext

...


> w projekcie mam sporo zaleznosci, ponadto uzywam wlasnych class-
> loaderow i pewnie w tym moze byc problem, czy taki blad moze powstac
> gdy dodam ze com.sun.xml.bind.v2.runtime.JAXBContextImpl zostanie
> zaczytana z jednego jara a com.sun.xml.bind.api.JAXBRIContext z
> drugiego?

Cze��,

com.sun.xml.bind.v2.runtime.JAXBContextImpl jest typu
com.sun.xml.bind.api.JAXBRIContext zgodnie z [1]. Jedyny przypadek jaki
mo�e "por�ni�" te klasy, to za�adowanie ich do r�nych zarz�dc�w klas
(classloader), bo pe�ny identyfikator klasy to
zarz�dcaKlas-pe�naNazwaKlasy. Je�li identyfikatory si� nie zgadzaj�
pojawia siďż˝ CCE.

Jacek

[1]
http://fisheye5.cenqua.com/browse/~raw,r=1.81/jaxb2-sources/jaxb-ri/runtime/src/com/sun/xml/bind/v2/runtime/JAXBContextImpl.java

--
Jacek Laskowski
Notatnik Projektanta Java EE - http://www.JacekLaskowski.pl

0 new messages