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

Перестал работать скрипт после перехода на 5.2
http://forum.bitel.ru/viewtopic.php?f=19&t=6993
Страница 1 из 1

Автор:  supro [ 20 июл 2012, 17:07 ]
Заголовок сообщения:  Перестал работать скрипт после перехода на 5.2

Использовали скрипт для добавления списка тарифных планов и платежей за них в xslt договора

Код:
import org.w3c.dom.*;
import bitel.billing.server.tariff.voice.calc.*;
import bitel.billing.server.task.bean.*;
import java.math.*;
import ru.bitel.bgbilling.kernel.network.radius.*;
import bitel.billing.server.npay.bean.*;
import bitel.billing.server.npay.*;
import bitel.billing.server.tariff.TariffTreeSet.TariffSetEntry;
import ru.bitel.bgbilling.modules.npay.server.*;
import java.util.ArrayList;
import java.util.Collections;
import java.math.BigDecimal;
import java.sql.*;
import java.util.*;
import java.lang.*;
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.tariff.*;
import bitel.billing.server.util.*;
import bitel.common.Utils.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;

public Node getVoipPrice( String cid )
{   
        //Список тиарифных планов
        String[] alltariffs = new String[]{
      "Симферополь (специальный) 2 Мбит/с"
        };


        //Стоимость всего
        String[] alltacosts= new String[]{
      "120,00 грн."
        };

         //Стоимость NDS
        String[] alltacostsnds= new String[]{
        "20.00 грн."
        };


         //Стоимость
        String[] alltacostsbeznds= new String[]{
        "100.00 грн."
        };

       //Инсталяция
       String[] instal= new String[]{
      "100",
       };

       String[] instalnds= new String[]{
      "16,67",
       };

       String[] instalbeznds= new String[]{
      "83,33",
       };
       //Инсталяция

        Connection conn = null;
      int st3r = Utils.parseIntString(cid);
        String[] al = new String[10];
      String userName = "bill";
      String password = "bgbilling";
      String url = "jdbc:mysql://localhost/bgbilling";
      Class.forName ("com.mysql.jdbc.Driver").newInstance ();
      conn = DriverManager.getConnection (url, userName, password);
      Statement s = conn.createStatement();
      ResultSet rs = s.executeQuery("SELECT tpid FROM contract_tariff WHERE cid='" +cid+ "' AND date2 is NULL;");
        int i = 0;       
 
      while (rs.next()) {
            al[i]=rs.getString(1);
            i++;
        }   

     doc = Utils.createDocument();
     result = doc.createElement( "price" );
      Element section = null;
      Element section2 = null;
      section2 = Utils.createElement( result, "section2" );
         
       for(int x = 0; x < al.length ; x++)
        {
        if(al[x] == "" || al[x] == null)
        {
           
          }
          else
        {
          Statement s2 = conn.createStatement();
        ResultSet rs2 = s2.executeQuery("SELECT title FROM tariff_plan WHERE id='" +al[x]+ "';");
               while (rs2.next())
                 {
                     String xz = rs2.getString(1);
                     section = Utils.createElement( result, "section" );
                     section.setAttribute( "title", xz);   
                     for(int z = 0; z < alltariffs.length; z++)
                     {
                       
                        if(xz.equals(alltariffs[z]))
                        {
                            section.setAttribute( "cost", alltacosts[z]);
                       section.setAttribute( "costnds", alltacostsnds[z]);
                       section.setAttribute( "costbeznds", alltacostsbeznds[z]);
                        }
                     }
                      
                    }
          }
        }

      Statement s3 = conn.createStatement();
     ResultSet rs3 = s3.executeQuery(" SELECT val FROM contract_parameter_type_1 WHERE pid=36 AND cid="+cid+";");
         while (rs3.next())       
            {
                      String mz = rs3.getString(1);
                       for(int e = 0; e < instal.length; e++)
                       {
                          if(mz.equals(instal[e]))
                     {
                        section2.setAttribute( "instalnds", instalnds[e] + " грн." );
                        section2.setAttribute( "instalbeznds", instalbeznds[e] + " грн.");
                        section2.setAttribute( "instal", instal[e] + ".00 грн.");
                     }
                       }
                }

      conn.close ();
      Utils.serializeXML( result, System.out, "windows-1251" );
      return result;
}


