2011-05-17 29 views
0

我看了一下Google IO gwtgae2011的例子,并让它工作。我尝试一些功能添加到项目中,并不断地从服务器获取异常(被调用onFailure处法)和堆栈跟踪是使用RequestFactory和Objectify时出现了一个奇怪的例外

19:47:36.070 [ERROR] [crowd] Uncaught exception escaped 
com.google.web.bindery.event.shared.UmbrellaException: One or more exceptions caught, see full set in UmbrellaException#getCauses 
at com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext$StandardPayloadDialect.processPayload(AbstractRequestContext.java:299) 
at com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext$4.onTransportSuccess(AbstractRequestContext.java:951) 
at com.google.web.bindery.requestfactory.gwt.client.DefaultRequestTransport$1.onResponseReceived(DefaultRequestTransport.java:136) 
at com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:287) 
at com.google.gwt.http.client.RequestBuilder$1.onReadyStateChange(RequestBuilder.java:395) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
......stacktrace 

Caused by: java.lang.RuntimeException: Server Error: No class 'com.trial.gwtgae.server.domain.Sketch2' was registered 
at com.google.web.bindery.requestfactory.shared.Receiver.onFailure(Receiver.java:36) 
at com.google.web.bindery.requestfactory.shared.impl.AbstractRequest.onFail(AbstractRequest.java:113) 
at com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext$StandardPayloadDialect.processPayload(AbstractRequestContext.java:271) 
at com.google.web.bindery.requestfactory.shared.impl.AbstractRequestContext$4.onTransportSuccess(AbstractRequestContext.java:951) 
at com.google.web.bindery.requestfactory.gwt.client.DefaultRequestTransport$1.onResponseReceived(DefaultRequestTransport.java:136) 
at com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:287) 
at com.google.gwt.http.client.RequestBuilder$1.onReadyStateChange(RequestBuilder.java:395) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103) 
...more stacktrace 

我创建了一个叫做草图类素描的精确克隆,创造SketchDao,SketchProxy的克隆, SqetchRequest在我的RequestFactory接口中。

无论如何抛出异常。 (我试图重新编译,重新启动,清理生成的文件,尝试使用IDEA - 同样的问题) 任何想法,为什么会发生这种情况?

+0

尝试查看由异常抛出的行号。当你有一些愚蠢的错误,比如当你尝试向一个很小的网格添加一行时,这个异常经常被抛出。也许你输入了错误的东西? – 2011-05-17 18:14:20

+0

在例外中没有我的代码行。每个克隆与原始的Sketch类都在同一个包中。 – Tala 2011-05-18 07:10:41

回答

1

您必须注册要与物品化一起使用的课程。类似这样的:

factory.register(com.trial.gwtgae.server.domain.Sketch2.class); 
+0

我没有发现任何关于注册班级到工厂。 RequestFactory没有称为寄存器的方法。即使原始草图示例也没有注册任何类。 – Tala 2011-05-18 07:14:02

+0

http://objectify-appengine.googlecode.com/svn/trunk/javadoc/com/googlecode/objectify/ObjectifyFactory.html#register(java.lang.Class) – 2011-05-18 07:33:17

+0

我正在谈论物化。您必须注册所有实体类。 – 2011-05-18 07:33:56