我正在尝试使用 Firefox 海报来测试在 Glassfish 4.0 上运行的 Jersey 宁静 web 服务。当我将 java 类返回为 xml 时,我收到一个 HTTP Server 500 错误返回到 Poster 输出。当我将字符串作为 xml 返回时,我没有收到错误消息。这让我想知道我是否需要在 Glassfish 的耳朵中加入任何 JAX-RS 罐子或 Jersey 罐子。我在想这些都包含在 Glassfish 模块中,所以我没有将它们包含在我的 WEB-INF 库中。
这是一个有效的示例,将 xml 返回到 Firefox 海报:
@GET
@Produces( { MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON, "application/x-javascript", MediaType.APPLICATION_OCTET_STREAM } )
@Path( "/getTest/" )
public String getXml()
{
return "<?xml version=\"1.0\"?>" + "<hello> Hello Jersey" + "</hello>";
}
以下是引发内部服务器错误 500 的示例:
@GET
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@Path( "/getTodo/" )
public Todo getXML() {
Todo todo = new Todo();
todo.setSummary("This is my first todo");
todo.setDescription("This is my first todo");
return todo;
}
@XmlRootElement
// JAX-RS supports an automatic mapping from JAXB annotated class to XML and JSON
// Isn't that cool?
public class Todo {
private String summary;
private String description;
public String getSummary() {
return summary;
}
public void setSummary(String summary) {
this.summary = summary;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}
仅供参考-我在这里松散地关注博客-restBlog