Вызывали так;

Код:
<xsl:for-each select="script:invoke('payment','getVoipPrice', $cid)/section2">
          <fo:table-row>
            <fo:table-cell border="0.2pt solid black" height="0.4cm">
              <fo:block xsl:use-attribute-sets="text_table" space-before="0.1cm" text-align="left">
                Инсталляция порта Интернет
              </fo:block>
            </fo:table-cell>
            <fo:table-cell border="0.2pt solid black" height="0.4cm">
              <fo:block xsl:use-attribute-sets="text_table" space-before="0.1cm" text-align="center">
                <xsl:value-of select="@instalbeznds"/>
              </fo:block>
            </fo:table-cell>
            <fo:table-cell border="0.2pt solid black" height="0.4cm">
              <fo:block xsl:use-attribute-sets="text_table" space-before="0.1cm" text-align="center">
                <xsl:value-of select="@instalnds"/>
              </fo:block>
            </fo:table-cell>
            <fo:table-cell border="0.2pt solid black" height="0.4cm">
              <fo:block xsl:use-attribute-sets="text_table" space-before="0.1cm" text-align="center">
                <xsl:value-of select="@instal"/>
              </fo:block>
            </fo:table-cell>
          </fo:table-row>
        </xsl:for-each>


Перестал выводить данные, кто может дать подсказку по этому поводу?

Автор:  supro [ 20 июл 2012, 17:08 ]
Заголовок сообщения:  Re: Перестал работать скрипт после перехода на 5.2

В 5.1. работает

Автор:  Phricker [ 20 июл 2012, 17:14 ]
Заголовок сообщения:  Re: Перестал работать скрипт после перехода на 5.2

И при всем при этом никаких ошибок в логах?

Автор:  supro [ 20 июл 2012, 17:39 ]
Заголовок сообщения:  Re: Перестал работать скрипт после перехода на 5.2

Код:
     Приложение № 1 к Договору
                                   </fo:block><fo:block end-indent="0.1cm" font-family="arial" font-size="10pt" font-weight="bold" padding-bottom="0cm" padding-top="-0.4cm" space-before="0.4cm" start-indent="0.1cm" text-align="center">
      Терминология:
    </fo:block><fo:block end-indent="0.1cm" font-family="arial" font-size="9pt" font-weight="normal" padding-bottom="0cm" padding-top="-0.3cm" space-before="0.4cm" start-indent="0.1cm" text-align="left" text-decoration="none" white-space-collapse="false">
      IP-А...
http://172.28.200.25:8080/bgbilling/executer?module=admin&command=get&action=Command&
[ length = 64 ] xml = <?xml version="1.0" encoding="windows-1251"?><data status="ok"/>
http://172.28.200.25:8080/bgbilling/executer?module=admin&command=get&action=Command&
[ length = 64 ] xml = <?xml version="1.0" encoding="windows-1251"?><data status="ok"/>

Вот что дает лог при выборе типа карточки

Автор:  supro [ 20 июл 2012, 18:09 ]
Заголовок сообщения:  Re: Перестал работать скрипт после перехода на 5.2

