0

我正在尝试使用 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

4

1 回答 1

0

您绝对不需要在您的 war 或 ear 文件中包含任何标准球衣文件,以便在运行时访问它们。无论是使用 maven 还是本机 netbeans 7.3.1 项目,我都确实遇到过你正在做的事情。

我建议您查看 glassfish server.log 文件,以准确了解您得到的详细错误是什么。如果您缺少所需的罐子,那应该会告诉您。

于 2013-07-11T18:07:38.067 回答