powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Oracle - Java HTTP Post - XML
14 сообщений из 14, страница 1 из 1
Oracle - Java HTTP Post - XML
    #33296992
Flukky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понадобилась Ява-процедура для Оракла, которая могла бы посылать запросы в виде TXT по указаному пути HTTPS, и получать обратно документ XML. Где-то такую можно скачать в Интернете, либо что-то похожее? На данный момент у меня есть похожая функция, только для протокола HTTP и возвращает либо String, либо Oracle.Clob. Я неочень хорошо знаком с Явой, поэтому прошу помощи.

И ещё один нюанс, несамый приятный: XML с сервера отдаётся в кодировке UTF-8, мне же его нужно разбирать уже в кодировке Windows.

Большое спасибо за любого рода советы!
...
Рейтинг: 0 / 0
Oracle - Java HTTP Post - XML
    #33297275
коты
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jakarta commons, http client

http://jakarta.apache.org/commons/httpclient/
http://jakarta.apache.org/commons/httpclient/sslguide.html

на вашем месте я бы побил палками тех кто рулит удаленную часть чтобы сделали нормальный веб-сервис

just another freak in the Freak Kingdom
...
Рейтинг: 0 / 0
Oracle - Java HTTP Post - XML
    #33297493
Flukky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чем по вашему он плох? Кодимровками?
...
Рейтинг: 0 / 0
Oracle - Java HTTP Post - XML
    #33297707
Flukky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за ссылку, есть, что почитать. Но про XML там ничего нет. Его можно вообще передавать в функцию и обратно? В Оракле есть тип XMLDocument для этого дела.
...
Рейтинг: 0 / 0
Oracle - Java HTTP Post - XML
    #33298182
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно по идее передавать его Clob'ом, а на оракловой стороне есть объектный тип XMLType. По поводу кодировки: по-моему Java работает с юникодом, то ты можешь открыть выходной поток в тот же файл с указанием требуемой кодировки и записать Clob в него.

Попробуй еще посмотреть Oracle XML Developers Kit , может там есть какие подходящие примеры.
...
Рейтинг: 0 / 0
Oracle - Java HTTP Post - XML
    #33298351
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FlukkyСпасибо за ссылку, есть, что почитать. Но про XML там ничего нет. Его можно вообще передавать в функцию и обратно? В Оракле есть тип XMLDocument для этого дела.
Oracle® XML DB Developer's Guide 10g Release 1 (10.1)
2 Java API for XMLType
Accessing XML Documents Stored in Oracle Database (Java)
http://download-west.oracle.com/docs/cd/B14117_01/appdev.101/b10790/xdb11jav.htm#sthref1109
...
Рейтинг: 0 / 0
Oracle - Java HTTP Post - XML
    #33299002
Flukky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov FlukkyСпасибо за ссылку, есть, что почитать. Но про XML там ничего нет. Его можно вообще передавать в функцию и обратно? В Оракле есть тип XMLDocument для этого дела.
Oracle® XML DB Developer's Guide 10g Release 1 (10.1)
2 Java API for XMLType
Accessing XML Documents Stored in Oracle Database (Java)
http://download-west.oracle.com/docs/cd/B14117_01/appdev.101/b10790/xdb11jav.htm#sthref1109

Хм. У меня 8.1.7.4. :(
...
Рейтинг: 0 / 0
Oracle - Java HTTP Post - XML
    #33299032
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поищи по документации на Oracle8i , что там есть насчет этого. Но в любом случае ты можешь из pl/sql передавать CLOB и в Java преобразовывать его в XMLDocument.
...
Рейтинг: 0 / 0
Oracle - Java HTTP Post - XML
    #33299121
Flukky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis PopovПоищи по документации на Oracle8i , что там есть насчет этого. Но в любом случае ты можешь из pl/sql передавать CLOB и в Java преобразовывать его в XMLDocument.

А каким образом ВЕРНУТЬ из Явы сразу XML? У меня сейчас функция возвращает либо String, либо Oracle.CLOB.
...
Рейтинг: 0 / 0
Oracle - Java HTTP Post - XML
    #33299201
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flukky wrote:
> А каким образом ВЕРНУТЬ из Явы сразу XML? У меня сейчас функция возвращает либо String, либо Oracle.CLOB.

Наверное это самое простое: возвращать CLOB и делать из него XMLType в pl/sql. А как насчет вернуть
сразу XML-объект - надо поискать, но почему-то я думаю, что в Oracle8i это будет еще тяжелее найти,
чем в Oracle10g.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Oracle - Java HTTP Post - XML
    #33299222
Flukky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Угу, намёк понят. Просто у меня сейчас такое ощущение, что разборка клоба на XML занимает какое-то время (для системы в целом ощутимое)... Хотя с другой стороны на Яве это дело также займёт время... Хорошо, остановимся пока на CLOB.

Осталось 2 вещи. Где лучше (и как) текст из CLOB в UTF-8 преобразовать в Windows? В PL/SQL или на Яве?

И ещё почему-то моя процедура работает только через HTTP. Как только подаёшь HTTPS, умирает сразу же. Но об этом чуть позже. Сначала хотел бы разобраться с кодировкой.
...
Рейтинг: 0 / 0
Oracle - Java HTTP Post - XML
    #33299329
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FlukkyГде лучше (и как) текст из CLOB в UTF-8 преобразовать в Windows? В PL/SQL или на Яве?
Ну и протестируй самостоятельно:) Оракловая функция CONVERT против какого-нибуть new String.getBytes(). Только вот одно: в какой кодировке создана база Oracle? Допускает ли VARCHAR2 юникод или придется пользоваться NVARCHAR2?
...
Рейтинг: 0 / 0
Oracle - Java HTTP Post - XML
    #33302028
Flukky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
База данных в кодировке (V$NLS_PARAMETERS)
NLS_CHARACTERSET BLT8CP921
NLS_NCHAR_CHARACTERSET BLT8CP921
...
Рейтинг: 0 / 0
Oracle - Java HTTP Post - XML
    #33302193
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приготовся на всякий случай, что в Oracle9i уже нельзя выбрать не-юникод в качестве National Character Set: Не могу выбрать National Character Set в мастере 9i А с таким раскладом как у тебя - может попытаться сделать это в Java, только не через getBytes(), а через потоки, что-то вроде такого:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
String string = "ЙЦУКЕН";
Connection con;
...
Clob clob = CLOB.createTemporary(con, true, CLOB.DURATION_SESSION);
clob.setAsciiStream();
OutputStreamWriter out =  new  OutputStreamWriter(outputStream, "Cp1251");
out.write(string);
out.flush();
но может и не сработать вот так, напрямую, особенно с Oracle JDBC ранних версий. ПОэтому м.б. придется сперва перекодировать String, а потом записывать его через CLOB.putChars(), беря CLOB вместо Clob.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Oracle - Java HTTP Post - XML
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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