The tag name of an element is suppose to be "default" ie. but I can't use default as a variable name for obvious reasons.
The Problem is, when I try to annotate any class Params' field. I get 500 Error Code.
Uncommenting the @XmlElement(name="default") on private String defaultx; in the Param class causes the web service call to return Error 500. There is no stack trace on the exception so I can't figure out why this would be happening especially when @XmlElement(name="ErrCode") in the USSDDynMenuResponse class does cause any problems
USSDDynMenuResponse.java
@XmlRootElement(name="USSDDynMenuResponse")
public class USSDDynMenuResponse {
public USSDDynMenuResponse() {
this.dataSet = new DataSet();
}
private String requestId;
private String sessionId;
private String msisdn;
private String starCode;
private String langId;
private String encodingScheme;
private String transferCode;
private DataSet dataSet;
@XmlElement(name="ErrCode")
private String ErrCode;
private String errURL;
private String timeStamp;
public String getRequestId() {
return requestId;
}...
Param.java
public class Param {
public Param() {
this.tagSet = new TagSet();
}
public Param(String id, String value) {
this.tagSet = new TagSet();
this.id = id;
this.value = value;
}
private String id;
private String value;
private String index;
private String accessString;
private String rspTag;
private String rspFlag;
private String rspURL;
private String appendIndex;
//@XmlElement(name="default")
private String defaultx;
private TagSet tagSet;
public String getId() {
return id;
}...
DataSet.java
public class DataSet {
public DataSet() {
param = new ArrayList<>();
param.clear();
}
private List<Param> param;
public List<Param> getParam() {
return this.param;
}
public void setParam(List<Param> param) {
this.param = param;
}
}