我是新來GWT和RequestFactory所以我編碼使用GWT RequestFactory爲RPC和物化的ORM一個簡單的測試應用程序。GWT RequestFactory:提示「無類型令牌......」異常
我有一個簡單的Person實體,並能獲得工作的罰款所有CRUD操作。我想嘗試在我的Person類中添加一個用於將地址存儲爲@Embedded屬性的值類型,就像它在Google開發人員網站上顯示的一樣。所以我加了一個簡單的POJO地址,AddressProxy延長ValueProxy等
我最終添加幾行代碼的我RequestFactory電話這樣的:
PersonRequest req = rf.personRequest();
AddressProxy address = req.create(AddressProxy.class); // Added this
address.setCity(city); // this
PersonProxy person = req.create(PersonProxy.class);
person.setName("Joe");
person.setPhone("215-555-1212");
person.setAddress(address); // and this.
req.save(person).fire();
所以一切都完美彙編並通過步進代碼在客戶端一切都是A-OK。在服務器端,我得到UnexpectedExcpetion:無類型令牌......
Spefically似乎得到com.google.web.bindery.requestfactory.server.ResolverServiceLayer在這裏抓獲了這個方法:
@Override
public Class<? extends BaseProxy> resolveClass(String typeToken) {
String deobfuscated = deobfuscator.getTypeFromToken(typeToken);
if (deobfuscated == null) {
die(null, "No type for token %s", typeToken);
}
我假設它試圖從請求上下文中確定類型,但它沒有幫助我看到我的結尾丟失了什麼。什麼會造成這種情況?
這不工作,我不認爲它不會反正適用。 with()用於檢索具有存儲的鍵值的實體,該鍵值與其他實體類型建立關係(尚未到達該點,但其下一個在我的測試列表中)。 – 2012-02-19 00:03:06
那麼這是我唯一的想法......我花了很多時間尋找這個'with()'指令,所以我認爲它可能是一樣的。希望有人會有更好的答案! – foch 2012-02-19 00:06:28
我收回了我之前說過的話。我剛剛注意到一個持久化方法的例子,它使用了.with()[這裏是鏈接](http://code.google.com/p/listwidget/source/browse/trunk/src/main/java/com/turbomanage/ listwidget /客戶端/ MVP/EditListActivity.java)。但是,正如我之前所說,這並沒有解決我的問題。 – 2012-02-20 01:04:04