views:

70

answers:

1

I am using grails 1.3.3 and app-engine plugin 0.8.10;

my test case is:

upload.gsp:

<form action="/test/process" method="post" enctype="multipart/form-data">
    <input type="file" name="file"/>
    <input type="submit"/>
</form>

TestController has:

def process = { 
    println request.getFile("file").inputStream.text
}

First time I am trying to upload file I am getting next error:

Error 500: java.rmi.server.UID is a restricted class. Please see the Google App Engine developer's guide for more details.
Servlet: _ah_default
URI: /test/process
Exception Message: java.rmi.server.UID is a restricted class. Please see the Google App Engine developer's guide for more details. 
Caused by: java.rmi.server.UID is a restricted class. Please see the Google App Engine developer's guide for more details. 
Class: Unknown 
At Line: [-1] 
Code Snippet:

And the stack trace:

java.lang.NoClassDefFoundError: java.rmi.server.UID is a restricted class. Please see the Google  App Engine developer's guide for more details.

at com.google.appengine.tools.development.agent.runtime.Runtime.reject(Runtime.java:51)

at org.apache.commons.fileupload.disk.DiskFileItem.<clinit>(DiskFileItem.java:103)

After first time any another attempt to upload will cause another error:

Error 500: Could not initialize class org.apache.commons.fileupload.disk.DiskFileItem Servlet: _ah_default URI: /test/process Exception Message: Could not initialize class org.apache.commons.fileupload.disk.DiskFileItem Caused by: Could not initialize class org.apache.commons.fileupload.disk.DiskFileItem Class: Unknown At Line: [-1] Code Snippet:

And the stack trace

java.lang.NoClassDefFoundError: Could not initialize class org.apache.commons.fileupload.disk.DiskFileItem
at org.apache.commons.fileupload.disk.DiskFileItemFactory.createItem(DiskFileItemFactory.java:196)

I have 100% common-upload in classpath

I have tried run in on production - the same errors

I have found next: http://ehcache.org/EhcacheUserGuide.html

49.7.1 I get an error java.lang.NoClassDefFoundError: java.rmi.server.UID is a restricted class You are using a version of Ehcache prior to 1.6.

But default version for grails 1.3.3 dist is 1.7.1 and I also tried 1.6.2, 1.7.2, 2.0.0, 2.2.0

A: 

I think this is because java.rmi.server.UID is not a whitelisted class on the GAE, i.e. you're not allowed to use it.

Ethan Shepherd
Yes, but I'm not using this class )). As I understood - one of interceptors in grails arch (spring as I noticed) for uploading use it. I don't use any other libraries exept installed app-engine plugin. And the method witch process upload has no implementation - just println..Surfing the internet I found problems with Ehcache... But turning off and changing the versions did not help.
vitya.melnik