Oracle UTL_HTTP

Небольшой скрипт, использовался для проверки работы пакета ORACLE UTL_HTTP  с использованием SSL.

DECLARE
l_http_request UTL_HTTP.req;
l_http_response UTL_HTTP.resp;
l_text VARCHAR2(32767);
req VARCHAR2(4000);

BEGIN

UTL_HTTP.set_wallet('file:D:OracleWALLETS', 'wallet10g');

l_http_request := UTL_HTTP.begin_request('https://apitest.authorize.net/xml/v1/request.api','POST');

req:='<authenticateTestRequest xmlns="AnetApi/xml/v1/schema/AnetApiSchema.xsd"><merchantAuthentication><name>???????</name><transactionKey>???????</transactionKey></merchantAuthentication></authenticateTestRequest>';

utl_http.set_header(l_http_request, 'Connection', 'keep-alive');
utl_http.set_header(l_http_request, 'Content-Type', 'text/xml; charset=utf-8');
utl_http.set_header(l_http_request, 'Content-Length', LENGTH(req));

DBMS_OUTPUT.put_line (req);

UTL_HTTP.WRITE_TEXT(l_http_request, req);

l_http_response := UTL_HTTP.get_response(l_http_request);

BEGIN
LOOP
UTL_HTTP.read_text(l_http_response, l_text, 32766);
DBMS_OUTPUT.put_line (l_text);
END LOOP;
UTL_HTTP.end_response(l_http_response);

EXCEPTION
WHEN UTL_HTTP.end_of_body THEN
UTL_HTTP.end_response(l_http_response);
END;
EXCEPTION
WHEN OTHERS THEN
UTL_HTTP.end_response(l_http_response);
RAISE;
END;

Written by 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *