我正在尝试使用Firefox海报来测试在Glassfish 4.0上运行的Jersey restful webservice。当我将java类作为xml返回时,我收到一个HTTP Server 500错误返回到Poster输出。当我将String作为xml返回时,我没有收到错误。这让我想知道我是否需要在Glassfish中包含任何JAX-RS罐子或泽西罐子。我以为这些都包含在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
答案 0 :(得分:0)
您绝对不需要在war或ear文件中包含任何标准球衣文件,以便在运行时可以访问它们。无论是使用maven还是原生的netbeans 7.3.1项目,我当然都有你做得很好的事情。
我建议你查看glassfish server.log文件,看看你得到的具体错误是什么。如果你遗失了所需的罐子,那应该告诉你。