проблемы с SYS.XMLPARSER в Release 8.1.7.0.0

Alex Simak
Дата: 02.08.2005 16:20:34
Добрый день.
Приведенный ниже код на 8.1.7.0.0 плохо себя ведет:
запускаю его из sqlplus, сначала он работает нормально, а через какое-то время "повисает" сессия, сессию убиваю, запускаю снова - и он уже не работает совсем. Выяснил, что возможно это происходит из-за SYS.XMLPARSER.PARSE(p parser,url varchar2) если ответ удаленного сервера неадекватный.
Что делать, в чем проблема? если парсер не может распарсить XML - вроде как прилетает EXCEPTION - а тут вообще ничего не прилетает,

LOOP
                EXIT WHEN (b_exit = TRUE);
                begin

                        prs := SYS.XMLPARSER.NEWPARSER();
                        SYS.xmlparser.parse(prs, 'SOME URL?ssi='||vch_sesid||
                                                '&lid='|| Lid ||'&lidbrc='|| LidBrc);

                        doc     := SYS.XMLPARSER.GETDOCUMENT(prs);
                        elem    := SYS.XMLDOM.GETDOCUMENTELEMENT(doc);

                        Lid     := to_number(SYS.XMLDOM.GETATTRIBUTE(elem,'last'));
                        LidBrc  := to_number(SYS.XMLDOM.GETATTRIBUTE(elem,'last_brcast'));

                        domN    := SYS.XMLDOM.makeNode(elem);
                        domNL   := SYS.XSLPROCESSOR.SELECTNODES(domN,'pair');
                        nCount  := SYS.XMLDOM.GetLength(domNL);
                        FOR p IN 0..nCount - 1
                        LOOP
                         --here main work commit тоже есть (, не удалось избавицца

                        END LOOP;
                        SYS.XMLDOM.FREEDOCUMENT(doc);
                        SYS.XMLPARSER.FREEPARSER(prs);
                exception when others then b_exit := TRUE;
                	SYS.XMLPARSER.FREEPARSER(prs);
                end;
                SYS.dbms_lock.sleep(2);
        END LOOP;
Vint
Дата: 02.08.2005 16:36:59
ну с XML в этой версии вообще творяться иногда непонятки которые лечаться только на интуитивном уровне ну еще как вариант накатить до 8,1,7,5 может че и покажет
Alex Simak
Дата: 02.08.2005 16:45:00
да я уже понял,
у XMLDOM.makenode по-моему, при set serveroutput on вылазят строчки дебага )))

все же, выскажите плиз предположения, откуда появляется проблема, описанаая в первом посте, и в каком направлении ее лечить?
Alex Simak
Дата: 04.08.2005 08:36:19
Как выяснилось позже,
желательно ставить DBMS_OUTPUT.DISABLE; а то при нескольких итерациях из-за "забытого" разработчиками деьуга вылетает переполнение буфера.

а потом при 2000 итераций вылетает на Unbouned Java Exception - ловит, парсит, GetDOcument делает а при GetDicumentElement - падает.

насколько я понял, что-то в яве там не так