Код:
http://172.28.200.25:8080/bgbilling/executer?module=contract&action=ContractCard2&type=test.xsl&BGBillingSecret=uMCqLgIfchSebknb3hygNKbE&cid=457&
[ length = 1016 ] xml = <?xml version="1.0" encoding="windows-1251"?><data secret="932FA2AC641C71548E5406D867351955" status="ok"><fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:script="bitel.billing.server.util.exslt.Scripting" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xalan="http://xml.apache.org/xalan"><fo:layout-master-set><fo:simple-page-master margin-bottom="0.7cm" margin-left="1.5cm" margin-right="1cm" margin-top="0.2cm" master-name="first" page-height="29.7cm" page-width="21cm"><fo:region-body margin-bottom="0.0cm" margin-top="0.5cm"/><fo:region-before extent="0.0cm"/><fo:region-after extent="0.0cm"/></fo:simple-page-master></fo:layout-master-set><fo:page-sequence master-reference="first"><fo:flow flow-name="xsl-region-body"><fo:table space-after="0.6cm" table-layout="fixed"><fo:table-column column-width="9.0cm"/><fo:table-column column-width="3.17cm"/><fo:table-column column-width="3.17cm"/><fo:table-column column-width="3.17cm"/><fo:table-body/></fo:table></fo:flow></fo:page-sequence></fo:root></data>
ru.bitel.bgbilling.common.BGException: Ошибка трансформации FO-шаблона
   at bitel.billing.module.common.AWTViewer.setData(AWTViewer.java:117)
   at bitel.billing.module.contract.ContractPanel_Card2.showCard(ContractPanel_Card2.java:327)
   at bitel.billing.module.contract.ContractPanel_Card2.setData(ContractPanel_Card2.java:298)
   at bitel.billing.module.contract.ContractPanel_Card.setData(ContractPanel_Card.java:56)
   at bitel.billing.module.common.BGPanel.actionPerformed(BGPanel.java:288)
   at bitel.billing.module.contract.ContractEditor.actionPerformed(ContractEditor.java:161)
   at bitel.billing.module.common.UniToolBar$ContractAction.actionPerformed(UniToolBar.java:341)
   at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
   at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
   at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
   at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
   at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
   at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
   at java.awt.Component.processMouseEvent(Component.java:6288)
   at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
   at java.awt.Component.processEvent(Component.java:6053)
   at java.awt.Container.processEvent(Container.java:2041)
   at java.awt.Component.dispatchEventImpl(Component.java:4651)
   at java.awt.Container.dispatchEventImpl(Container.java:2099)
   at java.awt.Component.dispatchEvent(Component.java:4481)
   at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
   at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
   at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
   at java.awt.Container.dispatchEventImpl(Container.java:2085)
   at java.awt.Window.dispatchEventImpl(Window.java:2478)
   at java.awt.Component.dispatchEvent(Component.java:4481)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)
   at java.awt.EventQueue.access$000(EventQueue.java:84)
   at java.awt.EventQueue$1.run(EventQueue.java:602)
   at java.awt.EventQueue$1.run(EventQueue.java:600)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)
   at java.awt.EventQueue$2.run(EventQueue.java:616)
   at java.awt.EventQueue$2.run(EventQueue.java:614)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Caused by: javax.xml.transform.TransformerException: org.apache.fop.fo.ValidationException: "fo:table-body" is missing child elements. Required content model: marker* (table-row+|table-cell+) (See position 0:0)
   at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:401)
   at ru.bitel.common.FOUtils.render(FOUtils.java:206)
   at ru.bitel.common.FOUtils.render(FOUtils.java:212)
   at bitel.billing.module.common.AWTViewer.setData(AWTViewer.java:107)
   ... 43 more
Caused by: org.apache.fop.fo.ValidationException: "fo:table-body" is missing child elements. Required content model: marker* (table-row+|table-cell+) (See position 0:0)
   at org.apache.fop.events.ValidationExceptionFactory.createException(ValidationExceptionFactory.java:38)
   at org.apache.fop.events.EventExceptionManager.throwException(EventExceptionManager.java:54)
   at org.apache.fop.events.DefaultEventBroadcaster$1.invoke(DefaultEventBroadcaster.java:175)
   at $Proxy27.missingChildElement(Unknown Source)
   at org.apache.fop.fo.FONode.missingChildElementError(FONode.java:563)
   at org.apache.fop.fo.flow.table.TablePart.finalizeNode(TablePart.java:114)
   at org.apache.fop.fo.FONode.endOfNode(FONode.java:326)
   at org.apache.fop.fo.flow.table.TableBody.endOfNode(TableBody.java:48)
   at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:349)
   at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:177)
   at org.apache.xalan.transformer.TransformerIdentityImpl.endElement(TransformerIdentityImpl.java:1102)
   at org.apache.xml.serializer.TreeWalker.endNode(TreeWalker.java:460)
   at org.apache.xml.serializer.TreeWalker.traverse(TreeWalker.java:151)
   at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:390)
   ... 46 more

Автор:  dimOn [ 23 июл 2012, 10:30 ]
Заголовок сообщения:  Re: Перестал работать скрипт после перехода на 5.2

