使用JAXBContext为输入StringReader创建空对象
我试图从字符串创建bean,但无法创建,因为它返回null使用JAXBContext为输入StringReader创建空对象,jaxb,unmarshalling,stringreader,Jaxb,Unmarshalling,Stringreader,我试图从字符串创建bean,但无法创建,因为它返回null public ModelAndView checkPhotoQualityRequest( @RequestBody String photoDataXml, HttpServletRequest request) { PhotoQuality photoQuality = null; try { JAXBContext jaxbContext = JAXBContext
public ModelAndView checkPhotoQualityRequest(
@RequestBody String photoDataXml, HttpServletRequest request) {
PhotoQuality photoQuality = null;
try {
JAXBContext jaxbContext = JAXBContext
.newInstance(PhotoQuality.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
StringReader reader = new StringReader(photoDataXml);
photoQuality = (PhotoQuality) unmarshaller.unmarshal(reader);
PhotoQuality.java
package in.gov.uid.opencvaccess.bean;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
@XmlType(name = "PhotoQuality")
@XmlRootElement(name = "PhotoQuality")
public class PhotoQuality {
private String photoid;
private byte[] photo;
private boolean quality;
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String getPhotoid() {
return photoid;
}
public void setPhotoid(String photoid) {
this.photoid = photoid;
}
public byte[] getPhoto() {
return photo;
}
public void setPhoto(byte[] photo) {
this.photo = photo;
}
public boolean isQuality() {
return quality;
}
public void setQuality(boolean quality) {
this.quality = quality;
}
}
请帮助我解决这个问题。当我调试和检查bean时,它显示所有空值,但photoDataXml显示完整的xml。我找到了原因。当我尝试使用RESTClient时,它给出了空对象。但是,只要我编写了客户机代码并传递了从PhotoQuality对象创建的StringWriter值,它就会正常运行。您试图解组的XML是什么样子的。如果填充对象模型,然后将其封送,那么它与您试图解组的XML相比如何?