Java GWT应用程序无法从我的RequestContext接口中找到匹配的方法
你能告诉我我有什么问题吗?我有GWT RequestContext和其中的一些方法,还有一些服务类和该方法实现。在开发模式下运行时,RequestContext对象未通过验证 以下是RequestContext接口:Java GWT应用程序无法从我的RequestContext接口中找到匹配的方法,java,gwt,requestfactory,Java,Gwt,Requestfactory,你能告诉我我有什么问题吗?我有GWT RequestContext和其中的一些方法,还有一些服务类和该方法实现。在开发模式下运行时,RequestContext对象未通过验证 以下是RequestContext接口: @Service(value = CorporateAccountService.class, locator = CorporateAccountServiceLocator.class) public interface CorporateAccountServiceRequ
@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();
}
在我的RequestContext中定义的persist(CorporateAccount-corpAcc)和remove(CorporateAccount-corpAcc)方法存在一些问题,但我正在实现它们
提前谢谢你,我感谢你的帮助 您应该仔细阅读日志,它们提供了大量信息: 在CorporateAccountServiceRequest请求上下文中,您具有以下签名:
InstanceRequest<CorporateAccountProxy, Void> remove();
这些方法必须匹配,因为CorporateAccountServiceRequest是客户端服务的代理(表示接口)。如果他们不匹配,那就不好了。
我猜其他的日志也和这个一样,所以继续阅读。。。
要更正此问题,您应该:
我希望这有助于……谢谢,我解决了这个问题。它应该是这样的:请求持久化(CorporateAccountProxy accountProxy);请求删除(CorporateAccountProxy accountProxy);而不是:InstanceRequest persist();InstanceRequest移除();我不记得InstanceRequests仅在实体本身中实现持久性逻辑时使用。@user791195您应该接受此答案或创建一个新答案。您应该添加更多标记。这使问题更加明显
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
InstanceRequest<CorporateAccountProxy, Void> remove();
public void remove(CorporateAccount corporateAccount)