Saturday, 28 February 2015

Restlet Complex Object to XML serializaton



I have restlet web service which returns response as xml. I'm using Jackson as binder. below is class I'm returning.



import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

public class ApiResponse<T> implements Serializable {

/**
*
*/
private static final long serialVersionUID = -2736991050157565598L;

private int responseCode;
private String reponseMessage;
private List<T> body = new ArrayList<T>();

public int getResponseCode() {
return responseCode;
}

public void setResponseCode(int responseCode) {
this.responseCode = responseCode;
}

public String getReponseMessage() {
return reponseMessage;
}

public void setReponseMessage(String reponseMessage) {
this.reponseMessage = reponseMessage;
}

public List<T> getBody() {
return body;
}

public void setBody(List<T> body) {
this.body = body;
}

}


And below is response of the service. Everything is almost good except that it puts as property names for nested objects the same as parents. It shows body for nested tag names but I expect it to be T template. Any ideas?



<ApiResponse>
<responseCode>1</responseCode>
<reponseMessage />
<body>
<body>
<reportId>1</reportId>
<reportName>name1</reportName>
</body>
<body>
<reportId>2</reportId>
<reportName>name2</reportName>
</body>
</body>
</ApiResponse>

No comments:

Post a Comment