2023-01-31

[Oracle]How to Call API

最近有個需求,需要呼叫Gaia BPM系統

DECLARE
  http_resp utl_http.resp;
  http_req utl_http.req;
  json_msg VARCHAR2(2000);
BEGIN

  http_req := utl_http.begin_request('http://guru_test.ac.local/eHR/bpm/webapi/Engine/ApplyForm', 'POST');
  utl_http.set_body_charset(http_req, 'UTF-8');
  utl_http.set_header(http_req, 'Content-Type', 'application/json');

  json_msg := '{"FormKind":"AC.FORM.0002","formPackage":"';
  json_msg := json_msg || '';
  json_msg := json_msg || '';
  json_msg := json_msg || 'AC.FORM.0002';
  json_msg := json_msg || '08002';
  json_msg := json_msg || '08002';
  json_msg := json_msg || '0';
  json_msg := json_msg || '5';
  json_msg := json_msg || '0';
  json_msg := json_msg || '0';
  json_msg := json_msg || '';
  json_msg := json_msg || '';
  json_msg := json_msg || '';
  json_msg := json_msg || '';
  json_msg := json_msg || '002';
  json_msg := json_msg || '12345測試';
  json_msg := json_msg || '';
  json_msg := json_msg || '
'; json_msg := json_msg || ''; json_msg := json_msg || '
'; json_msg := json_msg || '"}'; utl_http.set_header(http_req, 'CONTENT-Length', LENGTHB(json_msg)); --中文要用LENGTHB utl_http.write_text(http_req, dbms_lob.substr(json_msg, dbms_lob.getLength(json_msg), 1)); http_resp := utl_http.get_response(http_req); IF (http_resp.status_code >= 400) AND (http_resp.status_code <= 499) THEN dbms_output.put_line(http_resp.status_code); ELSE dbms_output.put_line('成功'); END IF; utl_http.end_response(http_resp); END;

沒有留言:

張貼留言