Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Apex 4.1 + Apex Listener 1.x как получить массив значений 'POST' / 8 сообщений из 8, страница 1 из 1
23.01.2014, 13:34
    #38535528
Casufi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex 4.1 + Apex Listener 1.x как получить массив значений 'POST'
Есть грид с возможностью инлайн редактирования, но результат работы он передает массивом в переменной POST

авторmodels[0][dexp_id] 435
models[0][exp] 2310
models[0][sum] 456

Как достучаться до этих значений из ондеманд процесса ? Смотрел на Flexible Parameter Passing но у меня не mod_plsql а Апекс Листенер.
...
Рейтинг: 0 / 0
23.01.2014, 13:42
    #38535535
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex 4.1 + Apex Listener 1.x как получить массив значений 'POST'
Casufi,

http://docs.oracle.com/cd/E21611_01/doc.11/e21069/toc.htm This release adds support for flexible parameter passing, in the same manner as supported by mod_plsql. To specify flexible parameter passing should be used with a procedure, prefix the procedure path with an exclamation point (!).
...
Рейтинг: 0 / 0
27.01.2014, 17:27
    #38539446
Casufi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex 4.1 + Apex Listener 1.x как получить массив значений 'POST'
SvDev,

Насколько я понял, если апек у меня работает по ссылке http://app.domain.local:8080/apex/f?p=120:LOGIN:6163058965535859 и я сделал паблик процедуру для разбора параметров
Код: plsql
1.
2.
3.
4.
5.
6.
7.
create or replace procedure dis_pltec.ProcessPostParams(
       name_array IN OWA.vc_arr, 
       value_array IN OWA.vc_arr)
is
begin
  htp.p('It Works!'); 
end dis_pltec.ProcessPostParams;



Вызываю ее http://app.domain.local:8080/apex/!dis_pltec.ProcessPostParams и получаю в ответ 404
Как настроить Apex Listener чтобы работал "flexible parameter passing"
...
Рейтинг: 0 / 0
27.01.2014, 17:38
    #38539478
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex 4.1 + Apex Listener 1.x как получить массив значений 'POST'
Casufi,

Скорее всего или не хватает грантов на выполнение юзеру APEX_PUBLIC_USER, или нужно внести в разрешение в defaults.xml
...
Рейтинг: 0 / 0
27.01.2014, 19:30
    #38539628
Casufi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex 4.1 + Apex Listener 1.x как получить массив значений 'POST'
SvDev,

Цитата из доки по листенеру
авторIf the Inclusion list field is left blank, then the Oracle Application Express Listener does not validate the procedure names to determine if the procedure is allowed for processing.
http://docs.oracle.com/cd/E21611_01/doc.11/e21058/config.htm#CBDFIGEC

Права и на APEX_PUBLIC_USER и на пользователя, под которым запускаются апексовые процедуры дал.
...
Рейтинг: 0 / 0
28.01.2014, 11:36
    #38540232
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex 4.1 + Apex Listener 1.x как получить массив значений 'POST'
Casufi,

Еще смущает 1.x в шапке. Версия точно 1.1 ?
...
Рейтинг: 0 / 0
31.01.2014, 19:51
    #38545640
Casufi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex 4.1 + Apex Listener 1.x как получить массив значений 'POST'
SvDev,

Точно, 1.1.x, я специально перепроверил.
Вопрос пока потерял актуальность, я подменил в javascript процедуру передачи параметров и все что нужно передаю в x01, x02 в виде json массива
...
Рейтинг: 0 / 0
28.02.2014, 15:41
    #38575406
SvDev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Apex 4.1 + Apex Listener 1.x как получить массив значений 'POST'
Было время - проверил
На валидность-то процедуру тоже надо проверять (строку с ошибкой выделил)

Casufi
Код: plsql
1.
2.
3.
4.
5.
6.
7.
create or replace procedure dis_pltec.ProcessPostParams(
       name_array IN OWA.vc_arr, 
       value_array IN OWA.vc_arr)
is
begin
  htp.p('It Works!'); 
end dis_pltec.ProcessPostParams;




+ если передать 0 параметров будет 500-я ошибка (apex listener 2.0.5)

Код: sql
1.
EXEC FAILED:Указанная длина массива для setPlsqlIndexTable() не может быть нулевой
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Apex 4.1 + Apex Listener 1.x как получить массив значений 'POST' / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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