I installed AOP and have now a little problem. I get the error
ORA-20000: AOP Server can not be found. Check if it is running at http://api.apexofficeprint.com/
when trying to create a template or report.
Oracle Database 18 XE
Apex 20.1
Apex Office Print 20.2
That's a general error you are receiving. This is more of a network issue than AOP.
The first step would be to check if you ACL has been set up properly. You could check this by executing the following through SQL Workshop -> SQL Commands:
select apex_web_service.make_rest_request('http://api.apexofficeprint.com/marco', 'GET') from dual;
if the ACL was configured properly you should get a "polo" string back.
If this does result in an error, you should be able to get the exact HTTP error by executing the following command:
select utl_http.get_detailed_sqlerrm from dual;
You should see something like this:
ORA-29273: HTTP request failed
ORA-06512: at "SYS.UTL_HTTP", line 1577
ORA-24247: network access denied by access control list (ACL)
The code to configure ACL can be found on oracle documentation for 20.1
I've pasted the code below to make it easier. You will need to connect to the database where Oracle Application Express is installed as SYS specifying the SYSDBA role.
BEGIN
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
host => 'api.apexofficeprint.com',
ace => xs$ace_type(privilege_list => xs$name_list('connect'),
principal_name => 'APEX_200100',
principal_type => xs_acl.ptype_db));
END;
/
For completeness I am also hyperlinking it here for other versions of APEX.
: APEX 5.0, APEX 5.1, APEX 18.1, APEX 18.2, APEX 19.1, APEX 19.2
Once this has been setup, you should be able to connect to api.apexofficeprint.com without issues. However please note that you are currently using http protocol which is unsecure and we recommend you to use https.
In order for you to use https, you will have to add the root certificate of AOP server. This blog capture the method in detail.
Furthermore if you have installed the AOP sample application, you can debug connection issues from connection test page (Debugging -> Test Connection). This page will detect the URL you have used for the plugin and allow you to check the connection. This detects ACL, wallet issues, certificate validation issue and if the server is running in the provided URL.
PS: Could it be that you used other email than support#apexofficeprint.com to contact us? I see that one of your email and the feedback were both answered within an hour.
Related
currently I am developing an application based on Oracle ApplicationExpress 18.2 connected with (only for dev) Oracle 11g XE.
One of requirements is to connect apex app with keycloack as openid provider.
I configured my application (i was basing on this tutorial: http://dgielis.blogspot.com/2018/06/facebook-google-and-custom.html ) to connect with keycloak.
The problem is: i am able to sign in (in keycloack i see new session and it is active) but apex is showing error page after redirect from keycloak. In debug log from apex i see that error:
- ora_sqlerrm:
ORA-29273: HTTP request failed ORA-06512: at "SYS.UTL_HTTP", line
1130 ORA-24247: network access denied by access control list (ACL)
What am i doing wrong? Of cource i added some ACLs by calling oracle procedures but it doesnt work.
Result of the query select * from dba_network_acls; in attachment Query Result:
Really looking forward for any help from You.
Regards,
Cezary
I am currently running into issues
ORA-29273: HTTP request failed
ORA-29259: end-of-input reached
when trying to do the begin_request method:
utl_http.set_wallet('','');
v_soap_ep = WALLET_PATH;
utl_http.begin_request(v_soap_ep, 'POST', 'HTTP/1.1');
This issue just started occurring today (Worked yesterday), and no changes to the code happened, although there was a database upgrade from 11g -> 12c. The WALLET_PATH links to a valid address, but the WALLET_PATH links to a 11g database (not 12c). I have little knowledge on this subject, and was wondering if this error was possibly caused by the two different database versions trying to work together.
Note: I put an invalid address into the c_soap_ep variable, and recieved a different error. (So that is why I am thinking there might be a compatability issue). Any thoughts or areas I can check out would be helpful, thanks.
ORA-29273: HTTP request failed
ORA-12545: Connect failed because target host or object does not exist
You can't use 11g wallets in 12c. Because, wallet creation is totally different in 12c as it uses new syntax.
For example:
-- Create
ADMINISTER KEY MANAGEMENT CREATE KEYSTORE 'keystore_location'
IDENTIFIED BY software_keystore_password;
-- Open
ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN
IDENTIFIED BY software_keystore_password;
-- Close
ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE
IDENTIFIED BY software_keystore_password;
So, try creating a new wallet/keystore in 12c then use it for utl_http
May be this is a common problems,but I have googled it and post it in some forums but I still didn't get the answer..
I have a problem with my ACL. I was following this tutorial http://dbtricks.com/?p=159 and everything works fine. But when I made REST web service in Oracle APEX 5.0 and tried to run the service, it gave me error:
ORA-29273: HTTP request failed ORA-06512: at "SYS.UTL_HTTP", line 1130
ORA-24247: network access denied
by access control list (ACL)
I have set the ACL for user APEX_050000.
If anyone has an idea about this, please help me. Thank you.
You could try configuring the ACL for the "default parsing schema" ID; generally the schema that owns the tables; not the APEX schema that contains the application. That solved the issue for us.
You should configure the ACL for the schema that owns the APEX application that you are trying to run.
While installing Oracle 10g software, at the end i got the following error message.
And then when i run SQLPlus.exe I can not sign in using Scott/Tiger username/password. I get this error message
"ORA-12560: TNS:protocol adapter error"
Whats the issue?
Also, At the end of installation, i get this screen which says Database Control URL is .......... iSQLPlus url is ......
but when I copy/paste this url in the browser i get
Network Error (dns_unresolved_hostname)
Your requested host "imccit101.imcc.ae" could not be resolved by DNS.
For assistance, contact your network support team.
What are these url's for and how can I use them?
You can check whether you have the necessary services installed related to oracle. There should be service for the oracle instance and Tnslistner. If you have them try start them manually.
I have a problem with APEX. We have two servers. One (with running Oracle APEX) is the university server, which we have only access to the workspace. The other is my Linux Computer at home, which acts as a server (running Tomcat with Jasperreports container). I want to send a UTL_HTTP request from the APEX machine to the Jasperreports machine. There is a button, which triggers a process with following code:
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;
After 20 to 30 seconds after I pushed the triggering button I get following errormessage:
ORA-29273: HTTP request failed ORA-06512: at "SYS.UTL_HTTP", line 1029 ORA-12535: TNS:operation timed out
I checked the set_report_url function by setting a common url . And it worked. Does anyone have a clue?
Thanks in advance,
Haniball
The latter version of Oracle have Network ACL security, so it might be that the schema owner doesn't have privileges to access that particular URL. However I'd expect a security violation for that.
Another alternative is that it is being blocked by a firewall between the database server and your home machine. It is possible (likely) that the database server machine has been set up to only allow a small list of sites to be accessed (or none at all). You may also have a firewall on your home machine that prevents access from machines not on a list of IP addresses/ranges.
Try some basic UTL_HTTP actions against a variety of sites (eg the google.com home page), and see what response you get.
Missed the obvious UTL_HTTP.set_transfer_timeout. It may be that the job takes a bit too long at the home server.