Hello Ikai,
On my local machine,
I tested it moving file to "WEB-INF/ssma_std.txt"? it worked. Thanks.
After successful testing on local machine,
while deploying it using "Deploy App Enginer Project" , plug-in on
eclipse, I got following error....
Somewhere on goole app engine tutorials, I came across that "text"
files are read from /web directory.
Right now , my text file "ssma_std.txt" in the directory "WEB-INF", is
that the issue....not sure on that....
As well, I'm using App Engine SDK-1.3.4,
where as same application previously uploaded with SDK-1.3.2 ( that
was without this read text file exercise...)
Here is the error logs...
com.google.apphosting.utils.config.AppEngineConfigException: XML error
validating C:\NC\Eclipse_Proj\LGDesign\war\WEB-INF\appengine-web.xml
against C:\eclipse_Galileo\plugins
\com.google.appengine.eclipse.sdkbundle.
1.3.4_1.3.4.v201005212032\appengine-java-sdk-1.3.4\docs\appengine-
web.xsd
at
com.google.appengine.tools.admin.Application.validateXml(Application.java:
336)
at
com.google.appengine.tools.admin.Application.<init>(Application.java:
89)
at
com.google.appengine.tools.admin.Application.readApplication(Application.java:
127)
at
com.google.appengine.eclipse.core.proxy.AppEngineBridgeImpl.createAppAdmin(AppEngineBridgeImpl.java:
204)
at
com.google.appengine.eclipse.core.proxy.AppEngineBridgeImpl.deploy(AppEngineBridgeImpl.java:
265)
at
com.google.appengine.eclipse.core.deploy.DeployProjectJob.runInWorkspace(DeployProjectJob.java:
145)
at
org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:
38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Caused by: org.xml.sax.SAXParseException: cvc-complex-type.2.4.a:
Invalid content was found starting with element 'system-properties'.
One of '{"http://appengine.google.com/ns/1.0":static-files, "http://
appengine.google.com/ns/1.0":resource-files, "http://
appengine.google.com/ns/1.0":env-variables, "http://
appengine.google.com/ns/1.0":ssl-enabled, "http://appengine.google.com/
ns/1.0":sessions-enabled, "http://appengine.google.com/ns/1.0":user-
permissions, "http://appengine.google.com/ns/1.0":public-root, "http://
appengine.google.com/ns/1.0":inbound-services, "http://
appengine.google.com/ns/1.0":precompilation-enabled, "http://
appengine.google.com/ns/1.0":admin-console}' is expected.
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:
195)
at
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:
131)
at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:
384)
at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:
318)
at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator
$XSIErrorReporter.reportError(XMLSchemaValidator.java:410)
at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:
3165)
at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:
1777)
at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:
685)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:
400)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl
$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2747)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:
648)
at
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:
140)
at
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:
510)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:
807)
at
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:
737)
at
com.sun.org.apache.xerces.internal.jaxp.validation.StreamValidatorHelper.validate(StreamValidatorHelper.java:
144)
at
com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.validate(ValidatorImpl.java:
107)
at javax.xml.validation.Validator.validate(Validator.java:127)
at
com.google.appengine.tools.admin.Application.validateXml(Application.java:
333)
... 7 more
On Jun 7, 2:38 pm, "Ikai L (Google)" <[email protected]> wrote:
> Can you try placing the file into WEB-INF and setting filename to
> "WEB-INF/ssma_std.txt"?
>
>
>
> On Sat, Jun 5, 2010 at 4:42 PM, Nick <[email protected]> wrote:
> > Hi,
>
> > I'm new to GoogleAppEngine,
> > please help me on resolving following erro...
>
> > 1. I would like to read a "ssma_stud.txt" file as an input file.
> > This file resides in a path " web/ssma_stud.txt"
>
> > 2. As well, updated "appengine-web.xml" with following...
> > <system-properties>
> > <property name="com.google.gdata.DisableCookieHandler"
> > value="true"/>
> > </system-properties>
>
> > 3. My objective is to read a text file and generate a HashMap which I
> > can use into my servlet
>
> > Code:
> > String fileName = "/ssma_stud.txt";
>
> > ArrayList arrayListLineReadData = new
> > ArrayList();
> > try
> > {
> > BufferedReader inBuffReader = new
> > BufferedReader(new
> > FileReader(fileName));
> > if (!inBuffReader.ready())
> > throw new IOException();
>
> > 4. on this line "BufferedReader inBuffReader = new
> > BufferedReader(new FileReader(fileName));"
> > I get following error..:
>
> > java.security.AccessControlException: access denied
> > (java.io.FilePermission \ssma_stud.txt read)
> > at
>
> > java.security.AccessControlContext.checkPermission(AccessControlContext.java:
> > 323)
> > at
> > java.security.AccessController.checkPermission(AccessController.java:
> > 546)
> > 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.<init>(FileInputStream.java:100)
> > at java.io.FileInputStream.<init>(FileInputStream.java:66)
> > at java.io.FileReader.<init>(FileReader.java:41)
> > at
>
> > com.lgframe.design.C_Stud_Comb_Axial_Bend_Servlet.getArrayListLineReadData(C_Stud_Comb_Axial_Bend_Servlet.java:
> > 411)
> > at
>
> > com.lgframe.design.C_Stud_Comb_Axial_Bend_Servlet.doPost(C_Stud_Comb_Axial_Bend_Servlet.java:
> > 114)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
> > at
> > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
> > 511)
> > at org.mortbay.jetty.servlet.ServletHandler
> > $CachedChain.doFilter(ServletHandler.java:1166)
> > at
>
> > com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:
> > 51)
> > at org.mortbay.jetty.servlet.ServletHandler
> > $CachedChain.doFilter(ServletHandler.java:1157)
> > at
>
> > com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:
> > 43)
> > at org.mortbay.jetty.servlet.ServletHandler
> > $CachedChain.doFilter(ServletHandler.java:1157)
> > at
>
> > com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:
> > 122)
> > at org.mortbay.jetty.servlet.ServletHandler
> > $CachedChain.doFilter(ServletHandler.java:1157)
> > at
> > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
> > 388)
> > at
> > org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
> > 216)
> > at
> > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
> > 182)
> > at
> > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
> > 765)
> > at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
> > 418)
> > at
>
> > com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:
> > 70)
> > at
> > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
> > 152)
> > at com.google.appengine.tools.development.JettyContainerService
> > $ApiProxyHandler.handle(JettyContainerService.java:349)
> > at
> > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
> > 152)
> > at org.mortbay.jetty.Server.handle(Server.java:326)
> > at
> > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
> > 542)
> > at org.mortbay.jetty.HttpConnection
> > $RequestHandler.content(HttpConnection.java:938)
> > at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
> > at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
> > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> > at
> > org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
> > 409)
> > at org.mortbay.thread.QueuedThreadPool
> > $PoolThread.run(QueuedThreadPool.java:582)
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google App Engine for Java" group.
> > To post to this group, send email to
> > [email protected].
> > To unsubscribe from this group, send email to
> > [email protected]<google-appengine-java%[email protected]>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/google-appengine-java?hl=en.
>
> --
> Ikai Lan
> Developer Programs Engineer, Google App Engine
> Blog:http://googleappengine.blogspot.com
> Twitter:http://twitter.com/app_engine
> Reddit:http://www.reddit.com/r/appengine
--
You received this message because you are subscribed to the Google Groups
"Google App Engine for Java" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-appengine-java?hl=en.