我有一个看起来像这样的 JAX-RS Web 服务:
@Path("/status")
@Produces("application/xml")
@GET
public PrecisionStatus getPrecisionValue(){
PrecisionStatus status = ...
return status;
}
最初,结果是:
<PrecisionStatus sensorID="TemperatureSensor5"><condition>OK</condition><fieldValue>60.0</fieldValue></PrecisionStatus>
看起来不错,但我想声明描述此文档的 xsd 文件。通过使用 JAXB 编组功能,我能够(在记录器/控制台中)生成所需的输出:
<PrecisionStatus sensorID="TemperatureSensor5" xsi:noNamespaceSchemaLocation="http://mysite.com/myapp/xsd0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<condition>OK</condition>
<fieldValue>60.0</fieldValue>
</PrecisionStatus>
(这可以通过解组对象来确认)。
但是,如果我返回这个对象return status;
,浏览器会收到以前的 xml 文档,即没有引用 xsd 的那个。
我很确定该对象具有正确的形式,但是在最终结果中对 xsd 的引用在某种程度上被剥离了。有什么线索吗?