forum.bitel.ru
http://forum.bitel.ru/

Asterisk & Crm ошибка (Поиск по номеру входящего) (CRM)
http://forum.bitel.ru/viewtopic.php?f=51&t=11705
Страница 1 из 1

Автор:  igimux [ 21 июн 2016, 09:34 ]
Заголовок сообщения:  Asterisk & Crm ошибка (Поиск по номеру входящего)

Из мануала на странице [url]http://wiki.bitel.ru/index.php/Интеграция_с_Asterisk_для_обработки_входящих_звонков[/url]

я добавил строчку
Код:
messageType.1.search.1.stringExpressionNumberPreprocess=if( numberFrom.length() == 11 ){ numberFrom = numberFrom.substring(1)}; return numberFrom;


Теперь при входящем звонке стала вылазить ошибка:

Код:
org.apache.commons.jexl3.JexlException$Parsing: ru.bgcrm.dao.expression.Expression.getString@1:1 parsing error in 'if' at org.apache.commons.jexl3.JexlEngine.createExpression(JexlEngine.java:289) at ru.bgcrm.dao.expression.Expression.getString(Expression.java:119) at ru.bgcrm.dao.message.MessageTypeSearchCall.preprocessNumber(MessageTypeSearchCall.java:80) at ru.bgcrm.dao.message.MessageTypeSearchCall.search(MessageTypeSearchCall.java:46) at ru.bgcrm.struts.action.MessageAction.message(MessageAction.java:130) at ru.bgcrm.struts.action.MessageAction.unspecified(MessageAction.java:53) at sun.reflect.GeneratedMethodAccessor617.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at ru.bgcrm.struts.action.BaseAction$Invoker.invoke(BaseAction.java:532) at ru.bgcrm.struts.action.BaseAction.dispatchMethod(BaseAction.java:241) at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170) at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58) at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67) at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305) at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462) at javax.servlet.http.HttpServlet.service(HttpServlet.java:641) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at ru.bgcrm.servlet.filter.SetRequestParamsFilter.doFilter(SetRequestParamsFilter.java:43) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at ru.bgcrm.servlet.filter.AuthFilter.doFilter(AuthFilter.java:150) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at ru.bgcrm.servlet.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:38) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)


Я понимаю, что ругается на условие if, но как тогда нужно записать, и почему в мануале такая статья?

Автор:  igimux [ 22 июн 2016, 09:12 ]
Заголовок сообщения:  Re: Asterisk & Crm ошибка (Поиск по номеру входящего) (CRM)

Что, вообще никто не знает?

Автор:  zavndw [ 22 июн 2016, 12:56 ]
Заголовок сообщения:  Re: Asterisk & Crm ошибка (Поиск по номеру входящего) (CRM)

полную конфигурацию напишите.

Автор:  igimux [ 22 июн 2016, 13:04 ]
Заголовок сообщения:  Re: Asterisk & Crm ошибка (Поиск по номеру входящего) (CRM)

Код:
# Типы сообщений
messageType.1.title=Звонки
messageType.1.class=ru.bgcrm.dao.message.MessageTypeCall
messageType.1.search.1.title=Авто (Номер)
messageType.1.search.1.class=ru.bgcrm.dao.message.MessageTypeSearchCall
messageType.1.search.1.commands=customerByPhoneParam:9
messageType.1.search.1.stringExpressionNumberPreprocess=if( numberFrom.length() == 11 ){ numberFrom = numberFrom.substring(1)}; return numberFrom;
messageType.1.search.2.title=По номеру/примечанию
messageType.1.search.2.class=ru.bgcrm.plugin.bgbilling.dao.MessageTypeSearchContractByTitleAndComment
messageType.1.search.2.billingId=goodnet
messageType.1.saver.class=ru.bgcrm.plugin.bgbilling.dao.MessageTypeContactSaverPhone
messageType.1.saver.paramId=9
messageType.1.offerNumberFromParamId=9

Автор:  Администратор [ 26 июн 2016, 04:05 ]
Заголовок сообщения:  Re: Asterisk & Crm ошибка (Поиск по номеру входящего) (CRM)

К сожалению, проблему воспроизвести не удалось. Попробуйте обновить ЦРМ и включить режим DEBUG логов (поменяйте в log4j.properties все INFO на DEBUG). Там добавлен вывод JEXL скрипта перед его выполнением. Воспроизведите проблему и найдите в логе строку, начинающуюся с "Using preprocess JEXL"

Автор:  igimux [ 28 июн 2016, 07:54 ]
Заголовок сообщения:  Re: Asterisk & Crm ошибка (Поиск по номеру входящего) (CRM)

Спасибо, обновление помогло.

Автор:  Администратор [ 28 июн 2016, 11:52 ]
Заголовок сообщения:  Re: Asterisk & Crm ошибка (Поиск по номеру входящего) (CRM)

Весьма странно, т.к. только добавил вывод отладки. Ну, хорошо, что заработало.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/