1

Resteasy を使用して RestWebService に取り組んでいます。基本的な実装は問題なく動作します。休息を介して Complexer-Object を返そうとしたことを知っています...実際には非常に簡単です..と思いました。ネストされたオブジェクト (アドレス) が原因で問題が発生しています...

私が試しているのはこれです:

@XmlRootElement(name = "person")
@XmlAccessorType(XmlAccessType.FIELD)
public class Person implements Serializable {
    private static final long serialVersionUID = 1199647317278849602L;
    private String uri;
    private String vName;
    private String nName;
    private Address address;

        .....

        @XmlElementWrapper(name="Former-User-Ids")
    @XmlElement(name="Adress")
    public Address getAddress() {
        return address;
    }
....

アドレスは次のようになります。

@XmlRootElement(name = "address")
@XmlAccessorType(XmlAccessType.FIELD)
public class Address {
    private String uri;
    private String street;
    private String city;

public String getCity() {
    return city;
}

public String getStreet() {
    return street;
}

.... レストサービスはこんな感じ。アドレスオブジェクトなしで完璧に機能しました..

    @Path("/getPersonXML/{personNumber}")
    @GET
    @Produces(MediaType.APPLICATION_XML)
    public Patient getPatientXML(@PathParam("personNumber") String personNumber) throws ParseException {

        Address a1 = new Address("de.person/address/" + "432432","Teststret12","TestCity", "32433", "TestCountry", "081511833");
        Patient p1 = new Person();
        p1.setAddress(a1);
        p1.setUri("de.spironto/person/"+ "432432");
        p1.setnName("Power");
        p1.setvName("Max");
        return p1;
    }

現時点では、私は常に

javax.xml.bind.JAXBException:

何か案は?

4

2 に答える 2

0

小さなマーシャラー テストを作成した後。同じ名前のプロパティが複数あるというエラーが発生しました。そこで、Address クラスの @XML_Eleemets アノテーションをすべて削除しようとしました。それは私のために働いた...

于 2013-05-17T13:07:41.527 に答える