Пожалуйста, как мне отобразить ответ от этой конечной точки с помощью запроса веб-сервиса вершины, когда я пытаюсь вывести ответ, я получаю ошибку ORA-06502: PL/SQL: числовая или значение. API, который я вызываю, возвращает строку, когда я тестирую почтальона. Ниже мой код PLSQL.
declare
j_string clob;
begin
j_string := apex_web_service.make_rest_request(p_url => 'http://localhost/api/public/cerificate', p_http_method => 'POST',
p_body => '{
"name": "Jonh West",
"gender": "Male",
"dob": "sep-02-1977",
"occupation": "Trader",
"address": "NO 33 Mudupe Street Ikeja Lagos",
"mobile": "08131500000",
"email": "[email protected]",
"kinName": "James West",
"kinMobile": "08145600000",
"kinEmail": "[email protected]",
"coverPlan": "BRONZE",
"coverMedical": "20000",
"coverPDisability": "30000",
"coverTDisability": "15000",
"coverDeath": "44000",
"aPremiuum": "80000"
}');
dbms_output.put_line(j_string);
end ;
Это ошибка, которую я получаю: ORA-06502: PL/SQL: ошибка числа или значения ORA-06512: в строке 23 ORA-06512: в "SYS.DBMS_SQL", строка 1721.
Номер строки указывает на то, что ошибка вызвана dbms_output.put_line
. Он ожидает строку, но получает значение clob, которое может быть причиной ошибки. Я бы попробовал следующее:
dbms_output.put_line(dbms_lob.substr ( j_string, 4000, 1 ));
и посмотрите, работает ли это.
С другой стороны, название переменной «.._string», хотя на самом деле это CLOB, сбивает с толку :)
Спасибо, он получал ответ со значением Clob, отсюда и ошибка.