Цитата:
"fo:table-body" is missing child elements. Required content model: marker* (table-row+|table-cell+) (See position 0:0)

Вам помочь перевести? :lupa:

Автор:  dimOn [ 23 июл 2012, 10:33 ]
Заголовок сообщения:  Re: Перестал работать скрипт после перехода на 5.2

Так как fo:table-body нет в приведённом куске, озаглавненном "Вызывали так;", то делаем вывод, что дело не в нём. Просто в каком-то другом месте шаблона невалидная вёрстка. В 5.1 работало, потому что в 5.1 был другой FO-процессор, который относился к валидации спустя рукава.

Автор:  dimOn [ 23 июл 2012, 10:35 ]
Заголовок сообщения:  Re: Перестал работать скрипт после перехода на 5.2

Вот же у вас ниже как раз вся приходящяя FO как на ладони:

Цитата:
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:script="bitel.billing.server.util.exslt.Scripting" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xalan="http://xml.apache.org/xalan"><fo:layout-master-set><fo:simple-page-master margin-bottom="0.7cm" margin-left="1.5cm" margin-right="1cm" margin-top="0.2cm" master-name="first" page-height="29.7cm" page-width="21cm"><fo:region-body margin-bottom="0.0cm" margin-top="0.5cm"/><fo:region-before extent="0.0cm"/><fo:region-after extent="0.0cm"/></fo:simple-page-master></fo:layout-master-set><fo:page-sequence master-reference="first"><fo:flow flow-name="xsl-region-body"><fo:table space-after="0.6cm" table-layout="fixed"><fo:table-column column-width="9.0cm"/><fo:table-column column-width="3.17cm"/><fo:table-column column-width="3.17cm"/><fo:table-column column-width="3.17cm"/><fo:table-body/></fo:table></fo:flow></fo:page-sequence></fo:root>

Жирным выделена вёрстка таблицы, она и невалидная. См. выше.

Автор:  Phricker [ 23 июл 2012, 10:37 ]
Заголовок сообщения:  Re: Перестал работать скрипт после перехода на 5.2

viewtopic.php?f=1&t=4942&hilit=fop
и так в тему сразу же.
Где то в той теме сказано про валидатор

Автор:  dimOn [ 23 июл 2012, 10:43 ]
Заголовок сообщения:  Re: Перестал работать скрипт после перехода на 5.2

Валидатор не отловит вроде такого в интеллектуальном режиме. Кажется, я такого не предусматривал. Вернее, когда окончательно будет валидировать, то покажет такую же ошибку, как уже выше приведена.

Автор:  supro [ 23 июл 2012, 12:27 ]
Заголовок сообщения:  Re: Перестал работать скрипт после перехода на 5.2

В куске "вызывали так" приведен фрагмент кода вызова. Что-бы убрать подозрения с валидности вставил в шаблон такой код

Цитата:
<fo:block xsl:use-attribute-sets="text">
<xsl:for-each select="script:invoke('payment','getVoipPrice', $cid)/section">
<xsl:value-of select="@title"/>
<xsl:value-of select="@costbeznds"/>
<xsl:value-of select="@costnds"/>
<xsl:value-of select="@cost"/>
</xsl:for-each>
</fo:block>

