請問我請問我的問題是什麼?我有GWT的RequestContext與它的一些方法和一些服務類與該方法的實現。當我在開發模式下運行時,我的RequestContext對象不能通過驗證。GWT應用程序無法從我的RequestContext界面找到匹配的方法
這裏是RequestContext的接口:
@Service(value = CorporateAccountService.class, locator = CorporateAccountServiceLocator.class)
public interface CorporateAccountServiceRequest extends RequestContext {
Request<List<CorporateAccountProxy>> findAllCorporateAccounts();
Request<CorporateAccountProxy> findCorporateAccount(Long id);
InstanceRequest<CorporateAccountProxy, Void> persist();
InstanceRequest<CorporateAccountProxy, Void> remove();
}
,這裏是由服務定位器規定的實施:
public class CorporateAccountService {
public void persist(CorporateAccount corporateAccount) {
EntityManager em = EMF.get().createEntityManager();
try {
em.persist(corporateAccount);
} finally {
em.close();
}
}
public void remove(CorporateAccount corporateAccount) {
EntityManager em = EMF.get().createEntityManager();
try {
CorporateAccount attached = em.find(CorporateAccount.class,
corporateAccount.getId());
em.remove(attached);
} finally {
em.close();
}
}
@SuppressWarnings("unchecked")
public List<CorporateAccount> findAllCorporateAccounts() {
EntityManager em = EMF.get().createEntityManager();
try {
List<CorporateAccount> list = em.createQuery(
"FROM CorporateAccount").getResultList();
// force to get all the employees
list.size();
return list;
} finally {
em.close();
}
}
public CorporateAccount findCorporateAccount(Long id) {
EntityManager em = EMF.get().createEntityManager();
try {
return em.find(CorporateAccount.class, id);
} finally {
em.close();
}
}
}
我收到此錯誤有關請求上下文驗證:
Jun 9, 2011 7:32:10 PM com.dms.admin.shared.CorporateAccountServiceRequest com.google.web.bindery.requestfactory.shared.InstanceRequest remove()
SEVERE: Could not find matching method in com.dms.admin.server.CorporateAccountService.
Possible matches:
void remove(com.dms.admin.server.domain.CorporateAccount)
Jun 9, 2011 7:32:10 PM com.dms.admin.shared.CorporateAccountServiceRequest com.google.web.bindery.requestfactory.shared.InstanceRequest persist()
SEVERE: Could not find matching method in com.dms.admin.server.CorporateAccountService.
Possible matches:
void persist(com.dms.admin.server.domain.CorporateAccount)
Jun 9, 2011 7:32:10 PM com.google.web.bindery.requestfactory.server.ServiceLayerDecorator die
SEVERE: The RequestContext type com.dms.admin.shared.CorporateAccountServiceRequest did not pass validation
Jun 9, 2011 7:32:10 PM com.google.web.bindery.requestfactory.server.RequestFactoryServlet doPost
SEVERE: Unexpected error
com.google.web.bindery.requestfactory.server.UnexpectedException: The RequestContext type com.dms.admin.shared.CorporateAccountServiceRequest did not pass validation
在我的RequestContext中定義的persist(CorporateAccount corpAcc)和remove(CorporateAccount corpAcc)方法存在一些問題,但我正在實施它們。
非常感謝您的幫助。
您應該添加更多標籤。它使問題更加明顯 – 2011-06-10 13:03:33