我正在开发一个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