在REST服务中返回XML响应

Pri*_*ank 3 java rest cxfrs

我正在编写一个RESTful Web服务,我希望返回一个包含一些结果集的XML.我使用了XSTREAM并将对象解析为XML字符串.由于我需要返回此字符串,因此我需要知道如何将其传递回调用客户端.

一种方法是将RESPONSE返回给调用客户端.我的示例代码显示了我正在尝试做的事情.

@Path("somepath")
public class ClassToReturnXML
{
    public Response methodToReturnXML()
    {

       ResponseBuilder builder = new ResponseBuilderImpl();
       builder.type(MediaType.TEXT_XML);
       builder.entity(myXMLString);
       return builder.build();
    }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是它没有返回实体,虽然状态代码是200.我是否错误地实例化了ResponseBuilder?我还看到了应该如下实例化的地方:

ResponseBuilder builder = Response.status(200);
Run Code Online (Sandbox Code Playgroud)

请建议在响应中返回XML的适当方法是什么.

我正在使用APACHE CXF进行RESTFUL服务.(版本2.2.3 - 我猜):D 在预先感谢所有帮助.

Pri*_*ank 9

这只是一个清洁问题.它最终奏效了.我最终以下列方式创建了响应.

Response response = Response.status(200).type(MediaType.TEXT_XML).entity(xmlString).build();
Run Code Online (Sandbox Code Playgroud)

它工作得很好.我希望它对某人有帮助.