Apache ESME > Index > Clients > PL SQL Client
Added by Anne Kathrine Petteroe, last edited by Anne Kathrine Petteroe on Apr 12, 2009

 
PL/SQL Stored Procedure for sending ESME Messages
_ _CREATE OR REPLACE PROCEDURE esme AS
http_req utl_http.req;
http_resp utl_http.resp;
t_update_send VARCHAR2(4000);

BEGIN

--Preliminaries

utl_http.set_proxy('proxy:81');
utl_http.set_response_error_check(TRUE);
utl_http.set_detailed_excp_support(TRUE);
utl_http.set_transfer_timeout(to_char('60'));

--login first

http_req := utl_http.begin_request('http://api.esme.us/esme/api/login?token=IFDHJ2RNDZCAT24ZJZUKDG54TVOIVTXL',   'POST',   utl_http.http_version_1_1);

t_update_send := 'status=';
utl_http.set_header(http_req,   'Content-Length',   to_char(LENGTH(t_update_send)));
utl_http.write_text(http_req,   t_update_send);

http_resp := utl_http.get_response(http_req);

UTL_HTTP.END_RESPONSE(http_resp);

--send message

http_req := utl_http.begin_request('http://api.esme.us/esme/api/send_msg?message=Oracle_Test&tags=Test,plsql&via=oracle',   'POST',   utl_http.http_version_1_1);

t_update_send := 'status=';
utl_http.set_header(http_req,   'Content-Length',   to_char(LENGTH(t_update_send)));
utl_http.write_text(http_req,   t_update_send);

http_resp := utl_http.get_response(http_req);

UTL_HTTP.END_RESPONSE(http_resp);

END esme;
/