Я пытаюсь отправить GET-запрос к API остальных, но я получаю ошибку:
ORA-29259: достигнут конец ввода.
Я проверил свой код на бесплатной службе отдыха (https://jsonplaceholder.typicode.com/) и получил правильный ответ.
Если я пытаюсь отправить запрос на службу отдыха, которую мы используем, я получаю ошибку:
Отчет об ошибке -
ORA-29273: сбой HTTP-запроса
ORA-06512: в «SYS.UTL_HTTP», строка 1367
ORA-29259: достигнут конец ввода
ORA-06512: в строке 16
29273. 00000 - «HTTP-запрос не выполнен» * Причина: пакету UTL_HTTP не удалось выполнить HTTP-запрос.
declare
l_req utl_http.req;
l_url varchar2(100) := 'http://******/**/**/token';
l_result utl_http.resp;
l_data varchar2(32767);
username varchar2(100) := '****';
password varchar2(100) := '****';
begin
l_req := utl_http.begin_request(l_url,'GET','HTTP/1.1');
utl_http.set_header(l_req, 'content-type', 'application/json');
--client id/secret??
--utl_http.set_header(l_req,'username', username);
--utl_http.set_header(l_req,'password', password);
l_result := utl_http.get_response(l_req);
begin
loop
utl_http.read_text(l_result, l_data, 1000);
dbms_output.put_line (l_data);
end loop;
exception
when utl_http.end_of_body then
utl_http.end_response(l_result);
end;
end;
Я добавилrest api host to ACL.
Служба отдыха, которую я вызываю, использует аутентификацию Oauth2 и требует ID клиента и секрет, имя пользователя и пароль.
Я знаю, что я не передаю ни один из параметров аутентификации (я еще не понял эту часть), но я думаю, что должен получить хоть какой-то ответ.
Если я попытаюсь сделать то же самое(также без какой-либо аутентификации) в C # api возвращает
{"error": "invalid_clientId", "error_description": "ClientId должен быть отправлен."} Какой правильный ответ.
Я пропалчто-то?