Pregunta

No puede validar este método debido a que el dominio de la cartografía para el tipo de retorno (XXXProxy) no puede resolverse a un tipo de dominio Añadir @SuppressWarnings("requestfactory") para despedir.

Comenzando con GWT 2.4, RequestFactory interfaces deben ser validados antes de que puedan ser utilizados por el RequestFactory código de servidor o de la JVM clientes.Este documento explica los mecanismos para la validación de esas interfaces.

de acuerdo a http://code.google.com/p/google-web-toolkit/wiki/RequestFactoryInterfaceValidation

He hecho, pero se salió un poco de error en Proxy y Petición de clase.como que:

Cannot validate this method because the domain mapping for the return   type (XXXProxy) could not be resolved to a domain type Add @SuppressWarnings("requestfactory") to dismiss.
Could not find domain method similar to java.lang.Integer countUsers()。

Ayuda!Me han pasado para el uso de la Implementación de un servicio en una clase de entidad pero no se puede pasar Usando el Localizador y ServiceLocator.

Mycode:

@ServiceName(value="UserProxy.class", locator="UserServiceLocator.class")
public interface UserServiceRequest extends RequestContext {

    Request<Integer> countUsers();
    Request<Void> generateUsers();
    Request<List<UserProxy>> findAllUsers();
    InstanceRequest<UserProxy, Void> persist();
    InstanceRequest<UserProxy, Void> remove();

}

@ProxyForName(value = "User.class", locator = "UserLocator.class")
public interface UserProxy extends EntityProxy {

    //...setter and getter

    EntityProxyId<UserProxy> stableId();

}

error [debug para utilizar el método en el servidor]

com.google.web.la encuadernación.requestfactory.servidor.RequestFactoryServlet doPost 严重:Error inesperado java.lang.RuntimeException:El RequestFactory ValidationTool se debe ejecutar para la com.geogre.compartida.DemoRfLocateRequestFactory RequestFactory tipo en com.google.web.la encuadernación.requestfactory.vm.impl.Deobfuscator$Builder.de carga(Deobfuscator.java:59) en com.google.web.bindery.requestfactory.server.ResolverServiceLayer.updateDeobfuscator(ResolverServiceLayer.java:43) en com.google.web.bindery.requestfactory.server.ResolverServiceLayer.resolveRequestFactory(ResolverServiceLayer.java:176) en com.google.web.bindery.requestfactory.server.ServiceLayerDecorator.resolveRequestFactory(ServiceLayerDecorator.java:172) en com.google.web.bindery.requestfactory.server.ServiceLayerDecorator.resolveRequestFactory(ServiceLayerDecorator.java:172) en com.google.web.bindery.requestfactory.server.ServiceLayerDecorator.resolveRequestFactory(ServiceLayerDecorator.java:172) en el sol.reflejar.NativeMethodAccessorImpl.invoke0(Native Method) en el sol.reflejar.NativeMethodAccessorImpl.invoke(Fuente Desconocida) en el sol.reflejar.DelegatingMethodAccessorImpl.invoke(Fuente Desconocida) en java.lang.reflejar.Método.invoke(Fuente Desconocida) en com.google.web.bindery.requestfactory.server.ServiceLayerCache.getOrCache(ServiceLayerCache.java:233) en com.google.web.bindery.requestfactory.server.ServiceLayerCache.resolveRequestFactory(ServiceLayerCache.java:198) en com.google.web.bindery.requestfactory.server.SimpleRequestProcessor.process(SimpleRequestProcessor.java:207) en com.google.web.bindery.requestfactory.server.SimpleRequestProcessor.process(SimpleRequestProcessor.java:127) en com.google.web.bindery.requestfactory.server.RequestFactoryServlet.doPost(RequestFactoryServlet.java:133) en javax.servlet.http.HttpServlet.servicio(HttpServlet.java:637) en javax.servlet.http.HttpServlet.servicio(HttpServlet.java:717) en org.mortbay.jetty.servlet.ServletHolder.la manija(ServletHolder.java:487) en org.mortbay.jetty.servlet.ServletHandler.la manija(ServletHandler.java:362) en org.mortbay.jetty.de seguridad.SecurityHandler.la manija(SecurityHandler.java:216) en org.mortbay.jetty.servlet.SessionHandler.la manija(SessionHandler.java:181) en org.mortbay.jetty.controlador.ContextHandler.la manija(ContextHandler.java:729) en org.mortbay.jetty.webapp.WebAppContext.la manija(WebAppContext.java:405) en org.mortbay.jetty.controlador.HandlerWrapper.la manija(HandlerWrapper.java:152) en org.mortbay.jetty.controlador.RequestLogHandler.la manija(RequestLogHandler.java:49) en org.mortbay.jetty.controlador.HandlerWrapper.la manija(HandlerWrapper.java:152) en org.mortbay.jetty.Servidor.la manija(Server.java:324) en org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505) en org.mortbay.jetty.HttpConnection$RequestHandler.contenido(HttpConnection.java:843) en org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647) en org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211) en org.mortbay.jetty.HttpConnection.la manija(HttpConnection.java:380) en org.mortbay.io.de nio.SelectChannelEndPoint.ejecutar(SelectChannelEndPoint.java:395) en org.mortbay.subproceso.QueuedThreadPool$PoolThread.ejecutar(QueuedThreadPool.java:488) Pragma:no-cache Cache-Control:no-cache Los encabezados de respuesta Tipo De Contenido:text/html;charset=iso-8859-1 Content-Length:1420

¿Fue útil?

Solución

Usted parece ser el uso de la @ServiceName anotación incorrectamente, en un par de maneras.Si quieres hablar de una clase literal, utilice @de Servicio en lugar

@Service(value=MyServiceType.class, locator=MyServiceLocator.class)

Si desea utilizar @ServiceName, usted necesita el nombre completo del paquete

@ServiceName(value="com.company.server.MyServiceType", locator="com.company.gwt.MyServiceLocator")

Lo mismo es cierto para @ProxyFor y @ProxyForName, que también parecen estar utilizando de forma incorrecta.

En cualquier caso, usted no puede hacer la RequestContext del punto de servicio a un proxy - probablemente debería punto para el Usuario, no UserProxy.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top