我正在尝试通过APEX动态操作启动jasperreports(在jaspersoft服务器上)。当我执行此操作时,我收到一个错误:
即使我只是尝试登录
DECLARE
v_blob BLOB;
v_file_name VARCHAR2 (25) := 'TestReport.pdf';
v_vcContentDisposition VARCHAR2 (25) := 'inline';
v_invoice_id VARCHAR2(10) := :INVOICE_ID; -- your NumberField Item
v_hostname VARCHAR2(30) := #HOST#; -- your hostname, eg: localhost
v_port NUMBER := #PORT#; -- port for your JasperReports Server, eg: 8081
v_username VARCHAR2(50) := 'jasperadmin'; -- jasperreports server username
v_password VARCHAR2(50) := 'jasperadmin'; -- jaspereports server password
v_jasper_string VARCHAR2(30) := v_username || ';' || v_password;
v_login_url VARCHAR2(100) :=
'http://' || v_hostname || ':' || v_port || '/jasperserver/rest/login';
v_report_url VARCHAR2(100) :=
'http://' || v_hostname || ':' || v_port || '/jasperserver/rest_v2/reports/Reports/' || v_file_name;
BEGIN
-- log into jasper server
v_blob := apex_web_service.make_rest_request_b(
p_url => v_login_url,
p_http_method => 'GET',
p_parm_name => apex_util.string_to_table('j_username;j_password',';'),
p_parm_value => apex_util.string_to_table(v_jasper_string,';')
); APEX_APPLICATION.STOP_APEX_ENGINE;
EXCEPTION
WHEN OTHERS THEN
RAISE;
END;
APEX和JasperServer在不同的端口上。
您是否已将目标ip:port添加到ACL?
https://docs.oracle.com/database/121/ARPLS/d_networkacl_adm.htm#ARPLS148