Оказывается, что этот гибридный метод Spring-MVC и GWT используется в кодовой базе на моей новой работе - неудивительно, что ошибка, которую я получал, была похожей! Спасибо за это сообщение - это помогло мне определить проблему и исправить ее. Код, который у нас был, основан на старом коде из статьи, которую вы опубликовали - или на том, на чем был основан этот код! Плагиат предостаточно!
Подводя итог, можно сказать, что в этой статье предлагается способ интеграции GWT с Spring-MVC. Суть решения состоит в том, чтобы предоставить класс сервлета Servlet, который объединяет Spring MVC Controller с GWT RemoteServiceServlet. Сериализуемые объекты DTO не поддерживаются, поскольку (я предполагаю) код был основан на коде, предшествующем GWT-1.4, который не мог справиться с DTO, которые не реализовали интерфейс маркера isSerializable в GWT. Обновление класса контроллера очень просто, если вы знаете, что происходит ...
Две фиксированные строки, которые я вижу, просто проходят через SerializationPolicyProvider (который является 'this' в последнем параметре для метода RPC.decodeRequest (). Вызывающий класс расширяет RemoveServiceServlet GWT, который является SerializationPolicyProvider). Я предполагаю, что это простое исправление приводит к вызову обновленного (после 1.4) кода GWT, который может обрабатывать как Serializable, так и isSerializable классы. SerializationPolicyProvider смотрит на сериализацию Policy.
Второе исправление передает serializationPolicy в метод RPC.invokeAndEncodeResponse (). Я предполагаю, что это белый список * .gwt.rpc объектов DTO, которые были проверены при компиляции модуля GWT.