Forum Stats

  • 3,824,914 Users
  • 2,260,439 Discussions
  • 7,896,345 Comments

Discussions

Not able to access ORDS , APEX via tomcat webserver on Oracle 21c XE DB

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.

Tagged: