Я получаю сообщение об ошибке ниже при вызове службы отдыха с использованием utl_http.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Bad Request</h2>
<hr><p>HTTP Error 400. The request is badly formed.</p>
</BODY></HTML>
URL: https://hostname/svc/snservice-consolidation/v2.0/api/sn/GetSNDetails?Out=CAE&Mode=XML
Псевдокод:
UTL_HTTP.set_wallet (
'file:/var/opt/oracle/wallets/........',
'xxxxxxx');
l_url :='https://<hostname>/svc/snservice-consolidation/v2.0/api/sn/GetSNDetails?Out=CAE'
|| CHR (38)
|| 'Mode=XML';
l_http_request := UTL_HTTP.begin_request (l_url, 'POST', 'HTTPS/1.1');
UTL_HTTP.set_authentication (l_http_request,'UN','PWD');
p_req_clob := TO_CLOB ('<root>
<Device SerialNumber="AAAAAAAAAA"/>
</root>'
);
UTL_HTTP.set_header (l_http_request, 'Content-Type', 'text/xml');
UTL_HTTP.set_header (l_http_request,
'Content-Length',
LENGTH (p_req_clob));
UTL_HTTP.write_text (l_http_request, p_req_clob);
l_http_response := UTL_HTTP.get_response (l_http_request);
Дополнительные примечания:
- Тот же веб-сервисотлично работает в остальных клиентах, таких как Postman
- Тот же код бэкэнда отлично работает для другой подобной службы, которая принимает тот же ввод данных.
Благодарим за любую помощь по этому вопросу.Заранее спасибо.
С уважением, Чарльз