Вопросик из области Web-Programmierung, Java
вчерашний день выпал у меня для тестирования, сегодня я попробовал реализовать Вашу идею.
При логине можно отследить, что идет обращение сервера аутентификации, но это обращение
происходит ровно 20 раз, т.е. 20 раз повторяется строчка типа
17.09.2015 12:41:03 I: PP_Servlet (12:41:03):1: objTransfer: objTransfer.getAdapterClass():
de.novadata.pp.authenticationdomain.AuthenticationServerAdapter_RMI ###objTransfer.getAdapterMethod(): getForcedLogOff
###objTransfer.getArgumentClass()de.novadata.pp.authenticationdomain.AuthenticationData ###objTransfer.toString():
de.novadata.pp.baseОбжектs.ServletTransferОбжект@79487948 ###objTransfer.getClass(): class
de.novadata.pp.baseОбжектs.ServletTransferОбжект ###objResult.getClass(): class java.lang.Boolean ###objResult.toString(): false
Это вся инфа, которую мне удалось вытащить из objTransferОбжекта, objResult
Мне нужно каким-то образом определить первое обращение сервера аутентификации к сервлету.
1. Еще до логина тоже есть одно обращение от сервера аутентификации:
17.09.2015 13:22:22 I: PP_Servlet (13:22:22):1: objTransfer: objTransfer.getAdapterClass():
de.novadata.pp.authenticationdomain.AuthenticationServerAdapter_RMI ###objTransfer.getAdapterMethod(): getAccessTimeExpiration
###objTransfer.getArgumentClass()de.novadata.pp.authenticationdomain.AuthenticationData ###objTransfer.toString():
de.novadata.pp.baseОбжектs.ServletTransferОбжект@f160f16 ###objTransfer.getClass(): class
de.novadata.pp.baseОбжектs.ServletTransferОбжект ###objResult.getClass(): class java.lang.String ###objResult.toString(): 432000000
Это обращение отличается от других только тем, что objResult - это большое число, а не буквенная строка,
но число это, естественно, тоже выдается в виде строки. Из самого objResult мне пока не удалось выудить инфу,
objResult.getClass(), естественно, class java.lang.String.
2. Потом я делаю логин. Идут эти 20 строчек/обращений к сервлету, которые я обозначил выше.
Класс резалта во всех случаях - java.lang.Boolean, а значение - false
Разница между первым обращением:
17.09.2015 12:41:03 I: PP_Servlet (12:41:03):1: objTransfer: objTransfer.getAdapterClass():
de.novadata.pp.authenticationdomain.AuthenticationServerAdapter_RMI ###objTransfer.getAdapterMethod(): getForcedLogOff
###objTransfer.getArgumentClass()de.novadata.pp.authenticationdomain.AuthenticationData ###objTransfer.toString():
de.novadata.pp.baseОбжектs.ServletTransferОбжект@79487948 ###objTransfer.getClass(): class
de.novadata.pp.baseОбжектs.ServletTransferОбжект ###objResult.getClass(): class java.lang.Boolean ###objResult.toString(): false
и вторым:
17.09.2015 12:41:06 I: PP_Servlet (12:41:06):1: objTransfer: objTransfer.getAdapterClass():
de.novadata.pp.authenticationdomain.AuthenticationServerAdapter_RMI ###objTransfer.getAdapterMethod(): getForcedLogOff
###objTransfer.getArgumentClass()de.novadata.pp.authenticationdomain.AuthenticationData ###objTransfer.toString():
de.novadata.pp.baseОбжектs.ServletTransferОбжект@3c623c62 ###objTransfer.getClass(): class
de.novadata.pp.baseОбжектs.ServletTransferОбжект ###objResult.getClass(): class java.lang.Boolean ###objResult.toString(): false
только в значении обжекта, в первом случае это 79487948, во втором - 3c623c62, в третьем - df40df4 и т.д.
В методе sendRequest(Serializable obj) я выдаю в логи следующую инфу:
showInfo("Open connection to servlet: " + m_servlet.toString());
17.09.2015 11:49:19 I: AdapterServlet (11:49:19):Open connection to servlet:
http://sv062919.-----:8160/ICM6/servlet/de.novadata.pp.servlet.ndServlet
showInfo(" sendRequest, Serializable obj: " + out.toString() + " ###" + m_connection.getInputStream());
17.09.2015 12:10:23 I: AdapterServlet (12:10:23): sendRequest, Serializable obj: java.io.ОбжектOutputStream@d38976
###sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@1162a9c
Эта инфа тоже всегда очень похожа, кроме значений типа "@d38976", так что я и тут не могу выделить первый случай обращения к сервлету для логина.
P.S. При первом обращении сервера аутентификации к сервлету нашел-таки одно отличие:
AdapterMethod - getAccessTimeExpiration
А потом, при логине, этот метод getForcedLogOff.