0

オブジェクトパラメーターを受け入れる機能を持つJERSEY RESTFUL 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>

も機能しません...何が起こっているのですか?

ヒントはありますか?

編集:クラス内の属性を参照する方法がわからないことがわかりました。phq9 オブジェクトを含むリストを受け入れる Web サービスを作成しようとしましたが、うまく機能しますが、そのリストを他のクラスに入れると、デシリアライズする方法がわかりません。なぜでしょうか?

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 = "";        
}
}
4

1 に答える 1

0

[編集]

リストに関しては、JAXB: How to marshal objects in lists? をご覧ください。必要に応じて、リストをラップする方法について。

XmlAccessorType ( http://docs.oracle.com/javaee/5/api/javax/xml/bind/annotation/XmlAccessorType.html ) および XmlElement ( http://docs.oracle ) を使用して、シリアライズするメンバーを制限できます。 .com/javaee/5/api/javax/xml/bind/annotation/XmlElement.html )。

サポートされていないクラスをシリアライズ/デシリアライズしようとして失敗する可能性があります。例外が発生していますか、それとも黙って失敗しているだけですか? 送受信されている生データを見てみましたか?

于 2012-06-25T18:58:51.377 に答える