forum.bitel.ru http://forum.bitel.ru/ |
|
OSMP и кодировка запроса http://forum.bitel.ru/viewtopic.php?f=18&t=12819 |
Страница 1 из 1 |
Автор: | Cromeshnic [ 05 мар 2018, 09:59 ] |
Заголовок сообщения: | OSMP и кодировка запроса |
Работаем со сбером по osmp. Возникла необходимость принимать платежи на договора с кириллицей в номере. Не получается. Сначала была ошибка SQL: Illegal mix of collations. Конвертнул contract в utf8 - ошибка исчезла - сейчас просто пишет, что договор не найден: Код: 03-05/11:12:40 DEBUG [http-bio-0.0.0.0-8443-exec-9] MPSExecutor - request.getPathInfo() = /20/12; mpsId = 12; mid = 20; params = [, 20, 12] 03-05/11:12:40 DEBUG [http-bio-0.0.0.0-8443-exec-9] MPSExecutor - MPS (getLoginAndPasswordFromHeaderAuthorization): authorization=************; unencoded=sbrf:*******; encoding=utf-8 03-05/11:12:40 DEBUG [http-bio-0.0.0.0-8443-exec-9] MPSExecutor - MPS (getLoginAndPasswordFromHeaderAuthorization): userName=*****; userPswd=****** 03-05/11:12:40 DEBUG [http-bio-0.0.0.0-8443-exec-9] MPSTransactionManager - userName = ****; userPswd=*******; mpsId=12 03-05/11:12:40 DEBUG [http-bio-0.0.0.0-8443-exec-9] MPSTransactionManager - conf.mpsSystems.length=12 03-05/11:12:40 DEBUG [http-bio-0.0.0.0-8443-exec-9] MPSTransactionManager - system=[protocol=osmp; protocol.isAuthBySign()=false; extNoBaseAuth=false; login=****; password=*******] 03-05/11:12:40 DEBUG [http-bio-0.0.0.0-8443-exec-9] MPSTransactionManager - Select MPSTransactionManager=ru.bitel.bgbilling.modules.mps.server.bean.OSMPTransactionManager@667a5a24 03-05/11:12:40 DEBUG [http-bio-0.0.0.0-8443-exec-9] MPSTransactionManager - system.certificateNeed = false 03-05/11:12:40 DEBUG [http-bio-0.0.0.0-8443-exec-9] Parameters - Set encoding to ISO-8859-1 03-05/11:12:40 DEBUG [http-bio-0.0.0.0-8443-exec-9] Parameters - Set query string encoding to ISO-8859-1 03-05/11:12:40 DEBUG [http-bio-0.0.0.0-8443-exec-9] Parameters - Decoding query null ISO-8859-1 03-05/11:12:40 DEBUG [http-bio-0.0.0.0-8443-exec-9] Parameters - Start processing with input [command=check&txn_id=1&account=%D0%91%2F12345&sum=10] 03-05/11:12:40 DEBUG [http-bio-0.0.0.0-8443-exec-9] WebappClassLoader - loadClass(org.apache.xml.serializer.ToXMLStream, false) 03-05/11:12:40 DEBUG [http-bio-0.0.0.0-8443-exec-9] WebappClassLoader - Delegating to parent classloader1 ru.bitel.common.bootstrap.BootstrapClassLoader@2ff4f00f 03-05/11:12:40 DEBUG [http-bio-0.0.0.0-8443-exec-9] WebappClassLoader - Loading class from parent 03-05/11:12:40 DEBUG [http-bio-0.0.0.0-8443-exec-9] MPSExecutor - Filter (mpsexecuterSetCharacterEncoding) = null FilterCharacterEncoding=null System: Сбербанк Online (ДСИ) Request: /20/12 command=check&txn_id=1&account=Ð<91>/12345&sum=10& Response: <?xml version="1.0" encoding="UTF-8"?><response><result>5</result><osmp_txn_id>1</osmp_txn_id><comment>Договор не найден [Б/12345]</comment></response> Смущают вот эти строки: Код: 03-05/11:12:40 DEBUG [http-bio-0.0.0.0-8443-exec-9] Parameters - Set encoding to ISO-8859-1 03-05/11:12:40 DEBUG [http-bio-0.0.0.0-8443-exec-9] Parameters - Set query string encoding to ISO-8859-1 03-05/11:12:40 DEBUG [http-bio-0.0.0.0-8443-exec-9] Parameters - Decoding query null ISO-8859-1 А также любопытно вот это: Код: 03-05/11:12:40 DEBUG [http-bio-0.0.0.0-8443-exec-9] MPSExecutor - Filter (mpsexecuterSetCharacterEncoding) = null FilterCharacterEncoding=null Вопрос: может быть в web.xml нужно прописать фильтр для mpsexecuter аналогично как сделано из коробки для executer? Код: <filter> <filter-name>SetCharacterEncodingFilterUTF8</filter-name> <filter-class>ru.bitel.common.server.filters.SetCharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> В доках нет ничего про это. Есть параметр конфига ПС request.encoding, но он для osmp не применяется, и вообще не про то немного. Сервер: вер. 7.0.1263 / 13.09.2017 20:33:05 os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_144 mps: вер. 7.0.221 / 11.09.2017 16:42:32 |
Автор: | Cromeshnic [ 05 мар 2018, 12:02 ] |
Заголовок сообщения: | Re: OSMP и кодировка запроса |
Поставил request.encoding=utf8 - заработало. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |