簡體   English   中英

查詢 Jersey REST 服務時的消息傳遞異常 (com.sun.jersey.api.MessageException)

[英]Messaging exception (com.sun.jersey.api.MessageException) while querying Jersey REST service

上下文: - 鑒於以下代碼,我遇到了異常。 請告訴我為什么會發生,並有明確的解釋:

@GET
@Produces("application/xml")
public List getEmployee()
{
   List<Employee> emp=new ArrayList<Employee>();
   return emp;
}

@XmlRootElement
public class Employee{

}

當我調用 getEmployee 服務時,出現以下異常:

引起:com.sun.jersey.api.MessageException:Java 類 java.util.ArrayList 和 Java 類型接口 java.util.List 和 MIME 媒體類型應用程序/xml 的消息正文編寫器未找到... 30更多的

謝謝

您正在重新調整一個員工列表,它是 ArrayList 的一個實例。 您在 Employee 類上而不是在 arraylist 上聲明了根注釋。

您需要創建一個包裝器來保存員工列表。 這個包裝器將使您能夠為列表創建根元素,即

import java.util.ArrayList;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlAccessorType(XmlAccessType.NONE)
@XmlRootElement(name = "users")
public class Users {

    @XmlElement(name="user")
    private ArrayList users;

    public ArrayList getUsers() {
        return users;
    }

    public void setUsers(ArrayList users) {
        this.users = users;
    }
}

請參閱以下教程以獲取更多理解

http://howtodoinjava.com/2012/11/26/writing-restful-webservices-with-hateoas-using-jax-rs-and-jaxb-in-java/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM