java – 如何在使用Jersey,jaxb和jax-rs时设置xml命名空间

如何在使用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

上一篇:java – 如何干净地检查HTTP返回代码是在服务器端异常代码系列中


下一篇:java – 从一个webapp抛出WebapplicationException并在另一个上获取UniformInterfaceException