Наследование службы RequestFactory на клиенте в GWT 2.4

GWT 2.4 обеспечивает наследование службы на клиенте (проблема 6234, проблема 6035).

Я долго ждал этого будущего, так как оно экономит много дублированного кода на клиенте. Я начал его реализовывать, но пока с переменным успехом.

Это мой код:

public interface BaseEntityRequest<T>
{
    Request<Void> put(T entity);
    Request<List<T>> getAllOrderBy(String propertyName);
    Request<List<T>> getRangeAndFilter(int limit,int offset, QueryInfoProxy queryInfo);
}

@Service(value = EgdDao.class, locator = DaoServiceLocator.class)
public interface EgdRequest extends RequestContext, BaseEntityRequest<EgdProxy>
{
    Request<Void> exportToExcel(QueryInfoProxy queryInfo, String userName);
}

Пока getAllOrderBy и getRangeAndFilter работают нормально, а put(T entity) нет.

Я получаю следующую ошибку в консоли:

[ERROR] Unexpected error
java.util.NoSuchElementException

и это возвращается в сообщении получателя onFailure ServerFailure:

Error 500 INTERNAL_SERVER_ERROR
HTTP ERROR 500
Problem accessing /gwtRequest. Reason:
INTERNAL_SERVER_ERROR

Единственная причина, по которой я вижу, что метод put не работает, когда другие работают, заключается в том, что он использует общий параметр T. Когда я перемещаю метод put в интерфейс EgdRequest (используя EgdProxy в качестве параметра вместо T ) он начинает работать, поэтому я знаю, что код моего сервера в порядке.

Кто-нибудь знает, как правильно это реализовать?

Спасибо!


person Ioan Agopian    schedule 15.09.2011    source источник
comment
Привет. Как Вы это решили. Я знаю, что прошло много времени, но, может быть, Вы могли бы мне помочь? Я пытаюсь создать общий прокси и контекст для кода на стороне клиента.   -  person masterdany88    schedule 27.11.2015
comment
Здравствуйте, извините, но я так и не смог решить проблему. Я не знаю, исправлена ​​ли ошибка к тому времени или нет, так как я больше не использую GWT:   -  person Ioan Agopian    schedule 15.12.2016
comment
Я вот тоже отказался по просьбе завода. Я использую отдых сейчас   -  person masterdany88    schedule 15.12.2016


Ответы (1)


Это ошибка GWT. См. http://code.google.com/p/google-web-toolkit/issues/detail?id=6794

person David Chandler    schedule 16.09.2011
comment
Спасибо! Надеюсь, это скоро исправят :). - person Ioan Agopian; 16.09.2011