Вызов веб-службы POST в Oracle APEX AJAX По требованию - PullRequest
0 голосов
/ 07 января 2019

Я создал полноценный веб-сервис POST в ORAcle APEX. Я хочу использовать этот веб-сервис в моем процессе AJAX по требованию. Как мне это сделать. Веб-служба POST выполняет простую вставку в таблицу.

Я пытался написать приведенный ниже код, но он не работает. Выдает ошибку: «Неожиданный токен в JSON в позиции 0».

            declare
             l_clob clob;
            begin

            apex_web_service.g_request_headers(1).name := 'Content-Type';
            apex_web_service.g_request_headers(1).value := 'application/x-www-form-urlencoded'; 

            l_clob := apex_web_service.make_rest_request(
                          p_url => 'https://ofdapex.antwerpen.be/ords/xxua_apex/test/test/',
                          p_http_method => 'POST',
                          p_parm_name => apex_util.string_to_table('DESCRIPTION'),
                          p_parm_value => apex_util.string_to_table(apex_application.g_x01));

            apex_json.open_object;  
                    apex_json.write('success', false);  
                    apex_json.write('v_result', v_user_name);
                    apex_json.close_object; 

            end;

Я считаю, что что-то мне не хватает после присвоения значения в l_clob. Но я не уверен, что.

Может кто-нибудь поделиться своими знаниями о том, как вызвать веб-сервис POST внутри AJAX в oracle APEX.

Спасибо.

1 Ответ

0 голосов
/ 22 февраля 2019

Поскольку вы используете HTTPS, вам может потребоваться указать путь к Oracle Wallet.

v_response := apex_web_service.make_rest_request(
    p_url => 'https://ws.example.com/test/send'  -- example
    ,p_body => v_clob                
    ,p_http_method => 'POST'
    ,p_wallet_path => 'file:$ORACLE_HOME/appsutil/wallet'  -- example
    ,p_https_host => 'ws.example.com'    -- example
    );
...