В шаблоне ничего не отображается и все что выводит дебаг это:
Код:
[ length = 909 ] xml = <?xml version="1.0" encoding="windows-1251"?><data secret="56B188AA296A99C3A547CC3AC36E4594" status="ok"><fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:script="bitel.billing.server.util.exslt.Scripting" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xalan="http://xml.apache.org/xalan"><fo:layout-master-set><fo:simple-page-master margin-bottom="0.7cm" margin-left="1.5cm" margin-right="1cm" margin-top="0.2cm" master-name="first" page-height="29.7cm" page-width="21cm"><fo:region-body margin-bottom="0.0cm" margin-top="0.0cm"/><fo:region-before extent="0.0cm"/><fo:region-after extent="0.0cm"/></fo:simple-page-master></fo:layout-master-set><fo:page-sequence master-reference="first"><fo:flow flow-name="xsl-region-body"><fo:block end-indent="0.1cm" font-family="arial" font-size="9.5pt" start-indent="0.1cm" text-align="left" text-decoration="none"/></fo:flow></fo:page-sequence></fo:root></data>
http://172.28.200.25:8080/bgbilling/executer?module=contract&action=ContractCard2&type=test.xsl&BGBillingSecret=RCA3xwGz1kOtJqgX7Pr9zQc3&cid=461&
[ length = 909 ] xml = <?xml version="1.0" encoding="windows-1251"?><data secret="9FC0389580BB72F8001215585178E5DC" status="ok"><fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:script="bitel.billing.server.util.exslt.Scripting" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xalan="http://xml.apache.org/xalan"><fo:layout-master-set><fo:simple-page-master margin-bottom="0.7cm" margin-left="1.5cm" margin-right="1cm" margin-top="0.2cm" master-name="first" page-height="29.7cm" page-width="21cm"><fo:region-body margin-bottom="0.0cm" margin-top="0.0cm"/><fo:region-before extent="0.0cm"/><fo:region-after extent="0.0cm"/></fo:simple-page-master></fo:layout-master-set><fo:page-sequence master-reference="first"><fo:flow flow-name="xsl-region-body"><fo:block end-indent="0.1cm" font-family="arial" font-size="9.5pt" start-indent="0.1cm" text-align="left" text-decoration="none"/></fo:flow></fo:page-sequence></fo:root></data>
http://172.28.200.25:8080/bgbilling/executer?module=admin&command=get&action=Command&
[ length = 64 ] xml = <?xml version="1.0" encoding="windows-1251"?><data status="ok"/>

Автор:  dimOn [ 23 июл 2012, 13:57 ]
Заголовок сообщения:  Re: Перестал работать скрипт после перехода на 5.2

А что у вас должно отобразиться, если приходит совершенно пустой FO-документ? Описаны page-sequence и всё, конец, тела нету.

Цитата:
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:script="bitel.billing.server.util.exslt.Scripting" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xalan="http://xml.apache.org/xalan"><fo:layout-master-set><fo:simple-page-master margin-bottom="0.7cm" margin-left="1.5cm" margin-right="1cm" margin-top="0.2cm" master-name="first" page-height="29.7cm" page-width="21cm"><fo:region-body margin-bottom="0.0cm" margin-top="0.0cm"/><fo:region-before extent="0.0cm"/><fo:region-after extent="0.0cm"/></fo:simple-page-master></fo:layout-master-set><fo:page-sequence master-reference="first"><fo:flow flow-name="xsl-region-body"><fo:block end-indent="0.1cm" font-family="arial" font-size="9.5pt" start-indent="0.1cm" text-align="left" text-decoration="none"/></fo:flow></fo:page-sequence></fo:root>

Автор:  supro [ 23 июл 2012, 14:09 ]
Заголовок сообщения:  Re: Перестал работать скрипт после перехода на 5.2

Об этом и написано в 1-м посте, скрипт который работал в 5.1, в 5.2 ничего не выводит.
Цикл foreach ничего не выводит т.к получает пустой элемент.

Автор:  dimOn [ 23 июл 2012, 15:53 ]
Заголовок сообщения:  Re: Перестал работать скрипт после перехода на 5.2

Так вы разделите уж понятия. То, что вы написали вначале - ошибка форматирования, невалидный FO, оно так и ругается. То, что вы сейчас говорите — совершенно о другом - у вас ваш скрипт ( script:invoke('payment','getVoipPrice', $cid)/section ) не возвращает ничего, потому и получившийся документ пустой выходит (из этого частично и получалась первая ошибка).
с этим надо разбираться. то ли скрипт падает, то ли xml не такая выходит. скрипт вообще вызывается? его надо смотреть внимательно, трассировать при необходимости итд.

Автор:  supro [ 23 июл 2012, 16:20 ]
Заголовок сообщения:  Re: Перестал работать скрипт после перехода на 5.2

А как я могу это проверить?

Вот к примеру взять простой код

Код:
import org.w3c.dom.*;
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.util.*;
import bitel.billing.server.tariff.*;
import bitel.billing.server.tariff.voice.calc.*;
import java.sql.*;

