JaxWS ClassCastException unter JBoss
Ich verwende JBoss 5.1.0.GA (für JDK6) und Jaxws 2.2.6. Wenn ich den Webservice aufrufe, erhalte ich die folgende Ausnahme:
java.util.ServiceConfigurationError: javax.xml.ws.spi.Provider: Anbieter org.jboss.ws.core.jaxws.spi.ProviderImpl konnte nicht instanziiert werden: java.lang.ClassCastException at org.jboss.resource.work.WorkWrapper .completed (WorkWrapper.java:283)
um org.jboss.util.threadpool.BasicTaskWrapper.taskCompleted (BasicTaskWrapper.java:367) um org.jboss.util.threadpool.BasicTaskWrapper.run (BasicTaskWrapper.java:268) um java.util.concurrent.ThreadTaskToolEx (ThreadPoolExecutor.java:886) um java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:908) um java.lang.Thread.run (Thread.java:680)
Auslöser: java.util.ServiceConfigurationError: javax.xml.ws.spi.Provider: Provider org.jboss.ws.core.jaxws.spi.ProviderImpl konnte nicht instanziiert werden: java.lang.ClassCastException at java.util.ServiceLoader. fail (ServiceLoader.java:207) at java.util.ServiceLoader.access $ 100 (ServiceLoader.java:164) at java.util.ServiceLoader $ LazyIterator.next (ServiceLoader.java:353) at java.util.ServiceLoader $ 1.next (ServiceLoader.java:421) in javax.xml.ws.spi.Provider.getProviderUsingServiceLoader (Provider.java:180) in javax.xml.ws.spi.Provider.provider (Provider.java:140) in javax.xml. ws.Service. (Service.java:92)
[...]
... 3 weitere Auslöser: java.lang.ClassCastException bei java.lang.Class.cast (Class.java:2990) bei java.util.ServiceLoader $ LazyIterator.next (ServiceLoader.java:345)
... 14 mehr
Ich habe auch versucht, jbossws auf Version 3.4.0 von 3.1.2.GA zu aktualisieren, nichts hat sich geändert. Ich habe viele Vorschläge gelesen, die sich auf das Überprüfen von JARs in lib / endorsed von JBoss beziehen. Dies ist der Inhalt:
activation.jar
jaxb-api.jar
jaxws-api.jar
jbossws-native-factories.jar
resolver.jar
serializer.jar stax-api.jar
xalan.jar
xercesImpl.jar
Ich habe der JVM auch den Schalter -verbose: class hinzugefügt:
[Loaded org.jboss.ws.core.jaxws.spi.ProviderImpl from jar:file:/Users/carlo/jboss-5.1.0.GA/common/lib/jbossws-native-core.jar!/]
und diese Klasse erstreckt sichjavax.xml.ws.spi.Provider
(http://bit.ly/LK9bNE)
Kann mir jemand helfen, was hier los ist?
EDIT 1
Ok, ich sehe also, dass die ClassCastException ausgelöst wird von: ServiceLoader.java Zeile 345
S p = service.cast(Class.forName(cn, true, loader).newInstance());
wenn service.cast aufgerufen wird,this
istjavax.xml.ws.spi.Provider
und das Argument zu werfen istorg.jboss.ws.core.jaxws.spi.ProviderImpl
. Ich verstehe das Problem immer noch nicht.