0

我正在尝试从字符串创建 bean,但无法创建,因为它返回 null。这是我的代码

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。

4

1 回答 1

0

我找到了原因。当我尝试使用 RESTClient 时,它给出了空对象。但是,一旦我编写了客户端代码并传递了从 PhotoQuality 对象创建的 StringWriter 值,它就会正常运行。

于 2014-06-20T05:51:36.203 回答