在使用jaxb(其中xml标签为标题大小写)进行封送处理后,我需要保持标签顺序。
当试图封送它时,它抛出以下错误。
“存在属性applicationCountFromDate,但未在@ XmlType.propOrder中指定”
请在下面找到完整的堆栈和代码。
Property applicationCountFromDate is present but not specified in @XmlType.propOrder
this problem is related to the following location:
at public java.lang.String com.snapwork.bean.login.LoginRESBean.getApplicationCountFromDate()
at com.snapwork.bean.login.LoginRESBean
at public com.snapwork.bean.login.LoginRESBean com.snapwork.bean.login.LoginMBBean.getRS()
at com.snapwork.bean.login.LoginMBBean
Property applicationCountToDate is present but not specified in @XmlType.propOrder
this problem is related to the following location:
at public java.lang.String com.snapwork.bean.login.LoginRESBean.getApplicationCountToDate()
at com.snapwork.bean.login.LoginRESBean
at public com.snapwork.bean.login.LoginRESBean com.snapwork.bean.login.LoginMBBean.getRS()
at com.snapwork.bean.login.LoginMBBean
Property approvedApplicationCount is present but not specified in @XmlType.propOrder
this problem is related to the following location:
at public java.lang.String com.snapwork.bean.login.LoginRESBean.getApprovedApplicationCount()
at com.snapwork.bean.login.LoginRESBean
at public com.snapwork.bean.login.LoginRESBean com.snapwork.bean.login.LoginMBBean.getRS()
at com.snapwork.bean.login.LoginMBBean
Property declineApplicationCount is present but not specified in @XmlType.propOrder
this problem is related to the following location:
at public java.lang.String com.snapwork.bean.login.LoginRESBean.getDeclineApplicationCount()
at com.snapwork.bean.login.LoginRESBean
at public com.snapwork.bean.login.LoginRESBean com.snapwork.bean.login.LoginMBBean.getRS()
at com.snapwork.bean.login.LoginMBBean
Property displayName is present but not specified in @XmlType.propOrder
this problem is related to the following location:
at public java.lang.String com.snapwork.bean.login.LoginRESBean.getDisplayName()
at com.snapwork.bean.login.LoginRESBean
at public com.snapwork.bean.login.LoginRESBean com.snapwork.bean.login.LoginMBBean.getRS()
at com.snapwork.bean.login.LoginMBBean
Property operationErrorCode is present but not specified in @XmlType.propOrder
this problem is related to the following location:
at public java.lang.String com.snapwork.bean.login.LoginRESBean.getOperationErrorCode()
at com.snapwork.bean.login.LoginRESBean
at public com.snapwork.bean.login.LoginRESBean com.snapwork.bean.login.LoginMBBean.getRS()
at com.snapwork.bean.login.LoginMBBean
Property operationErrorMessage is present but not specified in @XmlType.propOrder
this problem is related to the following location:
at public java.lang.String com.snapwork.bean.login.LoginRESBean.getOperationErrorMessage()
at com.snapwork.bean.login.LoginRESBean
at public com.snapwork.bean.login.LoginRESBean com.snapwork.bean.login.LoginMBBean.getRS()
at com.snapwork.bean.login.LoginMBBean
Property operationStatus is present but not specified in @XmlType.propOrder
this problem is related to the following location:
at public java.lang.String com.snapwork.bean.login.LoginRESBean.getOperationStatus()
at com.snapwork.bean.login.LoginRESBean
at public com.snapwork.bean.login.LoginRESBean com.snapwork.bean.login.LoginMBBean.getRS()
at com.snapwork.bean.login.LoginMBBean
Property submittedApplicationCount is present but not specified in @XmlType.propOrder
this problem is related to the following location:
at public java.lang.String com.snapwork.bean.login.LoginRESBean.getSubmittedApplicationCount()
at com.snapwork.bean.login.LoginRESBean
at public com.snapwork.bean.login.LoginRESBean com.snapwork.bean.login.LoginMBBean.getRS()
at com.snapwork.bean.login.LoginMBBean
Property totalAppliationCount is present but not specified in @XmlType.propOrder
this problem is related to the following location:
at public java.lang.String com.snapwork.bean.login.LoginRESBean.getTotalAppliationCount()
at com.snapwork.bean.login.LoginRESBean
at public com.snapwork.bean.login.LoginRESBean com.snapwork.bean.login.LoginMBBean.getRS()
at com.snapwork.bean.login.LoginMBBean
Property OperationStatus appears in @XmlType.propOrder, but no such property exists. Maybe you meant operationStatus?
this problem is related to the following location:
at com.snapwork.bean.login.LoginRESBean
at public com.snapwork.bean.login.LoginRESBean com.snapwork.bean.login.LoginMBBean.getRS()
at com.snapwork.bean.login.LoginMBBean
Property OperationErrorCode appears in @XmlType.propOrder, but no such property exists. Maybe you meant operationErrorCode?
this problem is related to the following location:
at com.snapwork.bean.login.LoginRESBean
at public com.snapwork.bean.login.LoginRESBean com.snapwork.bean.login.LoginMBBean.getRS()
at com.snapwork.bean.login.LoginMBBean
Property OperationErrorMessage appears in @XmlType.propOrder, but no such property exists. Maybe you meant operationErrorMessage?
this problem is related to the following location:
at com.snapwork.bean.login.LoginRESBean
at public com.snapwork.bean.login.LoginRESBean com.snapwork.bean.login.LoginMBBean.getRS()
at com.snapwork.bean.login.LoginMBBean
Property DisplayName appears in @XmlType.propOrder, but no such property exists. Maybe you meant displayName?
this problem is related to the following location:
at com.snapwork.bean.login.LoginRESBean
at public com.snapwork.bean.login.LoginRESBean com.snapwork.bean.login.LoginMBBean.getRS()
at com.snapwork.bean.login.LoginMBBean
Property ApplicationCountFromDate appears in @XmlType.propOrder, but no such property exists. Maybe you meant applicationCountFromDate?
this problem is related to the following location:
at com.snapwork.bean.login.LoginRESBean
at public com.snapwork.bean.login.LoginRESBean com.snapwork.bean.login.LoginMBBean.getRS()
at com.snapwork.bean.login.LoginMBBean
Property ApplicationCountToDate appears in @XmlType.propOrder, but no such property exists. Maybe you meant applicationCountToDate?
this problem is related to the following location:
at com.snapwork.bean.login.LoginRESBean
at public com.snapwork.bean.login.LoginRESBean com.snapwork.bean.login.LoginMBBean.getRS()
at com.snapwork.bean.login.LoginMBBean
Property TotalAppliationCount appears in @XmlType.propOrder, but no such property exists. Maybe you meant totalAppliationCount?
this problem is related to the following location:
at com.snapwork.bean.login.LoginRESBean
at public com.snapwork.bean.login.LoginRESBean com.snapwork.bean.login.LoginMBBean.getRS()
at com.snapwork.bean.login.LoginMBBean
Property ApprovedApplicationCount appears in @XmlType.propOrder, but no such property exists. Maybe you meant approvedApplicationCount?
this problem is related to the following location:
at com.snapwork.bean.login.LoginRESBean
at public com.snapwork.bean.login.LoginRESBean com.snapwork.bean.login.LoginMBBean.getRS()
at com.snapwork.bean.login.LoginMBBean
Property SubmittedApplicationCount appears in @XmlType.propOrder, but no such property exists. Maybe you meant submittedApplicationCount?
this problem is related to the following location:
at com.snapwork.bean.login.LoginRESBean
at public com.snapwork.bean.login.LoginRESBean com.snapwork.bean.login.LoginMBBean.getRS()
at com.snapwork.bean.login.LoginMBBean
Property DeclineApplicationCount appears in @XmlType.propOrder, but no such property exists. Maybe you meant declineApplicationCount?
this problem is related to the following location:
at com.snapwork.bean.login.LoginRESBean
at public com.snapwork.bean.login.LoginRESBean com.snapwork.bean.login.LoginMBBean.getRS()
at com.snapwork.bean.login.LoginMBBean
Code :
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlAccessType;
@XmlType (propOrder = { "operationStatus",
"operationErrorCode",
"operationErrorMessage",
"JSessionID",
"DSACode",
"displayName",
"applicationCountToDate",
"totalAppliationCount",
"approvedApplicationCount",
"submittedApplicationCount",
"declineApplicationCount"
})
public class LoginRESBean
{
private String ApplicationCountToDate;
private String TotalAppliationCount;
private String ApplicationCountFromDate;
private String DeclineApplicationCount;
private String DSACode;
private String SubmittedApplicationCount;
private String ApprovedApplicationCount;
private String DisplayName;
private String OperationErrorMessage;
private String OperationStatus;
private String OperationErrorCode;
private String JSessionID;
@XmlElement (name = "ApplicationCountToDate")
public String getApplicationCountToDate ()
{
return ApplicationCountToDate;
}
public void setApplicationCountToDate (String ApplicationCountToDate)
{
this.ApplicationCountToDate = ApplicationCountToDate;
}
@XmlElement (name = "TotalAppliationCount")
public String getTotalAppliationCount ()
{
return TotalAppliationCount;
}
public void setTotalAppliationCount (String TotalAppliationCount)
{
this.TotalAppliationCount = TotalAppliationCount;
}
@XmlElement (name = "ApplicationCountFromDate")
public String getApplicationCountFromDate ()
{
return ApplicationCountFromDate;
}
public void setApplicationCountFromDate (String ApplicationCountFromDate)
{
this.ApplicationCountFromDate = ApplicationCountFromDate;
}
@XmlElement (name = "DeclineApplicationCount")
public String getDeclineApplicationCount ()
{
return DeclineApplicationCount;
}
public void setDeclineApplicationCount (String DeclineApplicationCount)
{
this.DeclineApplicationCount = DeclineApplicationCount;
}
@XmlElement (name = "DSACode")
public String getDSACode ()
{
return DSACode;
}
public void setDSACode (String DSACode)
{
this.DSACode = DSACode;
}
@XmlElement (name = "SubmittedApplicationCount")
public String getSubmittedApplicationCount ()
{
return SubmittedApplicationCount;
}
public void setSubmittedApplicationCount (String SubmittedApplicationCount)
{
this.SubmittedApplicationCount = SubmittedApplicationCount;
}
@XmlElement (name = "ApprovedApplicationCount")
public String getApprovedApplicationCount ()
{
return ApprovedApplicationCount;
}
public void setApprovedApplicationCount (String ApprovedApplicationCount)
{
this.ApprovedApplicationCount = ApprovedApplicationCount;
}
@XmlElement (name = "DisplayName")
public String getDisplayName ()
{
return DisplayName;
}
public void setDisplayName (String DisplayName)
{
this.DisplayName = DisplayName;
}
@XmlElement (name = "OperationErrorMessage")
public String getOperationErrorMessage ()
{
return OperationErrorMessage;
}
public void setOperationErrorMessage (String OperationErrorMessage)
{
this.OperationErrorMessage = OperationErrorMessage;
}
@XmlElement (name = "OperationStatus")
public String getOperationStatus ()
{
return OperationStatus;
}
public void setOperationStatus (String OperationStatus)
{
this.OperationStatus = OperationStatus;
}
@XmlElement (name = "OperationErrorCode")
public String getOperationErrorCode ()
{
return OperationErrorCode;
}
public void setOperationErrorCode (String OperationErrorCode)
{
this.OperationErrorCode = OperationErrorCode;
}
@XmlElement (name = "JSessionID")
public String getJSessionID ()
{
return JSessionID;
}
public void setJSessionID (String JSessionID)
{
this.JSessionID = JSessionID;
}
}
最佳答案
回答问题的原始版本
JAXB认为方法getApplicationCountToDate()
对应于属性applicationCountToDate
(请注意,它以小写字母开头),因此它期望applicationCountToDate
中的propOrder
而不是ApplicationCountToDate
。在这种情况下,您将获得一个很好的例外,它将您指向正确的方向。
Property applicationCountToDate is present but not specified in @XmlType.propOrder
this problem is related to the following location:
at public java.lang.String com.snapwork.bean.login.LoginRESBean.getApplicationCountToDate()
at com.snapwork.bean.login.LoginRESBean
at public com.snapwork.bean.login.LoginRESBean com.snapwork.bean.login.LoginMBBean.getRS()
at com.snapwork.bean.login.LoginMBBean
我在博客上写了有关propOrder
的更多信息:
http://blog.bdoughan.com/2012/02/jaxbs-xmltype-and-proporder.html
更新
使用更新的模型,您应该得到以下异常:
Property applicationCountFromDate is present but not specified in @XmlType.propOrder
this problem is related to the following location:
at public java.lang.String forum27147537.LoginRESBean.getApplicationCountFromDate()
at forum27147537.LoginRESBean
对于您的问题中更新的代码,我唯一需要做的就是将applicationCountFromDate
添加到propOrder
以使一切正常工作:
@XmlType (propOrder = {"operationStatus",
"operationErrorCode",
"operationErrorMessage",
"JSessionID",
"DSACode",
"displayName",
"applicationCountToDate",
"applicationCountFromDate",
"totalAppliationCount",
"approvedApplicationCount",
"submittedApplicationCount",
"declineApplicationCount"
})
public class LoginRESBean