forum.bitel.ru http://forum.bitel.ru/ |
|
Ошибка при просмотре счета http://forum.bitel.ru/viewtopic.php?f=14&t=6729 |
Страница 1 из 1 |
Автор: | mikos [ 25 апр 2012, 23:48 ] |
Заголовок сообщения: | Ошибка при просмотре счета |
Добрый вечер. При попытке просмотреть созданный счет или сч.ф в ЛК или клиенте биллинга вижу пустой экран. При чем только некоторые договора так себя ведут. Аттрибут title в xslt-шаблоне статичный. Код: <xsl:variable name="title" select="'ООО Рога и Копыта'" /> В логе server.error.log Код: server 04-25/21:42:53 ERROR [http-8443-7] XMLUtils - The value of attribute "title" associated with an element type "module" must not contain the '<' character.
org.xml.sax.SAXParseException: The value of attribute "title" associated with an element type "module" must not contain the '<' character. at org.apache.xerces.parsers.DOMParser.parse(Unknown Source) at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source) at ru.bitel.common.XMLUtils.parseDocument(XMLUtils.java:255) at ru.bitel.common.XMLUtils.parseDocument(XMLUtils.java:234) at ru.bitel.common.XMLUtils.parseDocument(XMLUtils.java:229) at bitel.billing.server.bill.action.ActionViewDocs.doAction(ActionViewDocs.java:80) at bitel.billing.server.Executer.doModule(Unknown Source) at bitel.billing.server.Executer.doPost(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:49) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Unknown Source) server 04-25/21:42:53 ERROR [http-8443-7] LoggingPrintStream - java.lang.NullPointerException server 04-25/21:42:53 ERROR [http-8443-7] LoggingPrintStream - at bitel.billing.server.bill.action.ActionViewDocs.doAction(ActionViewDocs.java:81) server 04-25/21:42:53 ERROR [http-8443-7] LoggingPrintStream - at bitel.billing.server.Executer.doModule(Unknown Source) server 04-25/21:42:53 ERROR [http-8443-7] LoggingPrintStream - at bitel.billing.server.Executer.doPost(Unknown Source) server 04-25/21:42:53 ERROR [http-8443-7] LoggingPrintStream - at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) server 04-25/21:42:53 ERROR [http-8443-7] LoggingPrintStream - at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) server 04-25/21:42:53 ERROR [http-8443-7] LoggingPrintStream - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) server 04-25/21:42:53 ERROR [http-8443-7] LoggingPrintStream - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) server 04-25/21:42:53 ERROR [http-8443-7] LoggingPrintStream - at bitel.billing.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:49) server 04-25/21:42:53 ERROR [http-8443-7] LoggingPrintStream - at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) server 04-25/21:42:53 ERROR [http-8443-7] LoggingPrintStream - at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) server 04-25/21:42:53 ERROR [http-8443-7] LoggingPrintStream - at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) server 04-25/21:42:53 ERROR [http-8443-7] LoggingPrintStream - at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) server 04-25/21:42:53 ERROR [http-8443-7] LoggingPrintStream - at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:568) server 04-25/21:42:53 ERROR [http-8443-7] LoggingPrintStream - at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) server 04-25/21:42:53 ERROR [http-8443-7] LoggingPrintStream - at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) server 04-25/21:42:53 ERROR [http-8443-7] LoggingPrintStream - at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) server 04-25/21:42:53 ERROR [http-8443-7] LoggingPrintStream - at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) server 04-25/21:42:53 ERROR [http-8443-7] LoggingPrintStream - at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) server 04-25/21:42:53 ERROR [http-8443-7] LoggingPrintStream - at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) server 04-25/21:42:53 ERROR [http-8443-7] LoggingPrintStream - at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) server 04-25/21:42:53 ERROR [http-8443-7] LoggingPrintStream - at java.lang.Thread.run(Unknown Source) |
Автор: | mikos [ 25 апр 2012, 23:53 ] |
Заголовок сообщения: | Re: Ошибка при просмотре счета |
Есть еще вот такая странность и закономерность - у этих договоров, у которых не отображаются документы, есть какой-то (имя пустое) залипший модуль в списке модулей договора. Удалить его оттуда не получается. По всей видимости при апгрейде на 5.1 как-то вышло. Может из-за него? |
Автор: | mikos [ 26 апр 2012, 18:33 ] |
Заголовок сообщения: | Re: Ошибка при просмотре счета |
UP Очень актуально. |
Автор: | Amir [ 26 апр 2012, 19:49 ] |
Заголовок сообщения: | Re: Ошибка при просмотре счета |
В имени какого-либо модуля есть символ '<'? Похоже из-за этого проблема - xml счетов сгенерировались неправильно (хотя не совсем понятно пока). После исправлении имени модуля нужно либо пересоздать счета, либо сделать что-то вроде UPDATE bill_data_x SET xml=REPLACE( xml, 'title=\"my<module\"', 'title=\"my-module\"' ) WHERE id=1 (для начала лучше проверить на одном счете) |
Автор: | mikos [ 26 апр 2012, 19:56 ] |
Заголовок сообщения: | Re: Ошибка при просмотре счета |
В том-то и дело, что в клиенте в именах модулей нет никаких символов < Как в БД посмотреть? Возможно это как раз тот самый пустой модуль, который на скрине. Заодно его может можно как нибудь удалить? |
Автор: | Amir [ 26 апр 2012, 20:02 ] |
Заголовок сообщения: | Re: Ошибка при просмотре счета |
Попробуйте сначала просто переименовать. SELECT * FROM module Поле title. И выполните лучше не через SQL редактор в клиенте биллинга. |
Автор: | mikos [ 26 апр 2012, 20:06 ] |
Заголовок сообщения: | Re: Ошибка при просмотре счета |
Нету таких символов и пустых модулей... Код: mysql> SELECT * FROM module;
+----+---------------------------------------+---------------------------------------+------------------------------+---------+-----------+ | id | title | package_client | package_server | name | config_id | +----+---------------------------------------+---------------------------------------+------------------------------+---------+-----------+ | 1 | Сетевое подключение | bitel.billing.module.services.ipn | bitel.billing.server.ipn | ipn | NULL | | 2 | Абонплата | bitel.billing.module.services.npay | bitel.billing.server.npay | npay | NULL | | 3 | Отчеты | bitel.billing.module.services.reports | bitel.billing.server.reports | reports | NULL | | 9 | IP Телефония | | | voiceip | NULL | | 10 | Бухгалтерия | | | bill | NULL | | 7 | Антивирус | | | drweb | NULL | | 8 | Яндекс.Деньги | | | yamoney | NULL | | 6 | Платежные системы | bitel.billing.module.services.mps | bitel.billing.server.mps | mps | NULL | +----+---------------------------------------+---------------------------------------+------------------------------+---------+-----------+ 8 rows in set (0.00 sec) |
Автор: | Amir [ 26 апр 2012, 20:17 ] |
Заголовок сообщения: | Re: Ошибка при просмотре счета |
Попробуйте выбрать SELECT xml FROM bill_data_x WHERE id= у счета, который не открывается и посмотреть эту xml. |
Автор: | mikos [ 27 апр 2012, 15:10 ] |
Заголовок сообщения: | Re: Ошибка при просмотре счета |
Так и есть - в XML в БД действительно в ключевом слове module какая-то фигня, у тайтла открывающая одна кавычка и сразу стоит закрывающая скобка тега module (<module id="0" title=">). Да и ID модуля почему-то = 0. Что не так? Как пофиксить? Код: <module id="0" title="><params nds="0"></params><attributes account="40702810300000001034" address="192012, ?. ?????-?????????, ??. ?????????? ??????? ??? 120, ??? ?" dolz="???????? ??????? "??????-?????" ????????? "?????"" face="?????????? ????? ????????????" inn="7709356049" kpp="770901001" org_name="??? "??????? ?????????? ????????"" osn="???????????? ? 396 ?? 01.07.2010"></attributes></module> По всей видимости к договору привязан какой-то левый модуль, которого нет, что в общем-то подтверждается скринами выше. Как посмотреть список привязанных модулей в БД у договора? Почистил бы... |
Автор: | Amir [ 27 апр 2012, 15:27 ] |
Заголовок сообщения: | Re: Ошибка при просмотре счета |
Попробуйте посмотреть, не осталась ли какая-нибудь привязка к модулю, которого уже нет: Код: SELECT COUNT(*) FROM contract_module Если есть, то таблицу contract_module сначала желательно забекапить, потом удалить лишние привязки:LEFT JOIN module ON module.id=contract_module.cid WHERE module.id IS NULL Код: DELETE contract_module.* FROM contract_module
LEFT JOIN module ON module.id=contract_module.cid WHERE module.id IS NULL |
Автор: | mikos [ 10 май 2012, 17:31 ] |
Заголовок сообщения: | Re: Ошибка при просмотре счета |
Спасибо, помогло. Вычистили. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |