Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Oracle Native XML DB Web Services  [new]
x77
Member

Откуда:
Сообщений: 1757
всем доброго дня.

есть оракловая схема, на которой поднят сабж. левая софтина (Сибель) через WS дергает хранимую процедуру, передавая в нее XML, и получая другой XML обратно.

столкнулись с ситуевиной, что передать можем xml почти любого размера, а обратно - xml не более 4кбайт. вопрос: это ограничение XML DB WS, или чего-то еще?

з.ы.
где-то мне попадалась инфа, что хитрыми потрясаниями бубна вокруг MT-сервера можно такое ограничение снять, но сейчас кинулся искать и не нашел.
4 мар 14, 18:45    [15672017]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Native XML DB Web Services  [new]
-2-
Member

Откуда:
Сообщений: 15330
x77
дня
не видно оснований пенять именно на вебсервисы.
4 мар 14, 18:59    [15672123]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Native XML DB Web Services  [new]
x77
Member

Откуда:
Сообщений: 1757
-2-
x77
дня
не видно оснований пенять именно на вебсервисы.


а на что пенять, на хранимку?
4 мар 14, 19:03    [15672154]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Native XML DB Web Services  [new]
x77
Member

Откуда:
Сообщений: 1757
в хранимках оракла, если мне память не изменяет, лимит для varchar2 = 32k. Сибель может сожрать колбасу до 2х гигабайт, там с этим тоже проблем нет.
4 мар 14, 19:06    [15672174]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Native XML DB Web Services  [new]
-2-
Member

Откуда:
Сообщений: 15330
x77
а на что пенять, на хранимку?
елементарно проверить.
4 мар 14, 19:07    [15672188]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Native XML DB Web Services  [new]
x77
Member

Откуда:
Сообщений: 1757
проверили уже, отсюда и вопрос.
4 мар 14, 19:11    [15672202]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Native XML DB Web Services  [new]
x77
Member

Откуда:
Сообщений: 1757
я наврал, извиняюсь. наоборот, получить можем xml любого размера, передать не можем больше 4к. передавали и как CLOB и как varchar2. если передаем в веб-сервис 4к + 1 => имеем ORA-31011, хранимка при этом не вызывается.
4 мар 14, 19:29    [15672258]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Native XML DB Web Services  [new]
-2-
Member

Откуда:
Сообщений: 15330
x77
проверили уже
может проблема версии, а может систематическое что. Предоставь скрипты публике для воспроизведения на других версиях. Можешь поиграться с create type clob_type as object(val clob) в качестве параметра.
Встроенные в БД сервисы не промышленное решение - под нагрзкой и при таймаутах ведет себя неадекватно с "утечкой" памяти и проца, ora-7445.
Хотя бы юзать сервисы apex через его apex listener, который можно передергивать без перезапуска всей БД с килянием диспетчеров.
5 мар 14, 03:32    [15673866]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Native XML DB Web Services  [new]
x77
Member

Откуда:
Сообщений: 1757
-2-,

там не зависит от скрипта, до вызова хранимки дело не доходит даже. просто передаем <xml>bla-bla-bla</xml>, где bla-bla-bla весит 4к + 1.
5 мар 14, 13:13    [15676462]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Native XML DB Web Services  [new]
x77
Member

Откуда:
Сообщений: 1757
нашлась закавыка вот тут: http://docs.oracle.com/cd/E11882_01/appdev.112/e16659/appjspec.htm#ADXDB3700

XML Identifier Length Limit – Oracle XML DB supports only XML identifiers that are 4000 characters long or shorter.


т.е. это ограничение не на размер файла, а на 1 xml-ный нод. теперь думаем, на какой козе это объехать.
5 мар 14, 20:08    [15679387]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Native XML DB Web Services  [new]
-2-
Member

Откуда:
Сообщений: 15330
x77
т.е. это ограничение не на размер файла, а на 1 xml-ный нод.
Термин Identifier как-то не тянет. Хотя, если подразумевать имя тега, то ограчение xml-функций 1024 символа, что тоже не соответствует...
5 мар 14, 20:33    [15679494]     Ответить | Цитировать Сообщить модератору
 Re: Oracle Native XML DB Web Services  [new]
x77
Member

Откуда:
Сообщений: 1757
-2-,

проверялось через левую приблуду, SOAPUI. заносим там xml на основе wsdl, который генерит сам XML DB. структура вида

<xml>
  <a>123..EF</a>
  ...
</xml>


если в <a> лежит 4к - все огонь. если на 1 символ больше - отлуп.

т.е. под Identifier-ом они понимают текст элемента. и тогда все сходится. при этом сам репозитарий для xml-объектов у XML DB рассчитан на структуры до 8 гигов, что совершенно непонятно. как их туда запихать, если в ноде нельзя передать текст длинее 4к?

я понимаю, что я что-то не понимаю, но что именно - хз )

самое простое решение - класть данные прямо в таблицу. потом через веб-сервис дергать процедуру с идентификатором, которая из таблицы по ID заберет параметры. т.е. просто не передавать большие структуры через WS. но тогда теряется сам смысл веб-интерфейса, как точки интеграции.
6 мар 14, 00:53    [15680232]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить