Как почтовый токен генерируется в GWT? - PullRequest
5 голосов
/ 27 января 2010

У меня есть запросы типа

5|0|7|http://localhost:8080/testproject/|29F4EA1240F157649C12466F01F46F60|com.test.client.GreetingService|greetServer|java.lang.String|myInput1|myInput2|1|2|3|4|2|5|5|6|7|

Я хотел бы знать, как GWT генерирует значение md5 29F4EA1240F157649C12466F01F46F60? Это основано на ip клиента и дате? Кто-нибудь может указать мне правильный код? Я просто нахожу кое-что относительно маркера истории, но для меня это выглядит иначе.

Ответы [ 2 ]

3 голосов
/ 03 февраля 2010

ОК, после некоторого исследования, я думаю, что нашел ответ.
Ключевые слова, которые вы должны были искать: « строгое имя » (или « strongName ») и / или перестановка , так как кажется, что с запросом RPC они отправляют строгое имя перестановки (этот хэш MD5), чтобы вы могли отличить на стороне сервера, от какой перестановки был отправлен запрос.
Основная функция: Util.computeStrongName, она вычисляет хеш MD5 (d'oh) предоставленного байтового массива с добавленным уловом:

/*
 * Include the lengths of the contents components in the hash, so that the
 * hashed sequence of bytes is in a one-to-one correspondence with the
 * possible arguments to this method.
 */

Оттуда я отследил до линкеров , а затем до PermutationResult , который подает Util.computeStrongName через эту функцию:

/**
 * The compiled JavaScript code as UTF8 bytes.
 */
byte[][] getJs();

Эх, я надеюсь, что это было хоть немного полезно;) Если это все еще не отвечает на ваш вопрос (или вы искали что-то другое), попробуйте trunk/user/src/com/google/gwt/user/client/rpc (начните с RpcRequestBuilder.java ).

0 голосов
/ 25 июня 2010

Как сказал Игорь, GWT использует MD5-хэши кода вашего приложения для создания уникальных имен для каждой перестановки каждой версии вашего приложения. Указанный вами хеш является частью полезной нагрузки запроса GWT RPC, которая идентифицирует файл политики сериализации .gwt.rpc на сервере. В этом файле политики указано, какие объекты Java можно сериализовать как часть запроса, ответа или выданных исключений в службе RPC GWT.

...