2014-06-19 46 views
0

我想從字符串創建豆,但無法創建,因爲它是返回null.Here輸入StringReader創建空的對象是我的代碼使用的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。

+0

什麼樣的XML看起來像你試圖解組。如果你填充你的對象模型,然後編組它,它是如何比較你正試圖解組的XML? –

回答

0

我找到了原因。當我嘗試使用RESTClient它給予null對象。但只要我編寫客戶端代碼並通過PhotoQuality Object創建的StringWriter值,它就可以正常運行。

相關問題