powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Java + XMLType
7 сообщений из 7, страница 1 из 1
Java + XMLType
    #37884233
rsltr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
работает:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
declare
result xmltype;
begin
result := account.get_t(xmltype(
                                  
                                  '<pars><par name=''fls_id''>11811</par>
                                  <par name=''period''>18.07.2012</par>
                                  <par name=''sd''></par><par name=''fd''></par>
                                  <par name=''zayavitel''>289249</par>
                                  <par name=''manList''><val>289249</val><val>289248</val></par>
                                  <par name=''docList''><val sd=''08.09.2006'' num=''880378;880377--сер.77 АА''/></par>
                                  <par name=''currDocZayav''>false</par>
                                  <par name=''jointByFlat''>false</par>
                                  <par name=''onlyCurMan''>false</par>
                                  <par name=''regNo''>б/н</par><par name=''currWithoutDoc''>false</par>
                                  <par name=''flat_id''>1420508</par>
                                  <par name=''house_id''>1365354</par></pars>')
                                  ,64735);                
end;



переношу в Яву и не работает:
...
Рейтинг: 0 / 0
Java + XMLType
    #37884243
rsltr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rsltr,

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
public String getEGDfromXMLforWService (String xmlType) throws Exception {
    	
    	Connection c = null;
    	CallableStatement st = null;
    	ResultSet rs = null;
        XMLType xml = null;
        XMLType xml2 = null;
        BigDecimal userId = security.getCurrentUserId();
    	
        try {
        	c = Cleaner.getConnection(dataSource, sessionContext,"AccountInfoBean..");
        	st = c.prepareCall("begin ?:=account.get_t(?,?); end;");
        	st.registerOutParameter (1, OracleTypes.OPAQUE,"XMLTYPE");
        	st.setObject(2, xmlType);
        	st.setBigDecimal(3, userId);
        	st.execute(); <-- здесь на выполнение выходит NullPointerException
        	
        	xml = (XMLType) st.getObject(1);
             
        } catch (Exception e) {
        	e.printStackTrace();        	
        } finally {
        	Cleaner.close(c, st, rs);
        }
    	return xml.getStringVal();
    	
    }



куда копнуть?
...
Рейтинг: 0 / 0
Java + XMLType
    #37884250
rsltr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rsltrrsltr,

Код: java
1.
        	st = c.prepareCall("begin ?:=account.get_t(?,xmltype(?)); end;");



куда копнуть?
...
Рейтинг: 0 / 0
Java + XMLType
    #37884258
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смущает
begin ?:=
это же не совсем параметр
...
Рейтинг: 0 / 0
Java + XMLType
    #37884262
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что-то типа
{?= call account.get_t(xmltype(?, ?)}
...
Рейтинг: 0 / 0
Java + XMLType
    #37884332
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rsltrкуда копнуть?
Попробуй так:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
Connection con;
...
Statement st = con.createStatement();

st.execute("create or replace function GET_XML(p_xml XmlType) return XmlType as begin return p_xml; end;");

XMLType xml = XMLType.createXML(
  con,
  "<pars>\n" +
  "  <par name='fls_id'>11811</par>\n" +
  "  <par name='period'>18.07.2012</par>\n" +
  "  <par name='sd'></par><par name='fd'></par>\n" +
  "  <par name='zayavitel'>289249</par>\n" +
  "  <par name='manList'><val>289249</val><val>289248</val></par>\n" +
  "  <par name='docList'><val sd='08.09.2006' num='880378;880377--сер.77 АА'/></par>\n" +
  "  <par name='currDocZayav'>false</par>\n" +
  "  <par name='jointByFlat'>false</par>\n" +
  "  <par name='onlyCurMan'>false</par>\n" +
  "  <par name='regNo'>б/н</par><par name='currWithoutDoc'>false</par>\n" +
  "  <par name='flat_id'>1420508</par>\n" +
  "  <par name='house_id'>1365354</par>\n" +
  "</pars>"
);
OracleCallableStatement cst = (OracleCallableStatement) con.prepareCall("{? = call GET_XML(?)}");
cst.registerOutParameter(1, OracleTypes.OPAQUE, "XMLTYPE");
cst.setOPAQUE(2, xml);
cst.execute();
OPAQUE opaque = cst.getOPAQUE(1);
xml = XMLType.createXML(opaque);

System.out.println(xml.getStringVal());
cst.close();
st.close();
...
Рейтинг: 0 / 0
Java + XMLType
    #38214733
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rsltr,
Код: java
1.
 stmt.registerOutParameter (2, OracleTypes.OPAQUE,"SYS.XMLTYPE");


"SYS.XMLTYPE"
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Java + XMLType
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]