Hello,

I have a problem with uploading files using jakarta fileupload library
in my GAE application(commons-fileupload-1.2.1.jar).

I'm using struts and FormFile class to handle uploaded file. On
development GAE server everything is fine and works as expected but on
production server I see NullPointerException in the log of my
application (see corresponding part of the log at the and of this
message).

So it looks like library code failed to get temporary directory for
uploading file.
Can anybody give me the way how to fix this problem or workaround for
this issue?

Thanks in advance.

org.apache.struts.chain.commands.AbstractExceptionHandler execute:
Unhandled exception
java.lang.NullPointerException
        at
org.apache.struts.upload.CommonsMultipartRequestHandler.getRepositoryPath
(CommonsMultipartRequestHandler.java:364)
        at
org.apache.struts.upload.CommonsMultipartRequestHandler.handleRequest
(CommonsMultipartRequestHandler.java:175)
        at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:
410)
        at
org.apache.struts.chain.commands.servlet.PopulateActionForm.populate
(PopulateActionForm.java:50)
        at org.apache.struts.chain.commands.AbstractPopulateActionForm.execute
(AbstractPopulateActionForm.java:60)
        at org.apache.struts.chain.commands.ActionCommandBase.execute
(ActionCommandBase.java:51)
        at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:
191)
        at org.apache.commons.chain.generic.LookupCommand.execute
(LookupCommand.java:305)
        at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:
191)
        at org.apache.struts.chain.ComposableRequestProcessor.process
(ComposableRequestProcessor.java:283)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:
1913)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:
462)
        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:
487)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1093)
        at com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter
(SaveSessionFilter.java:35)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1084)
        at
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter
(TransactionCleanupFilter.java:43)
        at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1084)
        at org.mortbay.jetty.servlet.ServletHandler.handle
(ServletHandler.java:360)
        at org.mortbay.jetty.security.SecurityHandler.handle
(SecurityHandler.java:216)
        at org.mortbay.jetty.servlet.SessionHandler.handle
(SessionHandler.java:181)
        at org.mortbay.jetty.handler.ContextHandler.handle
(ContextHandler.java:712)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
405)
        at com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle
(AppVersionHandlerMap.java:238)
        at org.mortbay.jetty.handler.HandlerWrapper.handle
(HandlerWrapper.java:139)
        at org.mortbay.jetty.Server.handle(Server.java:313)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
506)
        at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete
(HttpConnection.java:830)
        at com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable
(RpcRequestParser.java:76)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
        at
com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest
(JettyServletEngineAdapter.java:139)
        at com.google.apphosting.runtime.JavaRuntime.handleRequest
(JavaRuntime.java:239)
        at com.google.apphosting.base.RuntimePb$EvaluationRuntime
$6.handleBlockingRequest(RuntimePb.java:5135)
        at com.google.apphosting.base.RuntimePb$EvaluationRuntime
$6.handleBlockingRequest(RuntimePb.java:5133)
        at com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest
(BlockingApplicationHandler.java:24)
        at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:
363)
        at com.google.net.rpc.impl.Server$2.run(Server.java:814)
        at com.google.tracing.LocalTraceSpanRunnable.run
(LocalTraceSpanRunnable.java:56)
        at com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan
(LocalTraceSpanBuilder.java:516)
        at com.google.net.rpc.impl.Server.startRpc(Server.java:769)
        at com.google.net.rpc.impl.Server.processRequest(Server.java:351)
        at com.google.net.rpc.impl.ServerConnection.messageReceived
(ServerConnection.java:437)
        at com.google.net.rpc.impl.RpcConnection.parseMessages
(RpcConnection.java:319)
        at com.google.net.rpc.impl.RpcConnection.dataReceived
(RpcConnection.java:290)
        at com.google.net.async.Connection.handleReadEvent(Connection.java:
436)
        at com.google.net.async.EventDispatcher.processNetworkEvents
(EventDispatcher.java:762)
        at com.google.net.async.EventDispatcher.internalLoop
(EventDispatcher.java:207)
        at com.google.net.async.EventDispatcher.loop(EventDispatcher.java:
101)
        at com.google.net.rpc.RpcService.runUntilServerShutdown
(RpcService.java:251)
        at com.google.apphosting.runtime.JavaRuntime$RpcRunnable.run
(JavaRuntime.java:396)
        at java.lang.Thread.run(Unknown Source)

--~--~---------~--~----~------------~-------~--~----~
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 google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to