Hi,
I have a NodeJS application which host my REST Webservice to return a PDF document as a Base64 encoded string data. I am calling this web service from APEX using the following code
DECLARE
l_cursor SYS_REFCURSOR;
l_body_clob clob;
l_resp_clob clob;
l_blob BLOB := empty_blob();
--l_blob BLOB;
l_step number := 22500;
BEGIN
DBMS_LOB.OPEN(l_blob, DBMS_LOB.LOB_READONLY);
OPEN l_cursor FOR
SELECT cust.customer_name,
cursor(select
products.product_name
,case
when products.uom_type ='RANGE_VALUE' then
products.range_low||products.uom||'-'||products.range_high||products.uom
else
products.absolute_value||products.uom
end reference_range
from xxdiag.xxeba_patient_order_lines_all lines,
xxdiag.eba_cust_products products,
xxdiag.eba_cust_product_families fam
where orders.order_header_id = lines.order_id
and lines.product_id = products.id
and products.product_family_id = fam.id) lines
FROM xxdiag.eba_cust_customers cust,
xxdiag.xxeba_patient_orders orders
WHERE orders.customer_id = cust.id;
APEX_JSON.initialize_clob_output;
APEX_JSON.open_object;
APEX_JSON.write('orders', l_cursor);
APEX_JSON.close_object;
l_body_clob := APEX_JSON.get_clob_output;
apex_web_service.g_request_headers.delete();
apex_web_service.g_request_headers(1).name := 'Content-Type';
apex_web_service.g_request_headers(1).value := 'application/json';
apex_web_service.g_request_headers(2).name := 'TemplateName';
apex_web_service.g_request_headers(2).value := 'Biochemistry';
l_resp_clob := apex_web_service.make_rest_request(
p_url => '***' - the REST WebService URL
p_http_method => 'POST',
p_body => l_body_clob
);
DBMS_OUTPUT.put_line('Response:'||l_resp_clob);
APEX_JSON.free_output;
END;
But I am not able capture the response. When I call the same web service using soapui I get the response.
Could you please help me?
Thanks,
Mehabub