当前位置: 首页 > 面试题库 >

JBoss上的JaxWS ClassCastException

景俊拔
2023-03-14
问题内容

我正在使用JBoss 5.1.0.GA(用于JDK6)和jaxws 2.2.6。调用Web服务时,出现以下异常:

java.util.ServiceConfigurationError:javax.xml.ws.spi.Provider:提供者org.jboss.ws.core.jaxws.spi.ProviderImpl无法实例化:org.jboss.resource.work.WorkWrapper上的java.lang.ClassCastException
org.jboss.util.threadpool.BasicTaskWrapper.run
(BasicTaskWrapper.java:268)的org.jboss.util.threadpool.BasicTaskWrapper.taskCompleted
(BasicTaskWrapper.java:367)的.completed(WorkWrapper.java:283)。
util.concurrent.ThreadPoolExecutor $
Worker.runTask(ThreadPoolExecutor.java:886)在java.util.concurrent.ThreadPoolExecutor
$
Worker.run(ThreadPoolExecutor.java:908)在java.lang.Thread.run(Thread.java:680)

引起原因:java.util.ServiceConfigurationError:javax.xml.ws.spi.Provider:提供程序org.jboss.ws.core.jaxws.spi.ProviderImpl无法实例化:java.util.ServiceLoader处的java.lang.ClassCastException。在java.util.ServiceLoader.access
$
100(ServiceLoader.java:164)处失败(ServiceLoader.java:207)在java.util.ServiceLoader
$ 1.next处java.util.ServiceLoader $
LazyIterator.next(ServiceLoader.java:353)处失败(ServiceLoader.java:421),位于javax.xml.ws.spi.Provider.getProviderUsingServiceLoader(Provider.java:180),位于javax.xml.ws.spi.Provider.provider(Provider.java:140)。
ws.Service。(Service.java:92)
[…]

3更多原因:java.lang.Class.cast(Class.java:2990)处的java.lang.ClassCastException $
LazyIterator.next(ServiceLoader.java:345)
…另外14个

我还尝试将jbossws从3.1.2.GA更新到版本3.4.0,没有任何更改。我已经阅读了很多与检查JBoss的lib /
endorsed中的jar有关的建议,因此内容如下:

activation.jar
jaxb-api.jar
jaxws-api.jar
jbossws-native-factories.jar
resolver.jar
serializer.jar stax-api.jar
xalan.jar
xercesImpl.jar

我还向JVMhtml" target="_blank">添加了-verbose:class开关:

[Loaded org.jboss.ws.core.jaxws.spi.ProviderImpl from jar:file:/Users/carlo/jboss-5.1.0.GA/common/lib/jbossws-native-core.jar!/]

并且该类扩展了javax.xml.ws.spi.Provider(http://bit.ly/LK9bNE)

有人可以帮我这里发生什么吗?

编辑1
好的,所以我看到从以下位置引发ClassCastException:ServiceLoader.java第345行

S p = service.cast(Class.forName(cn, true, loader).newInstance());

调用service.cast时,thisis
javax.xml.ws.spi.Provider和要转换的arg为org.jboss.ws.core.jaxws.spi.ProviderImpl。我仍然不明白问题所在。


问题答案:

最后,我设法解决了我的问题:我jaxws-rt.jar输入$JBOSS_HOME/lib/endorsed

编辑
我在JBoss 5.1 EAP上遇到了同样的问题,要解决它,步骤有些不同:在$JBOSS_HOME/lib/endorsed我删除了旧的jaxb-
api.jar之后,将其复制

  • jaxb-api.jar
  • jaxb-impl.jar
  • jaxws-api.jar
  • jaxws-rt.jar

来自最新的jaxws-ri软件包,最终成功了。



 类似资料:
  • 有人成功部署了Jersey 2吗。带JBoss 7的x。x?我曾尝试在JBoss 7.1.1中部署Jersey 2.5,但遇到以下错误: 我认为这个问题是因为JBoss与RestEasy捆绑在一起,RestEasy是一个JAX-RS 1.0实现,而Jersey是一个JAX-RS 2.0实现。因此,我采取以下步骤禁用RestEasy: 1)在我的web.xml中添加了以下内容: 2)按照这里的讨论,

  • 我在JBoss 6.0上的localhost上部署了一个应用程序。此应用程序有一个名为Examplejb的远程EJB bean。现在,我尝试编写一个使用Examplejb的简单客户端应用程序。此客户端应用程序将不会部署在任何应用程序服务器上。其思想是编写一个简单的Java SE客户端程序。为了执行查找,我编写了以下内容: 此时,我尝试了两种方法,第一种是执行直接查找,如Java EE 6教程中的示

  • 问题内容: 当用2.4.6最小化yui时,出现此问题: java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:232 当通过我的IDE启动时,它可以工作,但是当部署到jboss时,它就不能工作。这个地方:http: //yuilibrary.com/forum/viewtopic.php?p=20086对该问题进行了一些讨论。 显然,问题出在org

  • 在jboss上部署spring boot项目之后,除了我的日程安排任务之外,一切都很顺利。我在我的schedule方法类中用@enablescheduling和@component注释了我的主类,在我的方法中用@scheduled注释了我的主类。但在jboss上成功运行且无错误后,我的计划任务不会启动。我真的需要一个解决方案。Tnx下面的每个主体都是我的配置类和日程类:

  • 问题内容: 我在JBoss eap 6.1服务器上运行Arquillian测试(由jenkins作业启动)时遇到问题。在JBoss 7.1.1服务器上运行测试没问题,但是当我切换到eap 6.1时,所有测试都收到以下异常: 如果我在本地计算机上的EAP 6.1服务器上运行测试,则一切工作正常(配置相同,因此不会出现问题)。 有谁知道可能是什么问题? Arquillian依赖项: managed 问

  • 我试图通过JNDI从Wildfly 10远程调用JBoss 7上的EJB3.1应用程序。 在Wildfly中部署的独立java客户机上执行代码运行良好,我收到一个ClassCastException: 以下是我正在使用的属性: 项目具有jboss as ejb客户端bom依赖项: 查找看起来很标准: 有什么想法吗?