JaxWS ClassCastException no JBoss
Estou usando o JBoss 5.1.0.GA (para o JDK6) e o jaxws 2.2.6. Quando eu invoco o serviço da web, recebo a seguinte exceção:
java.util.ServiceConfigurationError: javax.xml.ws.spi.Provider: O provedor org.jboss.ws.core.jaxws.spi.ProviderImpl não pôde ser instanciado: java.lang.ClassCastException em org.jboss.resource.work.WorkWrapper .completed (WorkWrapper.java:283)
em org.jboss.util.threadpool.BasicTaskWrapper.taskCompleted (BasicTaskWrapper.java:367) em org.jboss.util.threadpool.BasicTaskWrapper.run (BasicTaskWrapper.java:268) em java.util.concurrent.ThreadPoolExecutor $ Worker.runTask (ThreadPoolExecutor.java:886) em java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:908) em java.lang.Thread.run (Thread.java:680)
Causado por: java.util.ServiceConfigurationError: javax.xml.ws.spi.Provider: O provedor org.jboss.ws.core.jaxws.spi.ProviderImpl não pôde ser instanciado: java.lang.ClassCastException em java.util.ServiceLoader. fail (ServiceLoader.java:207) em java.util.ServiceLoader.access $ 100 (ServiceLoader.java:164) em java.util.ServiceLoader $ LazyIterator.next (ServiceLoader.java:353) em java.util.ServiceLoader $ 1.next (ServiceLoader.java:421) em javax.xml.ws.spi.Provider.getProviderUsingServiceLoader (Provider.java:180) em javax.xml.ws.spi.Provider.provider (Provider.java:140) em javax.xml. ws.Service. (Service.java:92)
[...]
... 3 mais Causado por: java.lang.ClassCastException em java.lang.Class.cast (Class.java:2990) em java.util.ServiceLoader $ LazyIterator.next (ServiceLoader.java:345)
... mais 14
Eu também tentei atualizar o jbossws para a versão 3.4.0 de 3.1.2.GA, nada mudou. Eu li muitas sugestões relacionadas à verificação de jars em lib / endossado do JBoss, então este é o conteúdo:
activation.jar
jaxb-api.jar
jaxws-api.jar
jbossws-native-factories.jar
resolver.jar
serializer.jar stax-api.jar
xalan.jar
xercesImpl.jar
Eu também incluí o switch -verbose: class na JVM:
[Loaded org.jboss.ws.core.jaxws.spi.ProviderImpl from jar:file:/Users/carlo/jboss-5.1.0.GA/common/lib/jbossws-native-core.jar!/]
e essa classe se estendejavax.xml.ws.spi.Provider
(http://bit.ly/LK9bNE)
Alguém pode me ajudar o que está acontecendo aqui?
EDITAR 1
Ok, então vejo que o ClassCastException é gerado a partir da linha: ServiceLoader.java 345
S p = service.cast(Class.forName(cn, true, loader).newInstance());
quando service.cast é chamado,this
éjavax.xml.ws.spi.Provider
e o arg para lançar éorg.jboss.ws.core.jaxws.spi.ProviderImpl
. Eu ainda não consigo entender o problema embora.