NullPointerException jaxb.Utils.getFieldXJTA(Utils.java:269)

NullPointerException jaxb.Utils.getFieldXJTA(Utils.java:269)

错误:

INFO  [org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean] (http-0.0.0.0-8080-8) Creating Service {http://schemas.microsoft.com/sharepoint/soap/}CopySoapService from class com.microsoft.schemas.sharepoint.soap.CopySoap
java.lang.NullPointerException
at org.apache.cxf.jaxb.Utils.getFieldXJTA(Utils.java:269)
at org.apache.cxf.jaxb.JAXBContextInitializer.walkReferences(JAXBContextInitializer.java:375)
at org.apache.cxf.jaxb.JAXBContextInitializer.addClass(JAXBContextInitializer.java:347)
at org.apache.cxf.jaxb.JAXBContextInitializer.begin(JAXBContextInitializer.java:184)
at org.apache.cxf.service.ServiceModelVisitor.visitOperation(ServiceModelVisitor.java:97)
at org.apache.cxf.service.ServiceModelVisitor.walk(ServiceModelVisitor.java:74)

信息:Jboss 运行 Windows Server 2008 上的 Adob​​e LiveCycle ES4 SP1

谷歌搜索对解决此错误没有任何帮助。 该代码在 IDE 中完美运行。在 Jboss.

上使用 运行 的 LiveCycle 作为自定义组件部署时会发生此错误

相关 Q/A 让我走到这一步:

Java JBoss 401 Error on SharePoint 2010 Web Service

我在使用自定义 ClassLoader 时遇到了同样的问题,原因似乎是缺少为 类 定义的 "Package"。我更正了为已加载 类 定义包的 ClassLoader 实现,所有这些对我来说都开始正常工作了。

简而言之,NullPointerException 是由对 f.getDeclaringClass().getPackage().getAnnotation(XmlJavaTypeAdapters.class); 的调用生成的。在我的例子中 f.getDeclaringClass().getPackage() 返回 null。

我不知道这是否对其他人有帮助,但我在非常特殊的情况下使用它,所以我决定分享它。

我忘记了 post 来源参考:

http://grepcode.com/file/repo1.maven.org/maven2/org.apache.cxf/cxf-rt-databinding-jaxb/3.1.1/org/apache/cxf/jaxb/Utils.java#269