Estoy usando GWT (2.4) con resorte integrado como en este article. Tengo un problema para obtener la lista de usuarios de la base de datos (Hibernate) y rellenar DataGrid con ella. Cuando llamo greetingService.allUsers()
método, estoy recibiendo el error (onFailure()):GWT: La respuesta no pudo ser deserializada
com.google.gwt.user.client.rpc.IncompatibleRemoteServiceException: La respuesta no se ha podido deserializar
¿Alguien ayuda con eso? Debajo algunos pedazos de código. El proyecto de trabajo completo es here.
public void onModuleLoad() {
// ...
greetingService.allUsers(
new AsyncCallback<List<User>>(){
@Override
public void onFailure(Throwable caught) {
caught.printStackTrace();
}
@Override
public void onSuccess(List<User> result) {
GWT.log("SIZE: "+result.size());
dataGrid.setRowData(result);
}
}
);
// ...
}
GreetingServiceImpl
@Override
public List<User> allUsers() {
return userDAO.findAll();
}
usuario
@Entity
@Table(name = "users")
public class User implements Serializable, IsSerializable {
@Id
private Long id;
// only Strings and one Date
private String login;
private String password;
private String firstname;
private String lastname;
private Date date;
}
Oh, eso temió que ningún constructor de arg me haya conseguido tantas veces ... Puede ser privado. – DTing
Tengo contructor en blanco. ¿A qué se refiere con: _ "Asegúrese de que su paquete esté definido en su archivo gwt.xml" _? – marioosh
En su proyecto, tendrá un archivo .gwt.xml en la base del src. Allí abajo, verás de lo que estoy hablando. Aquí hay un enlace útil: [Paths Handling] (http://code.google.com/p/google-web-toolkit-incubator/wiki/PathsHandlingFAQ) –