public Node getVoipPrice( String cid )
{
   result = doc.createElement( "price" );
   Element section = null;

   section = Utils.createElement( result, "section" );
   section.setAttribute( "title", "Территория России" );
   Utils.serializeXML( result, System.out, "UTF-8" );

   return result;
}


И вызов

Код:
<fo:block xsl:use-attribute-sets="text">
<xsl:for-each select="script:invoke('some','getVoipPrice', $cid)/section">
<xsl:value-of select="@title"/>
</xsl:for-each>   
</fo:block>

Автор:  dimOn [ 24 июл 2012, 11:22 ]
Заголовок сообщения:  Re: Перестал работать скрипт после перехода на 5.2

И?

Автор:  supro [ 24 июл 2012, 12:03 ]
Заголовок сообщения:  Re: Перестал работать скрипт после перехода на 5.2

Ваш ответ достоин премии.

Автор:  dimOn [ 24 июл 2012, 12:28 ]
Заголовок сообщения:  Re: Перестал работать скрипт после перехода на 5.2

Претендую лишь на второе место (после вопроса).
Вот вы взяли простой код и дальше что? Как проверить — в этом вопрос? Я тогда его не понимаю… запустите, проверьте. Или вы его уже запустили? Тогда в чём вопрос? И он не работает, не выводится ничего?
Сам скрипт вообще вызывается? Поставьте там print, например, выведется в лог что-нибудь? Покажите что происходит в логах после попытки рендера этого куска и как следствие работы этого скрипта.

Автор:  supro [ 30 июл 2012, 13:32 ]
Заголовок сообщения:  Re: Перестал работать скрипт после перехода на 5.2

Если кому будет полезно вот рабочий вариант

Код:
import org.w3c.dom.*;
import ru.bitel.common.*;

public Node getXML( String cid ) {
         doc = XMLUtils.newDocument();
         result = doc.createElement( "price" );
      Element section = null;
      section = XMLUtils.newElement( result, "section" );
        section.setAttribute( "title", "ЗАГОЛОВОК");
   return result;
}


и его вызов

Код:
<xsl:for-each select="script:invoke('some','getXML', $cid)/section">
   <fo:block xsl:use-attribute-sets="text"><xsl:value-of select="@title"/></fo:block>
</xsl:for-each>

Автор:  Amir [ 30 июл 2012, 14:42 ]
Заголовок сообщения:  Re: Перестал работать скрипт после перехода на 5.2

Не уверен, влияет ли на результат, но создание элемента не добавляет его автоматически в документ
Код:
result = doc.createElement( "price" );
>>
Код:
result = XMLUtils.newElement( doc, "price" );
или
Код:
result = doc.createElement( "price" );
doc.appendChild( result );

Автор:  dimOn [ 30 июл 2012, 15:21 ]
Заголовок сообщения:  Re: Перестал работать скрипт после перехода на 5.2

Честно говоря я так и не понял работает ли приведённый код или вопрос в том, что он не работает. Если оно работает, то чем отличается от исходного кода?

Автор:  supro [ 30 июл 2012, 20:24 ]
Заголовок сообщения:  Re: Перестал работать скрипт после перехода на 5.2

dimOn писал(а):
Честно говоря я так и не понял работает ли приведённый код или вопрос в том, что он не работает. Если оно работает, то чем отличается от исходного кода?


Исходя из темы "Перестал работать скрипт после перехода на 5.2", можно сделать логическое заключение, что скрипт не работал.
О том чем оно отличается от исходного кода, сравните свое API версии 5.1 и API версии 5.2 и попробуйте найти в новом public class Utils.

Автор:  dimOn [ 31 июл 2012, 12:25 ]
Заголовок сообщения:  Re: Перестал работать скрипт после перехода на 5.2

Я про код, который вы потом даёте
Цитата:
Если кому будет полезно вот рабочий вариант

Автор:  dimOn [ 31 июл 2012, 12:31 ]
Заголовок сообщения:  Re: Перестал работать скрипт после перехода на 5.2

Цитата:
О том чем оно отличается от исходного кода, сравните свое API версии 5.1 и API версии 5.2 и попробуйте найти в новом public class Utils.

там есть Utils точно такой же. У вас просто использовался уже очень давно deprecated bitel.billing.server.util.Utils, за этим надо следить как бы.

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