При установке (и на linux, и на windows) столкнулись со следующим поведением - довольно жестко завязано на локальный резолвер - файл hosts. Собственно, из него определяются внешние и внутренние интерфейсы, а также выдаются “целеуказания” для сторонних JMS клиентов на подключение.
(далее…)
В процессе изучения Oracle SOA Suite столкнулись с интересной особенностью - при работе Outbound Db Adapter в рамках ESB, который выполняет stored procedure, последняя выполняется с переданными null параметрами. Т.е. параметры сообщения, соотнесенные с аргументами функции в простой трансформации дают необходимый xml, а вот сам исполнитель XML этого кажется не воспринимает и выполняет процедуру, передавая null во всех параметрах.
Update: Оказалось, что в первой реинкарнации SOA Suite довольно ограничен. В частности, накат Patchset 3 для SOA решило эти (и, видимо, многие другие) проблемы.
Согласно документации, можно настроить любой apache сервер для работы с oc4j по ajp-протоколу. У меня этого пока не получилось - ругается apache (он, правда, DIGT-овский) : не может создать.
(далее…)
Давно интересовавшая меня тема с тонким драйвером - почему он не может ходить к LDAP за указанием куда подсоединиться сегодня решилась. Благодаря потребности использовать этот самый тонкий драйвер в одном проекте, решил еще разок провести тесты. И оно случилось. УРЛ задается вот такой.
(далее…)
Для тех, кто еще работает с DTD в Oracle может быть интересно узнать вдобавок к уже известным фактам, что при валидации xml в Oracle данные запрашиваются в кодировке utf8
Content-Type: text/plain; charset=utf-8
и если в dtd есть символы в другой кодировке (читай, не латиница) выдает LPX-00209 - bad mime-header.
В один момент понадобилось получать таблицу из часов для передачи во вложенные вызовы. Понятно, что select ‘0′ from dual union all … select 23 from dual - не годился. У нас есть переходы на летнее время и хотелось бы их учитывать. ФОРС по моему вопросу признался что это не легко и они написали процедуру специально для такого случая.
А вот как это можно делать селектом. (дата которая подставляется снаружи - через bindParameter в jdbc
SELECT '0' as hour from dual union all
SELECT '1' as hour from dual union all
SELECT '2' as hour from dual union all
SELECT '3' as hour from dual union all
SELECT '4' as hour from dual union all
SELECT '5' as hour from dual union all
SELECT '6' as hour from dual union all
SELECT '7' as hour from dual union all
SELECT '8' as hour from dual union all
SELECT '9' as hour from dual union all
SELECT '10' as hour from dual union all
SELECT '11' as hour from dual union all
SELECT '12' as hour from dual union all
SELECT '13' as hour from dual union all
SELECT '14' as hour from dual union all
SELECT '15' as hour from dual union all
SELECT '16' as hour from dual union all
SELECT '17' as hour from dual union all
SELECT '18' as hour from dual union all
SELECT '19' as hour from dual union all
SELECT '20' as hour from dual union all
SELECT '21' as hour from dual union all
SELECT '22' as hour from dual union all
SELECT '23' as hour from dual union all
SELECT '24' as hour from dual
where rownum < (SELECT DECODE(was || will, '0203', 23, '0302', 25, 24)
FROM (SELECT TO_CHAR(testdate + INTERVAL '1' DAY, 'hh24') was,
TO_CHAR(testdate + INTERVAL '2' DAY, 'hh24') will
FROM (SELECT CAST(TRUNC(TO_DATE('2006.03.26', 'yyyy-mm-dd')) -
INTERVAL '2' DAY + INTERVAL '3' HOUR AS TIMESTAMP WITH TIME ZONE) AT TIME ZONE 'Europe/Moscow' testdate
FROM DUAL)))
Проверял работу, используя данные о переходах на летнее/зимнее время и между ними.