我正在使用spring来实现我的web服务。我在web服务中得到以下错误:“元素测试没有@XmlElementDecl的ObjectFactory”测试有一个@XmlElementRef。
在创建jaxb上下文时,我使用了ContextPath设置为包名。
我做了以下几件事:
我认为在寻找@XmlElementDecl时,它会查找" ObjectFactory“类,然后它就找不到它,因为如果我将AObjectFactory重命名为ObjectFactory,这是可行的。
我的问题是:
任何帮助都会很好。
发布于 2015-01-06 14:25:58
在创建jaxb上下文时,我使用了ContextPath设置为包名。
当您根据上下文路径创建JAXBContext时,JAXB实现将查找一个名为ObjectFactory的类,该类使用@XmlRegistry进行注释。
我有多个WSDL,所以ObjectFactory被覆盖了。
通常,每个名称空间/包应该有一个ObjectFactory。如果ObjectFactory变得过于烦躁,那么您可能会试图将所有内容都强制使用同一个包名。
因此,我只是用WSDL重命名了对象工厂前缀。A.wsdl将有AObjectFactory等,所以我没有任何ObjectFactory类。
当用@XmlRegistry注释的类被称为ObjectFactory以外的东西时,您需要这样做:
jaxb.index的文本文件,该包包含带有@XmlRegistry注释的包中所有类的简短名称。@XmlRegistry注释的生成类的@XmlRegistry。https://stackoverflow.com/questions/27800573
复制相似问题