Problem mit UTL_HTTP-Package in Oracle APEX
Ich habe ein problem mit APEX. Wir haben zwei Server. (Läuft mit Oracle APEX) ist auf den Uni-server, was haben wir nur Zugriff auf den Arbeitsbereich. Der andere ist mein Linux-Rechner zu Hause, der als server fungiert (running Tomcat mit Jasperreports container). Ich möchte senden Sie ein UTL_HTTP Anfrage von der SPITZE der Maschine zu den Jasperreports-Maschine. Dort gibt es einen button, der löst einen Prozess aus, mit dem folgenden code:
beginnen 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 der aktuellen APEX-Seite apex_application.g_unrecoverable_error := true; end;
Nach 20 bis 30 Sekunden, nachdem ich schob die auslösende Taste, bekomme ich folgende Fehlermeldung:
ORA-29273: HTTP-Anforderung ist fehlgeschlagen ORA-06512: at "SYS.UTL_HTTP", Zeile 1029 ORA-12535: TNS:operation timed out
Überprüfte ich die set_report_url Funktion durch die Festlegung einer gemeinsamen url . Und es hat funktioniert. Hat jemand eine Ahnung?
Vielen Dank im Voraus,
Haniball
InformationsquelleAutor Haniball | 2011-01-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Letztere version von Oracle Netzwerk-ACL-Sicherheit, so könnte es sein, dass der schema-Besitzer nicht über Berechtigungen für den Zugriff auf diese bestimmte URL. Allerdings würde ich erwarten, dass eine Sicherheits-Verletzung.
Andere alternative ist, dass es ist blockiert durch eine firewall zwischen Datenbank-server und Ihrem Rechner zu Hause. Es ist möglich (wahrscheinlich), dass der Datenbank-server-Maschine einrichten, dass nur eine kleine Liste von Websites, auf die zugegriffen werden (oder gar keine). Sie können auch eine firewall auf Ihrem Rechner zu Hause, die verhindert den Zugriff von Maschinen auf eine Liste von IP-Adressen/- Bereiche.
Versuchen, einige grundlegende UTL_HTTP Aktionen gegen eine Vielzahl von Websites (zB die google.com home-Seite) und sehen, welche Antwort Sie erhalten.
Verpasste die offensichtliche UTL_HTTP.set_transfer_timeout. Kann es sein, dass der job dauert ein bisschen zu lange auf die home-server.
InformationsquelleAutor Gary Myers