forum.bitel.ru http://forum.bitel.ru/ |
|
Странная ошибка http://forum.bitel.ru/viewtopic.php?f=44&t=7092 |
Страница 1 из 1 |
Автор: | madmax [ 11 авг 2012, 23:27 ] |
Заголовок сообщения: | Странная ошибка |
Пытаемся протестировать устройство с модулем Inet и в результате получаем непонятную ошибку. Код: mq 08-11/12:59:11 ERROR [event-proc-p-2-t-1] Consumer$EventListenerRunnable - BG.Event.ru.bitel.bgbilling.modules.inet.accounting.event.InetAccountingEvent: null javax.xml.bind.UnmarshalException - with linked exception: [org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x0) was found in the value of attribute "cnsId" and element is "connection".] at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(AbstractUnmarshallerImpl.java:315) at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(UnmarshallerImpl.java:523) at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:220) at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:189) at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:137) at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:194) at ru.bitel.bgbilling.kernel.event.MessageAdapter.parseMessage(MessageAdapter.java:203) at ru.bitel.bgbilling.kernel.event.Consumer.onMessage0(Consumer.java:78) at ru.bitel.bgbilling.kernel.event.Consumer$EventListenerRunnable.runImpl(Consumer.java:51) at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619) at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40) Caused by: org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x0) was found in the value of attribute "cnsId" and element is "connection". at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source) at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source) at org.apache.xerces.impl.XMLScanner.scanAttributeValue(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanAttribute(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:216) При этом radius дает accept но в мониторе ничего не появляется. Интересно то что на сервере запущены два экземпляра InetAccess на разных портах для разных железок но почему-то ошибка появляется на обоих логах access серверах |
Автор: | madmax [ 12 авг 2012, 19:26 ] |
Заголовок сообщения: | Re: Странная ошибка |
Как выяснилось радиус пакте приходит с полем calling_station_id в octets и мы получаем данную ошибку. если в файле directory.xml заменить string на octets то в логах появляется другая ошибка RadiusListenerWorker - [B cannot be cast to java.lang.String Код: java.lang.ClassCastException: [B cannot be cast to java.lang.String at ru.bitel.bgbilling.kernel.network.radius.RadiusAttributeSet.getStringAttribute(RadiusAttributeSet.java:380) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1508) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusProcessor.getNasConnection(InetRadiusProcessor.java:1326) at ru.bitel.bgbilling.modules.inet.radius.InetNas.startConnection(InetNas.java:383) at ru.bitel.bgbilling.modules.inet.radius.InetNas.startConnection(InetNas.java:1) at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accounting(RadiusProcessor.java:501) at ru.bitel.bgbilling.kernel.network.radius.RadiusProcessor.accountingRequest(RadiusProcessor.java:445) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accountingRequest(InetRadiusListenerWorker.java:151) at ru.bitel.bgbilling.modules.inet.radius.InetRadiusListenerWorker.accountingRequest(InetRadiusListenerWorker.java:1) at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.processPacket(RadiusListenerWorker.java:251) at ru.bitel.bgbilling.kernel.network.radius.RadiusListenerWorker.runImpl(RadiusListenerWorker.java:135) at ru.bitel.common.worker.WorkerTask.run(WorkerTask.java:86) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619) at ru.bitel.common.worker.WorkerThread.run(WorkerThread.java:40) В модуле DialUp был скрипт который нормально отрабатывал Код: callingStationId = request.getAttribute( -1, RadiusDictionary.Calling_Station_Id ); request.setStringAttribute( -1, RadiusDictionary.Calling_Station_Id, Utils.bytesToHexString( callingStationId.getDataAsByteArray() ) ); Но вот такой же код ничего не изменяет также появляются вышеуказанные ошибки Код: @Override public void preprocessAccessRequest( RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet ) throws Exception { RadiusAttribute CallingStationId = request.getAttribute( -1, RadiusDictionary.Calling_Station_Id ); request.setStringAttribute( -1, RadiusDictionary.Calling_Station_Id, Utils.bytesToHexString( CallingStationId.getDataAsByteArray() ) ); } @Override public void preprocessAccountingRequest( RadiusPacket request, RadiusPacket response, ConnectionSet connectionSet ) throws Exception { RadiusAttribute CallingStationId = request.getAttribute( -1, RadiusDictionary.Calling_Station_Id ); request.setStringAttribute( -1, RadiusDictionary.Calling_Station_Id, Utils.bytesToHexString( CallingStationId.getDataAsByteArray() ) ); } Что не так не пойму. |
Автор: | Amir [ 13 авг 2012, 14:18 ] |
Заголовок сообщения: | Re: Странная ошибка |
После изменения сделали Сохранить и скомпилировать, а потом Перечитать конфигурация на серверах? Вроде бы должна сработать предобработка нормально. |
Автор: | madmax [ 13 авг 2012, 14:44 ] |
Заголовок сообщения: | Re: Странная ошибка |
Да делал, но ошибка так и осталась. Я даже перезапускал службы access и accounting |
Автор: | Amir [ 13 авг 2012, 14:54 ] |
Заголовок сообщения: | Re: Странная ошибка |
А сессия та, что началась до того, как добавили предобработку, все еще была активна? Возможно дело в ней, а новые уже будут работать нормально. |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |