我重新部署我的应用程序(谷歌appengine),它似乎工作好,但是当我尝试解析XML时,我得到: java.security.AccessControlException:access denied(“java.lang.RuntimePermission”“accessClassInPackage.com.sun.org.apache.xerces.internal.parsers”)appengine错误 - java.security.AccessControlException:访问被拒绝(“java.lang.RuntimePermission”“accessClassInPackage.com.sun.org.apache.xerces
这是什么意思?我怎么能解决呢?
在以前版本的应用程序,我没有得到这个错误的。
运行时本地的应用程序,我不会得到这个错误。
我做了细微的变化 - 我通过一些数据从UI到数据存储
下面是解析XML代码:
public static <T extends BaseDataObject> T xml2Bean(Class<T> clazz,
String xmlData) throws UnsupportedEncodingException, JAXBException {
Reader reader = new StringReader(xmlData);
JAXBContext context = getContext(clazz);
Unmarshaller um = context.createUnmarshaller();
return (T) um.unmarshal(reader);
}
我的猜测是谷歌用来支持com.sun.org.apache.xerces.internal.parsers
但现在他们没有,我的旧代码仍然工作,因为它仍然支持时,它被推...
我怎么能验证这个猜测?即我可以在哪里找到不受支持的软件包列表?
我在考虑丢弃XML代码并使用json代替,我如何确保json支持?
10X :)罗宾写道:“......这是不允许在GAE”,我在哪里可以找到的是什么/ ISN”名单t支持GAE?是json支持? –
我检查了https://developers.google.com/appengine/docs/java/jrewhitelist,支持javax.xml.bind.JAXBContext ... –