我正在開發一個JERSEY RESTful Web服務,它具有接受對象參數的函數。這就是所謂的「同步」,看起來像這樣:將XML發送至JERSEY Web服務時出錯
@XmlRootElement
public class Synchronize {
private List<PHQ9> phq9OutOfSync;
private List<ExtraQuestions> extraQuestionsOutOfSync;
private List<Suicide> suicideOutOfSync;
private List<Brugha> brughaOutOfSync;
private int hola;
public Synchronize() {
phq9OutOfSync = new ArrayList<PHQ9>();
extraQuestionsOutOfSync = new ArrayList<ExtraQuestions>();
suicideOutOfSync = new ArrayList<Suicide>();
brughaOutOfSync = new ArrayList<Brugha>();
}
}
的問題是我不能夠發送XML這個類的序列化的Web服務。我發送一個帶有所有屬性的xml,但它並沒有反序列化它......我不知道是否是因爲列表出現了一些問題。我甚至嘗試發送只有int屬性,如:
<synchronize><hola>1</hola></synchronize>
並且不起作用...發生了什麼事情?
任何提示?
編輯:我看到,我不知道如何可以引用一個類中的屬性。我試着製作一個web服務,它接受一個帶有phq9對象的列表,並且它工作的很好,但是如果我把這個列表放在其他類中,那麼它不知道如何反序列化。爲什麼會這樣?
EDIT2:
@XmlRootElement
public class PHQ9 {
@XmlElement
private int id;
@XmlElement
private int patientId;
@XmlElement
private int answer1;
@XmlElement
private int answer2;
@XmlElement
private int answer3;
@XmlElement
private int answer4;
@XmlElement
private int answer5;
@XmlElement
private int answer6;
@XmlElement
private int answer7;
@XmlElement
private int answer8;
@XmlElement
private int answer9;
@XmlElement
private int answer10;
@XmlElement
private int total;
@XmlElement
private int week;
@XmlElement
private String phq9Date;
@XmlElement
private String timeExported;
@XmlElement
private String dateExported;
@XmlElement
private int exported;
public PHQ9() {
phq9Date = timeExported = dateExported = "";
}
}
你能解釋一下嗎? – Frion3L
我的歉意,我想我誤解了你的問題。讓我編輯一下我的回覆。 –
我將XMLElement添加到類Synchronize的屬性中,現在看起來好多了。現在屬性「霍拉」是很好的反序列化,但其他的不是。它反序列化了數組的大小,但是對象的屬性不在......它們具有初始值。任何提示? (我將XMlElement添加到數組中的對象的屬性中,但它不起作用)。謝謝 – Frion3L