当设置namespacePrefixMapper以定义前缀映射时,Jaxb属性异常



我正在尝试设置如下前缀,

// Create JAXB Context
JAXBContext jaxbContext = JAXBContext.newInstance(ResultDetails.class);    
// Create Marshaller
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();    
jaxbMarshaller.setProperty("com.sun.xml.internal.bind.namespacePrefixMapper", new NamespacePrefixMapper() {                    
@Override
public String getPreferredPrefix(String namespaceUri, String suggestion, boolean requirePrefix) {
if (TPTConstant.NAMESPACE_SIMPLE_RESULTS.equals(namespaceUri)) {
return "psr";
}
return suggestion;
}
});

但是从setProperty我得到了一个属性异常com.sun.xml.internal.bind.namespacePrefixMapper

我正在使用java8,并且我已经在依赖关系中看到了jaxb-api 2.3.1。我在这里错过了什么?

在ResultDetails下,我已经在每个属性级别中定义了以下内容。

@XmlElement(namespace = "http://www.mycompany.com/services/SimpleResults/data/abc"

属性名称为com.sun.xml.bind.namespacePrefixMapper时,工作正常

相关内容

  • 没有找到相关文章

最新更新