如何在使用Jersey,jaxb和amp;时设置xml命名空间JAX-RS
解决方法:
这都是使用JAXB注释完成的.以下几点是指您的域模型.
架构级别
您可以使用@XmlSchema包级别注释指定架构级别命名空间信息:
@XmlSchema(namespace = "http://www.example.org",
elementFormDefault = XmlNsForm.QUALIFIED)
package org.example;
import javax.xml.bind.annotation.XmlSchema;
import javax.xml.bind.annotation.XmlNsForm;
上述注释利用elementFormDefault将所有元素的名称空间默认为“http://www.example.org”.
类型级别
您可以使用@XmlType批注覆盖类型级别的命名空间:
@XmlType(namespace="http://www.example.org/foo")
财产/现场级别
和/或您可以在注释本身上指定名称空间信息:
> @XmlAttribute(namespace =“http://www.example.org/bar”)
> @XmlElement(namespace =“http://www.example.org/bar”)
> @XmlElementWrapper(namespace =“http://www.example.org/bar”)
> @XmlRootElement(namespace =“http://www.example.org/bar”)
例
我有一篇博文,通过一个例子来演示这些概念:
> http://bdoughan.blogspot.com/2010/08/jaxb-namespaces.html