最近項目使用到webservice調用廠商的接口,遇到的需要解析錯誤信息的需求,於是對於錯誤信息的解析使用比較暴力方式:使用XStream直接手動解析錯誤消息到對象。
在解析的過程中遇到了com.thoughtworks.xstream.security.ForbiddenClassException異常的問題,多方尋找後找到解決方式:
xStream = new XStream();
// 儘量限制所需的最低權限 這條語句解決該問題
xStream.addPermission(AnyTypePermission.ANY);
// 對象設置默認安全防護
// 會導致com.thoughtworks.xstream.security.ForbiddenClassException
//xStream.setupDefaultSecurity(xStream);
// 對類開啓註解
xStream.processAnnotations(FaultInfo.class);
還有一種方式是非註解方式,這裏不使用非註解方式開發,不贅述,解決方式來源於: