java.security.AccessControlException при проверке XSD с помощью SAX Parser
Я написал парсер SAX в своем веб-приложении Google App Engine. в этом я пытаюсь проверить мой файл XML с помощью xsd. Но я получаю исключение контроля доступа, когда мой код пытается получить доступ к этому xsd.
java.security.AccessControlException: access denied (java.io.FilePermission \WEB-INF\ApplicationResponse.xsd read)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
at java.security.AccessController.checkPermission(AccessController.java:427)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkPermission(DevAppServerFactory.java:166)
at java.lang.SecurityManager.checkRead(SecurityManager.java:871)
at java.io.FileInputStream.(FileInputStream.java:100)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.xsdToXMLInputSource(XMLSchemaLoader.java:830)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.processJAXPSchemaSource(XMLSchemaLoader.java:708)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:554)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.findSchemaGrammar(XMLSchemaValidator.java:2459)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1807)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:705)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:330)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(XMLNSDocumentScannerImpl.java:779)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1794)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242)
at sax.SAXLocalNameCount.parse(SAXLocalNameCount.java:220)
at com.sms2mint.InterfaceServlet.doGet(InterfaceServlet.java:54)
Пожалуйста, дайте мне знать, как это отладить? Я пытался поместить xsd в классы, webcontent, /WEB-INF, но это не помогло. Также объявлено это как файл ресурса в appengine-web.xml, но безрезультатно.
1 ответ
В соответствии с:
http://code.google.com/appengine/docs/java/jrewhitelist.html
FileInputStream должен быть функцией чтения из белого списка. Возникают ли у вас проблемы с доступом в среде разработки (в таком случае, какова ваша среда разработки? Были сообщения о похожих проблемах с людьми, использующими плагин Eclipse, которые были устранены после перезапуска затмения, очистки и повторной сборки проекта), или в развернутом приложении?
Как вы указываете путь к вашему файлу? Можете ли вы включить код?