我创建了一个 jaxws Web 服务。我完全遵循了url
服务非常完美,没有任何错误。但是当请求命中时服务器出现错误。
SEVERE: caught throwable
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.db.glassfish.JAXBRIContextFactory.newContext(JAXBRIContextFactory.java:74)
at com.sun.xml.ws.spi.db.BindingContextFactory.create(BindingContextFactory.java:149)
at com.sun.xml.ws.message.jaxb.JAXBMessage.create(JAXBMessage.java:160)
at com.sun.xml.ws.fault.SOAPFaultBuilder.createSOAP11Fault(SOAPFaultBuilder.java:433)
at com.sun.xml.ws.fault.SOAPFaultBuilder.createSOAPFaultMessage(SOAPFaultBuilder.java:210)
我检查了 stackoverflow 和许多其他网站都说 jar 文件冲突。
我使用java-6-openjdk。
下面是我在 jetty 服务器中的 jar 文件列表。
gmbal-api-only.jar
ha-api.jar
jaxb-core.jar
jaxb-impl.jar
jaxws-rt.jar
管理-api.jar
政策-2.3.1.jar
stax-ex.jar
Streambuffer-1.5.1.jar
由于上面的罐子不起作用,我尝试过
Go here
下载 JAX-WS RI 发行版。
但那些罐子给出了同样的错误。
我也遇到了同样的异常,并且通过谷歌搜索确认这是由于类路径/jar 问题造成的。
我使用 Java 6.0 作为构建和运行时环境,我的项目设置有jaxb-api.jar 和 jaxb-impl.jar. 我只是从类路径中删除了这两个罐子,它就可以工作了。
就像我们拥有 Java 6.0 一样,我们不需要显式使用 JAX 绑定 jar。它默认带有 Java 6.0。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)