2011-01-09 6 views
1

APEX에 문제가 있습니다. 두 개의 서버가 있습니다. 하나는 (Oracle APEX 실행과 함께) 우리가 작업 공간에만 액세스 할 수있는 대학 서버입니다. 다른 하나는 Jasperreports 컨테이너가있는 Tomcat을 실행하는 서버 역할을하는 집에있는 Linux 컴퓨터입니다. APEX 시스템에서 Jasperreports 시스템으로 UTL_HTTP 요청을 보내려고합니다.Oracle APEX에서 UTL_HTTP 패키지의 문제점

ORA-29273 : HTTP 요청이 ORA-06512 실패 내가 ErrorMessage가 다음 얻을 트리거 버튼을 누르면 후 20 ~ 30 초 후에

 
begin 
    xlib_jasperreports.set_report_url('http://X.X.X.X:8080/JasperReportsIntegration/report'); 
    xlib_jasperreports.show_report (p_rep_name => :p5_rep_name, 
            p_rep_format => :p5_rep_format, 
            p_data_source => :p5_data_source, 
            p_out_filename => :p5_out_filename, 
            p_rep_locale => :p5_rep_locale, 
            p_rep_encoding => :p5_rep_encoding, 
            p_additional_params => :p5_additional_params); 

    -- stop rendering of the current APEX page 
    apex_application.g_unrecoverable_error := true; 
end; 

: 다음 코드를 사용하여 프로세스를 트리거 버튼이 있습니다 : "SYS.UTL_HTTP", 줄 1029 ORA-12535 : TNS : 작업 시간 초과

일반적인 URL을 설정하여 set_report_url 함수를 확인했습니다. 그리고 효과가있었습니다. 누구는 단서가 있습니까? 사전에

감사합니다, Haniball

답변

1

오라클의 후자의 버전은 네트워크 ACL 보안을 가지고, 그래서 스키마 소유자가 특정 URL에 액세스 할 수있는 권한을 가지고 있지 않습니다 수 있습니다. 그러나 나는 그것에 대한 보안 위반을 기대합니다.

또 다른 대안은 데이터베이스 서버와 집 컴퓨터 간의 방화벽에 의해 차단되고 있다는 것입니다. 데이터베이스 서 v 머신이 작은 사이트 목록에 액세스 할 수 있도록 (또는 아 + 것도) 허용되도록 설정되었을 가능성이 있습니다 (가능한 경우). 홈 컴퓨터에 IP 주소/범위 목록에없는 컴퓨터에서 액세스하지 못하도록하는 방화벽이있을 수도 있습니다.

다양한 사이트 (예 : google.com 홈 페이지)에 대해 몇 가지 기본 UTL_HTTP 작업을 시도하고 어떤 응답을 받을지 확인하십시오.


명백한 UTL_HTTP.set_transfer_timeout을 놓쳤습니다. 홈 서버에서 작업이 너무 오래 걸릴 수도 있습니다.

+1

적절한 오류 메시지가 표시되므로 ACL이 될 수 없습니다. –

관련 문제