Hello Masters,
I have an issue with accessing ORDS and APEX installations via Tomcat web server.
I guess I am missing with some configuration steps but not able to recollect so need expert advise.
Setup:
Database: Oracle 21c XE
Web server: Apache Tomcat 9.0
ORDS: ORDS 22.1
Apex: Apex 22.1
OS: Windows 10
All above mentioned setup softwares are mentioned in the localhost windows system.
1. Oracle Database 21c is installed successfully.
As a part of Apex installation, have unlocked the below users and identified with simple password.
Logged in as SYS as SYSDBA user
ALTER SESSION SET CONTAINER=XEPDB1;
ALTER USER APEX_LISTENER IDENTIFIED BY manager ACCOUNT UNLOCK;
ALTER USER APEX_PUBLIC_USER IDENTIFIED BY manager ACCOUNT UNLOCK;
ALTER USER APEX_REST_PUBLIC_USER IDENTIFIED BY manager ACCOUNT UNLOCK;
ALTER USER ORDS_PUBLIC_USER IDENTIFIED BY manager ACCOUNT UNLOCK;
ALTER USER ORDS_METADATA IDENTIFIED BY manager ACCOUNT UNLOCK;
Enabled Schema and Object:
BEGIN
ORDS.ENABLE_SCHEMA( p_enabled => TRUE,
p_schema => 'DENTOSYS_DEV',
p_url_mapping_type => 'BASE_PATH',
p_url_mapping_pattern => 'DENTOSYS_DEV',
p_auto_rest_auth => TRUE);
COMMIT;
END;
/
BEGIN
ords.enable_object(
p_enabled => TRUE,
p_schema => 'DENTOSYS_DEV',
p_object => 'VW_MATERIAL_DTLS',
p_object_type => 'VIEW',
p_object_alias => 'VW_MATERIAL_DTLS',
p_auto_rest_auth => FALSE);
commit;
END;
/
2. Oracle Apex 22.1 is installed successfully. But not sure how to access the admin services page as port is not mentioned in the log.
I have copied the ords.war with name apex.war in webapps folder.
Also copied the apex images folder to webapps\i\ folder.
Problem:
1. When Tomcat is started, I am not able to access apex via below URL.
http://localhost:8080/apex
Here is log file tail output for reference-
Thank you for installing Oracle APEX 22.1.0
Oracle APEX is installed in the APEX_220100 schema.
The structure of the link to the Oracle APEX administration services is as follows:
http://host:port/ords/apex_admin
The structure of the link to the Oracle APEX development interface is as follows:
http://host:port/ords
3. Apache Tomcat 9.0 is installed successfully and able to launch the welcome page on port 8080 in browser.
http://localhost:8080/
4. ORDS 22.1 is installed successfully using below command.
ords --config C:\ords_config\ords install --interactive --log-folder C:\ords_config\ords\logs
Followed this web page for guidelines-
https://oracle-base.com/articles/misc/oracle-rest-data-services-ords-installation-on-tomcat-22-onward
https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/22.1/ordig/installing-and-configuring-oracle-rest-data-services.html#GUID-8580F2DC-8D8F-47A0-A733-E1BF07CA27A6
Problem:
1. Able to launch the ORDS service in standalone mode but not through the tomcat server via below URL.
http://localhost:8080/ords
Error: 404 Not Found
The request could not be mapped to any database. Check the request URL is correct, and that URL to database mappings have been correctly configured
To resolve this, I had tried to REST enable the schema and one object but didnt help much.
2. Pool is not configured as doc_root folder is not present or created by mistake. So getting the error for account is locked.
java -jar ..\webapps\apex.war serve
2022-06-16T15:39:44.437Z INFO HTTP and HTTP/2 cleartext listening on host: 0.0.0.0 port: 8080
2022-06-16T15:39:44.469Z INFO Disabling document root because the specified folder does not exist: C:\ords_config\ords\global\doc_root
2022-06-16T15:39:56.052Z WARNING The pool named: |default|lo| is invalid and will be ignored: The username or password for the connection pool named |default|lo|, are invalid, expired, or the account is locked
2022-06-16T15:39:56.165Z INFO Oracle REST Data Services initialized
Oracle REST Data Services version : 22.1.1.r1331148
Oracle REST Data Services server info: jetty/9.4.46.v20220331
Oracle REST Data Services java info: Java HotSpot(TM) 64-Bit Server VM 17.0.3.1+2-LTS-6
Caused by: oracle.dbtools.common.jdbc.ConnectionPoolConfigurationException: The username or password for the connection pool named |default|lo|, are invalid, expired, or the account is locked
Here is my Config dir= C:\ords_config\ords\ords.properties file>
db.hostname=localhost
db.port=1521
db.servicename=XEPDB1
db.sid=XEPDB1
db.username=APEX_PUBLIC_USER
migrate.apex.rest=false
rest.services.apex.add=true
rest.services.ords.add=true
schema.tablespace.default=SYSAUX
schema.tablespace.temp=TEMP
standalone.http.port=8080
#standalone.static.images=
user.tablespace.default=USERS
user.tablespace.temp=TEMP
I guess ORDS is configured with default port 8080 same as Tomcat server. Is this a problem here?
Please let me know what needs to be corrected to make ORDS and Apex accessible via Tomcat web server.