问题描述
我有一个使用 CXF 端点的 Camel 应用程序。这些类由 CXF 可待因插件从提供的 WSDL 生成。我还实现了一些单元测试。当我运行单元测试时,会发生以下错误:org.apache.camel.FailedToStartRouteException: Failed to start route __soapService because of null
。
它是由以下原因引起的:
com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 3 counts of IllegalAnnotationExceptions
奇怪的是,它没有列出有关哪些类具有非法注释的任何详细信息。所以我想知道是否有任何方法可以进一步解决它,或者启用一些额外的日志记录以准确查看哪些类具有非法注释以及原因。
完整的堆栈跟踪很长,所以我不会在这里发布,但它的底部看起来像:
Caused by: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 3 counts of IllegalAnnotationExceptions
at com.sun.xml.bind.v2.runtime.IllegalAnnotationsException$Builder.check(IllegalAnnotationsException.java:76)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JAXBContextImpl.java:450)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:282)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:109)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1142)
at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:141)
at com.sun.xml.bind.v2.JAXBContextFactory.createContext(JAXBContextFactory.java:35)
at javax.xml.bind.ContextFinder.find(ContextFinder.java:358)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:691)
at org.apache.cxf.common.jaxb.JAXBContextCache$2.run(JAXBContextCache.java:345)
at org.apache.cxf.common.jaxb.JAXBContextCache$2.run(JAXBContextCache.java:343)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at org.apache.cxf.common.jaxb.JAXBContextCache.createContext(JAXBContextCache.java:343)
at org.apache.cxf.common.jaxb.JAXBContextCache.getCachedContextAndSchemas(JAXBContextCache.java:245)
at org.apache.cxf.jaxb.JAXBDataBinding.createJAXBContextAndSchemas(JAXBDataBinding.java:493)
at org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:352)
... 122 common frames omitted
Camel 版本是 3.9.0,我使用 CXF 3.4.2 和 CXF XJC 3.3.1。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)