Страница 1 из 1

Oracle 8i utl_http & utl_tcp

Добавлено: 15 июл 2004, 12:14
sgt.pepper
Есть потребность из PL/SQL блока посылать POST запросы к веб серверу (именно POST запросы. С текстовым блобом в теле реквеста)

На девятке все просто и легко - есть мощный UTL_HTTP или тот же UTL_TCP.

На восьмерке UTL_HTTP этого не позволяет.
Поэтому беру UTL_TCP и пробую работать с web сервером на уровне TCP соединения.

При этом вызов utl_tcp.open_connection обламывается с сообщением что нет java класса TCPConnection.

Вопрос: как на восьмерке работает UTL_HTTP (а он реально работает) если в яве нет поддержки TCP соединений?

Добавлено: 15 июл 2004, 14:30
AiK
sgt.pepper, tесть большое подозрение, что вопрос всё же не по Oracle, а по Java.
Ну и вопрос на засыпку: слово socket о чём-либо говорит? :)

Добавлено: 15 июл 2004, 14:51
sgt.pepper
AiK
Вопрос мой не про Java.
Вопрос мой про PL/SQL.
Конкретно про пакет UTL_HTTP.
И вопрос такой: Как он работает, если нет Java класса TCPConnection.
Надеюсь знаешь каким транспортом пользуется HTTP протокол?

Добавлено: 15 июл 2004, 15:04
AiK
Я так думаю, что Java, она и в африке Java.
Есть такой замечательный класс java.net.Socket. С его помощью ты имеешь полный контроль над транспортным уровнем. Реализуй хоть TCP, хоть UDP, а хошь так вообще IPX :)
Ну и кроме всего прочего, можно и оракловские классы декомпильнуть, чтобы знать как оно там на самом деле :) .

Добавлено: 15 июл 2004, 15:11
sgt.pepper
Классы декомпильнуть не проблема.
За java.net.Socket спасибо.
Но вот увидеть боди завраппленного UTL_HTTP не получится.
Собственно я наверное слишком замутненно спросил о том, о чем хотел узнать.

Чем пользуется UTL_HTTP если он не пользуется UTL_TCP.
Наверное java.net.Socket и пользуется. Или Сишной какой фенькой.

Добавлено: 15 июл 2004, 15:50
DeeJayC
Это вопрос всё-таки по Oracle. Это Oracle BUG:1721293.
Лечится патчем 8172 и командой

call dbms_java.loadjava('-resolve -force plsql/jlib/plsql.jar');

Добавлено: 16 июл 2004, 09:04
sgt.pepper
Все оказалось намного хуже.
Есть обширная сеть филиалов в разных субъектах РФ в которых где-то девятки, а где-то еще восьмерки стоят.
Выяснилось, что все восьмерки вообще установлены без Авроры, и ставить её туда никто не собирается.
В общем ни загрузка plsql.jar ни написание своей реализации на яве меня не спасет.

Воспользоваться UTL_HTTP на восьмерке (а он там очень беден в средствах) не получится.
Но ведь этот UTL_HTTP работает без явы, но тем не менее имеет доступ с стеку TCP/IP.

1.Чем он пользуется?
2. Нельзя ли это средство заюзать и мне?

Добавлено: 16 июл 2004, 11:08
DeeJayC
sgt.pepper писал(а): Воспользоваться UTL_HTTP на восьмерке (а он там очень беден в средствах) не получится.
Но ведь этот UTL_HTTP работает без явы, но тем не менее имеет доступ с стеку TCP/IP.

1.Чем он пользуется?
2. Нельзя ли это средство заюзать и мне?
1. Жабой он пользуется. Oracle, как известно, JServer, так что жаба там по жизни
2. Можно. Жабскую прогу написать и загрузить какой-нибудь HotJava Bean на сервак.

Добавлено: 16 июл 2004, 18:08
sgt.pepper
UTL_HTTP у меня прекрасно работает на 8i установленной вообще без Авроры.
Не пользуется он явой.