时间:2010-07-26 09:25:56

标签: java spring jaxb

1 个答案:

答案 0 :(得分:1)

您可以尝试使用MOXy JAXB。 Spring配置保持不变,您只需使用以下条目在模型类中添加jaxb.properties文件:

javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory

JAXB marshalling problem - probably namespace related。您可以在标准@XmlSchema注释上配置namesapce前缀,而不是使用NamespacePrefixMapper:

@javax.xml.bind.annotation.XmlSchema( 
    namespace = "http://www.example.org", 
    xmlns = {
        @javax.xml.bind.annotation.XmlNs(prefix = "xsd", namespaceURI = "http://www.w3.org/2001/XMLSchema"),
    },
    elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED) 
package example; 

这会生成如下的XML:

<?xml version="1.0" encoding="UTF-8"?>
<process xmlns="http://www.example.org" xmlns:xsd="http://www.w3.org/2001/XMLSchema"/>