BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 23 июн 2025, 15:56

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
СообщениеДобавлено: 24 июн 2011, 07:09 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Писал глобальный скрипт, сохранил, закрыл вкладку с глобальными скриптами. Сегодня открываю - скрипт не открывается. Остальные открываются нормально.

Клиент ругается: "Ошибка соединения с сервером".

Версия:
Код:
   Клиент: вер. 5.1 сборка 552 от 21.06.2011 13:29:36
os:Windows XP; java:Sun Microsystems Inc., v.1.6.0_16
   Сервер: вер. 5.1 сборка 673 от 21.06.2011 13:29:08
os:Linux; java:Sun Microsystems Inc., v.1.6.0_22


В дебаге клиента:
Код:
http://192.168.0.101:8080/bgbilling/executer?id=35&module=script.global&action=GetGlobalScript&BGBillingSecret=lqwAHClXFosZPUKBAFZqVw09&
[ length = 0 ] xml =
[Fatal Error] :-1:-1: Premature end of file.


В server.error.log ошибка:

Код:
server 06-24/09:50:15 ERROR [http-8080-7] server - Exception in Executer (ActionGetGlobalScript)
java.io.IOException: The character ' is an invalid XML character
        at org.apache.xml.serialize.BaseMarkupSerializer.fatalError(Unknown Source)
        at org.apache.xml.serialize.BaseMarkupSerializer.surrogates(Unknown Source)
        at org.apache.xml.serialize.XMLSerializer.printEscaped(Unknown Source)
        at org.apache.xml.serialize.XMLSerializer.printAttribute(Unknown Source)
        at org.apache.xml.serialize.XMLSerializer.serializeElement(Unknown Source)
        at org.apache.xml.serialize.BaseMarkupSerializer.serializeNode(Unknown Source)
        at org.apache.xml.serialize.XMLSerializer.serializeElement(Unknown Source)
        at org.apache.xml.serialize.BaseMarkupSerializer.serializeNode(Unknown Source)
        at org.apache.xml.serialize.BaseMarkupSerializer.serialize(Unknown Source)
        at bitel.billing.server.Executer.A(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(Thread.java:662)


Текст скрипта (взял из базы):

Код:
 import java.io.IOException;

import org.apache.log4j.*;

import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
import java.net.InetAddress;

/*
import org.snmp4j.CommunityTarget;
import org.snmp4j.event.ResponseEvent;
import org.snmp4j.mp.SnmpConstants;
import org.snmp4j.PDU;
import org.snmp4j.smi.Address;
import org.snmp4j.smi.Integ    ППр8@ђ[‰ org.snmp4j.smi.Null;
import org.snmp4j.smi.OctetString;
import org.snmp4j.smi.OID;
import org.snmp4j.smi.UdpAddress;
import org.snmp4j.smi.VariableBinding;
import org.snmp4j.Snmp;
import org.snmp4j.transport.DefaultUdpTransportMapping;
import org.snmp4j.TransportMapping;
*/
import ru.dsi.bgbilling.common.snmp.SNMPInterfaceManager;
import ru.dsi.bgbilling.common.snmp.SNMPInterfaceManager.IfaceData;

import ru.bitel.bgbilling.modules.ipn.common.bean.*;

import java.sql.*;
import bitel.billing.server.dialup.bean.*;
import bitel.billing.server.call.bean.*;
import java.util.*;
import bitel.billing.common.TimeUtils;
import bitel.billing.server.contract.bean.ContractServiceManager;
import bitel.billing.server.contract.bean.ContractService;
import bitel.billing.server.service.bean.ModuleAndServiceManager;
import bitel.billing.server.dialup.bean.DialUpLoginManager;

public void main(setup, con, conSlave )
{
/*      includeBGBS("bgbs://ru.bitel.bgbilling.kernel.script.common.bean.ScriptLibrary/some_utils");
        SomeUtils.sync(172426, con);
*/
        SNMPInterfaceManager snmp = new SNMPInterfaceManager();

        bitel.billing.server.load.bean.SourceManager sm = new bitel.billing.server.load.bean.SourceManager(con);
        AddressRangeManager arm = new AddressRangeManager(con, 9);
        bitel.billing.server.ipn.bean.RangeIfaceManager rangeifman = new bitel.billing.server.ipn.bean.RangeIfaceManager(con, 9);
        bitel.billing.server.ipn.bean.IfaceManager ifman = new bitel.billing.server.ipn.bean.IfaceManager(con, 9);
        List ranges = arm.getAddressRangeList(java.util.Calendar.getInstance());
        int i=100;
        for(AddressRange range : ranges){
                if(range.getAddr1()<=1){continue;}
                int plan = range.getPlanId();
                if(plan==0 || plan==1 || plan==6 || plan==122 || plan==237){
                        Set rangeifaces = rangeifman.getAdressRangeIfaces(range.getID());
                        for(bitel.billing.server.ipn.bean.RangeIface rangeiface : rangeifaces){
                                bitel.billing.server.ipn.bean.Iface iface = ifman.getIface(rangeiface.getSourceId(), rangeiface.getIfaceId());
                                bitel.billing.server.load.bean.Source source = sm.getSource(rangeiface.getSourceId());
                                try{
                                        IfaceData ifData = snmp.getIfDataByIpForNas(InetAddress.getByName(source.getHostOrDir()), InetAddress.getByName(bitel.billing.common.IPUtils.convertLongIpToString(range.getAddr1())), 161, "public");
                                        if(ifData!=null){
                                                print(range.getContractID()+":"+range.toString()+":\t\t\t ifName="+ifData.ifName+"\t\t\t(bg: "+iface.getNumber()+")");
                                        }else{
                                                print(range.getContractID()+":"+range.toString()+": null");
                                        }
                                }catch(e){
                                        print(range.getContractID()+":"+range+" : "+e);
                                }
                        }
                        i--;
                        if(i<=0){return;}
                }
        }

/*      SNMPInterfaceManager sm = new SNMPInterfaceManager();
        IfaceData ifData = sm.getIfDataByIpForNas(InetAddress.getByName("10.0.0.40"), InetAddress.getByName("192.168.1.101"), 161, "public");
        print(ifData.ifIndex);
        print(ifData.ifName);
        print(ifData.maskLength);*/
}


(пароли и ip изменены, все совпадения считать случайными :) )
(предваряя вопросы - тестовый скрипт, тестирую получение имён интерфейсов по ip через SNMP)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 24 июн 2011, 07:45 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Ухты!

Код:
import org.snmp4j.smi.Integ    ППр8@ђ[‰ org.snmp4j.smi.Null;

!!
Не заметил, странно.

Откуда взялось - неясно, поправил - заработало.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.071s | 21 Queries | GZIP : On ]