Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

podman-dev

podman-compose --env-file .env up

NOTES:

General

  • I'm not using podman secrets, nor am I exporting anything prior to issuing this command.
  • I've tested with the official oracle db/latest (as of ~July 2025); not Gerald's. So, I'm not sure what his entrypoint.sh script looks like. the test_database function could probably be added to his file though. Untested, not sure at all though!!

Weblogic Overview

  • Having tested the Remote Console, it doesn't the user with a lot of actionable insight. In a final (i.e., "I'm going to give up after this, after 3 days of diagnosing...") attempt I explicilty set the PRODUCTION_MODE=dev and in the Provider Information for the Remote Console (for establishing a connection to the Admin Server), I used the following values1:

ORDS

Updating the ORDS configuration

ORDS .war file contents

The ords.war contains the following:

```shell
.
β”œβ”€β”€ META-INF
β”‚Β Β  β”œβ”€β”€ MANIFEST.MF
β”‚Β Β  β”œβ”€β”€ ORACLE_C.RSA
β”‚Β Β  └── ORACLE_C.SF
β”œβ”€β”€ oracle
β”‚Β Β  └── dbtools
β”‚Β Β      └── launcher
β”‚Β Β          β”œβ”€β”€ CommandLineParser.class
β”‚Β Β          β”œβ”€β”€ executable
β”‚Β Β          β”‚Β Β  └── jar
β”‚Β Β          β”‚Β Β      β”œβ”€β”€ Builder.class
β”‚Β Β          β”‚Β Β      β”œβ”€β”€ ExecutableJar.class
β”‚Β Β          β”‚Β Β      β”œβ”€β”€ ExecutableJar$1.class
β”‚Β Β          β”‚Β Β      β”œβ”€β”€ ExecutableJarEntrypoint.class
β”‚Β Β          β”‚Β Β      β”œβ”€β”€ ExtensionLibraryClassLoader.class
β”‚Β Β          β”‚Β Β      β”œβ”€β”€ HandlerFactory.class
β”‚Β Β          β”‚Β Β      β”œβ”€β”€ HasSize.class
β”‚Β Β          β”‚Β Β      β”œβ”€β”€ JarManifest.class
β”‚Β Β          β”‚Β Β      β”œβ”€β”€ JarManifest$Builder.class
β”‚Β Β          β”‚Β Β      β”œβ”€β”€ JarManifest$Section.class
β”‚Β Β          β”‚Β Β      β”œβ”€β”€ JarManifest$Section$Builder.class
β”‚Β Β          β”‚Β Β      β”œβ”€β”€ JarProcessor.class
β”‚Β Β          β”‚Β Β      β”œβ”€β”€ MutatedZip.class
β”‚Β Β          β”‚Β Β      β”œβ”€β”€ NestedJarClassLoader.class
β”‚Β Β          β”‚Β Β      β”œβ”€β”€ NestedJarClassLoader$AlsoClose.class
β”‚Β Β          β”‚Β Β      β”œβ”€β”€ NestedJarClassLoader$Archive.class
β”‚Β Β          β”‚Β Β      β”œβ”€β”€ NestedJarClassLoader$ArchiveConnection.class
β”‚Β Β          β”‚Β Β      β”œβ”€β”€ NestedResourceHandler.class
β”‚Β Β          β”‚Β Β      β”œβ”€β”€ OracleHomeClassLoader.class
β”‚Β Β          β”‚Β Β      β”œβ”€β”€ Resource.class
β”‚Β Β          β”‚Β Β      β”œβ”€β”€ Resource$ContentStream.class
β”‚Β Β          β”‚Β Β      β”œβ”€β”€ ResourceBuilder.class
β”‚Β Β          β”‚Β Β      β”œβ”€β”€ Resources.class
β”‚Β Β          β”‚Β Β      └── Resources$Builder.class
β”‚Β Β          β”œβ”€β”€ Launcher.class
β”‚Β Β          β”œβ”€β”€ Launcher$Builder.class
β”‚Β Β          β”œβ”€β”€ Launcher$MainClassNotSpecifiedException.class
β”‚Β Β          └── zip
β”‚Β Β              β”œβ”€β”€ Bytes.class
β”‚Β Β              β”œβ”€β”€ Bytes$BytesBuffer.class
β”‚Β Β              β”œβ”€β”€ Bytes$BytesSubRange.class
β”‚Β Β              β”œβ”€β”€ Bytes$FileRanges.class
β”‚Β Β              β”œβ”€β”€ Bytes$HexDump.class
β”‚Β Β              β”œβ”€β”€ Bytes$MappedBytes.class
β”‚Β Β              β”œβ”€β”€ Bytes$ScopedSegmentFactory.class
β”‚Β Β              β”œβ”€β”€ Bytes$ScopedSegmentFactory$ScopedSegment.class
β”‚Β Β              β”œβ”€β”€ Bytes$SharedBytes.class
β”‚Β Β              β”œβ”€β”€ Bytes$SubRange.class
β”‚Β Β              β”œβ”€β”€ BytesRange.class
β”‚Β Β              β”œβ”€β”€ CompressedStream.class
β”‚Β Β              β”œβ”€β”€ EZipBuilder.class
β”‚Β Β              β”œβ”€β”€ EZipBuilder$StorageMethod.class
β”‚Β Β              β”œβ”€β”€ ZipConstants.class
β”‚Β Β              β”œβ”€β”€ ZipIndex.class
β”‚Β Β              β”œβ”€β”€ ZipItem.class
β”‚Β Β              β”œβ”€β”€ ZipLocation.class
β”‚Β Β              β”œβ”€β”€ ZipLocations.class
β”‚Β Β              β”œβ”€β”€ ZipOutputStream.class
β”‚Β Β              β”œβ”€β”€ ZipOutputStream$XEntry.class
β”‚Β Β              β”œβ”€β”€ Zips.class
β”‚Β Β              └── ZipUtils.class
└── WEB-INF
    β”œβ”€β”€ beans.xml
    β”œβ”€β”€ classes
    β”œβ”€β”€ lib
    β”‚Β Β  β”œβ”€β”€ analysisCore-20.3.1.187.jar
    β”‚Β Β  β”œβ”€β”€ analysisJdbc-20.3.1.187.jar
    β”‚Β Β  β”œβ”€β”€ angus-activation-2.0.2.jar
    β”‚Β Β  β”œβ”€β”€ antlr4-runtime-4.13.2.jar
    β”‚Β Β  β”œβ”€β”€ aopalliance-repackaged-2.6.1.jar
    β”‚Β Β  β”œβ”€β”€ autoupgrade-plugin-25.1.0.099.1519.jar
    β”‚Β Β  β”œβ”€β”€ bson-5.3.1.jar
    β”‚Β Β  β”œβ”€β”€ caffeine-3.2.0.jar
    β”‚Β Β  β”œβ”€β”€ commons-codec-1.11.jar
    β”‚Β Β  β”œβ”€β”€ commons-compress-1.27.1.jar
    β”‚Β Β  β”œβ”€β”€ commons-fileupload-1.5.jar
    β”‚Β Β  β”œβ”€β”€ commons-io-2.19.0.jar
    β”‚Β Β  β”œβ”€β”€ commons-logging-1.2.jar
    β”‚Β Β  β”œβ”€β”€ dbtools-arbori-25.2.0.157.0951.jar
    β”‚Β Β  β”œβ”€β”€ dbtools-common-25.2.0.157.0951.jar
    β”‚Β Β  β”œβ”€β”€ dbtools-core-25.2.0.157.0951.jar
    β”‚Β Β  β”œβ”€β”€ dbtools-modeler-common-25.2.0.157.0951.jar
    β”‚Β Β  β”œβ”€β”€ dbtools-oci-25.2.0.157.0951.jar
    β”‚Β Β  β”œβ”€β”€ dbtools-ucp-25.2.0.157.0951.jar
    β”‚Β Β  β”œβ”€β”€ georasterapi-repackaged-25.2.jar
    β”‚Β Β  β”œβ”€β”€ guava-33.4.8-jre.jar
    β”‚Β Β  β”œβ”€β”€ hk2-api-2.6.1.jar
    β”‚Β Β  β”œβ”€β”€ hk2-locator-2.6.1.jar
    β”‚Β Β  β”œβ”€β”€ hk2-utils-2.6.1.jar
    β”‚Β Β  β”œβ”€β”€ httpclient-4.5.13.jar
    β”‚Β Β  β”œβ”€β”€ httpcore-4.4.13.jar
    β”‚Β Β  β”œβ”€β”€ istack-commons-runtime-4.1.2.jar
    β”‚Β Β  β”œβ”€β”€ jackson-datatype-jsr310-2.17.2.jar
    β”‚Β Β  β”œβ”€β”€ jackson-module-jaxb-annotations-2.12.2.jar
    β”‚Β Β  β”œβ”€β”€ jackson-repackaged-2.18.3.jar
    β”‚Β Β  β”œβ”€β”€ jakarta.activation-api-2.1.3.jar
    β”‚Β Β  β”œβ”€β”€ jakarta.annotation-api-2.1.1.jar
    β”‚Β Β  β”œβ”€β”€ jakarta.inject-2.6.1.jar
    β”‚Β Β  β”œβ”€β”€ jakarta.inject-api-2.0.1.jar
    β”‚Β Β  β”œβ”€β”€ jakarta.json-api-2.1.1.jar
    β”‚Β Β  β”œβ”€β”€ jakarta.servlet-api-4.0.4.jar
    β”‚Β Β  β”œβ”€β”€ jakarta.ws.rs-api-2.1.6.jar
    β”‚Β Β  β”œβ”€β”€ jakarta.xml.bind-api-4.0.2.jar
    β”‚Β Β  β”œβ”€β”€ jansi-2.4.1.jar
    β”‚Β Β  β”œβ”€β”€ javassist-3.25.0-GA.jar
    β”‚Β Β  β”œβ”€β”€ javax.activation-api-1.2.0.jar
    β”‚Β Β  β”œβ”€β”€ javax.annotation-api-1.3.2.jar
    β”‚Β Β  β”œβ”€β”€ jaxb-core-4.0.5.jar
    β”‚Β Β  β”œβ”€β”€ jaxb-runtime-4.0.5.jar
    β”‚Β Β  β”œβ”€β”€ jersey-apache-connector-2.35.jar
    β”‚Β Β  β”œβ”€β”€ jersey-client-2.35.jar
    β”‚Β Β  β”œβ”€β”€ jersey-common-2.35.jar
    β”‚Β Β  β”œβ”€β”€ jersey-entity-filtering-2.35.jar
    β”‚Β Β  β”œβ”€β”€ jersey-hk2-2.35.jar
    β”‚Β Β  β”œβ”€β”€ jersey-media-json-jackson-2.35.jar
    β”‚Β Β  β”œβ”€β”€ jetty-alpn-client-12.0.18.jar
    β”‚Β Β  β”œβ”€β”€ jetty-alpn-server-12.0.18.jar
    β”‚Β Β  β”œβ”€β”€ jetty-client-12.0.18.jar
    β”‚Β Β  β”œβ”€β”€ jetty-ee8-nested-12.0.18.jar
    β”‚Β Β  β”œβ”€β”€ jetty-ee8-security-12.0.18.jar
    β”‚Β Β  β”œβ”€β”€ jetty-ee8-servlet-12.0.18.jar
    β”‚Β Β  β”œβ”€β”€ jetty-http-12.0.18.jar
    β”‚Β Β  β”œβ”€β”€ jetty-http2-client-12.0.18.jar
    β”‚Β Β  β”œβ”€β”€ jetty-http2-common-12.0.18.jar
    β”‚Β Β  β”œβ”€β”€ jetty-http2-hpack-12.0.18.jar
    β”‚Β Β  β”œβ”€β”€ jetty-http2-server-12.0.18.jar
    β”‚Β Β  β”œβ”€β”€ jetty-io-12.0.18.jar
    β”‚Β Β  β”œβ”€β”€ jetty-rewrite-12.0.18.jar
    β”‚Β Β  β”œβ”€β”€ jetty-schemas-4.0.3.jar
    β”‚Β Β  β”œβ”€β”€ jetty-security-12.0.18.jar
    β”‚Β Β  β”œβ”€β”€ jetty-server-12.0.18.jar
    β”‚Β Β  β”œβ”€β”€ jetty-servlet-api-4.0.6.jar
    β”‚Β Β  β”œβ”€β”€ jetty-session-12.0.18.jar
    β”‚Β Β  β”œβ”€β”€ jetty-util-12.0.18.jar
    β”‚Β Β  β”œβ”€β”€ jetty-xml-12.0.18.jar
    β”‚Β Β  β”œβ”€β”€ mockito-inline-4.9.0.jar
    β”‚Β Β  β”œβ”€β”€ oci-java-sdk-bastion-3.57.1.jar
    β”‚Β Β  β”œβ”€β”€ oci-java-sdk-circuitbreaker-3.57.1.jar
    β”‚Β Β  β”œβ”€β”€ oci-java-sdk-common-3.57.1.jar
    β”‚Β Β  β”œβ”€β”€ oci-java-sdk-common-httpclient-3.57.1.jar
    β”‚Β Β  β”œβ”€β”€ oci-java-sdk-common-httpclient-jersey-3.57.1.jar
    β”‚Β Β  β”œβ”€β”€ oci-java-sdk-database-3.57.1.jar
    β”‚Β Β  β”œβ”€β”€ oci-java-sdk-databasetools-3.57.1.jar
    β”‚Β Β  β”œβ”€β”€ oci-java-sdk-identity-3.57.1.jar
    β”‚Β Β  β”œβ”€β”€ oci-java-sdk-monitoring-3.57.1.jar
    β”‚Β Β  β”œβ”€β”€ oci-java-sdk-objectstorage-3.57.1.jar
    β”‚Β Β  β”œβ”€β”€ oci-java-sdk-objectstorage-extensions-3.57.1.jar
    β”‚Β Β  β”œβ”€β”€ oci-java-sdk-objectstorage-generated-3.57.1.jar
    β”‚Β Β  β”œβ”€β”€ oci-java-sdk-secrets-3.57.1.jar
    β”‚Β Β  β”œβ”€β”€ oci-java-sdk-workrequests-3.57.1.jar
    β”‚Β Β  β”œβ”€β”€ ojdbc11-23.7.0.25.01.jar
    β”‚Β Β  β”œβ”€β”€ ojmisc-11.2.0.4.0.jar
    β”‚Β Β  β”œβ”€β”€ ons-23.7.0.25.01.jar
    β”‚Β Β  β”œβ”€β”€ opentelemetry-api-1.41.0.jar
    β”‚Β Β  β”œβ”€β”€ opentelemetry-context-1.41.0.jar
    β”‚Β Β  β”œβ”€β”€ oraclepki-23.7.0.25.01.jar
    β”‚Β Β  β”œβ”€β”€ orai18n-23.7.0.25.01.jar
    β”‚Β Β  β”œβ”€β”€ orai18n-mapping-23.3.0.0.0.jar
    β”‚Β Β  β”œβ”€β”€ orai18n-utility-23.3.0.0.0.jar
    β”‚Β Β  β”œβ”€β”€ orajsoda-1.1.30.jar
    β”‚Β Β  β”œβ”€β”€ oraml-core-250609.jar
    β”‚Β Β  β”œβ”€β”€ oraml-jetty-250609.jar
    β”‚Β Β  β”œβ”€β”€ orarestsoda-1.1.30.jar
    β”‚Β Β  β”œβ”€β”€ ords-adp-analytics-client-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-adp-analytics-server-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-adp-avd-client-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-adp-avd-server-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-adp-di-client-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-adp-di-server-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-adp-ins-client-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-adp-ins-server-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-adp-lineage-client-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-adp-lineage-server-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-adp-odimp-client-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-adp-odimp-server-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-apex-support-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-auth-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-cache-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-cmdline-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-common-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-common-ui-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-conf-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-db-api-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-db-common-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-embed-api-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-entry-point-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-filtering-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-graphql-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-http-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-icap-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-injector-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-installer-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-instance-api-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-jdbc-pool-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-jet-resources-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-json-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-landing-page-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-metrics-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-oauth-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-plsql-gateway-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-plugin-api-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-plugin-apt-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-rest-enabled-sql-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-rest-services-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-sdw-client-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-sdw-server-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-service-console-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-sign-in-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-soda-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-standalone-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-static-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-static-shared-libs-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-url-mapping-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ ords-web-client-25.2.0.165.1520.jar
    β”‚Β Β  β”œβ”€β”€ osgi-resource-locator-1.0.3.jar
    β”‚Β Β  β”œβ”€β”€ parsson-1.1.7.jar
    β”‚Β Β  β”œβ”€β”€ resilience4j-circuitbreaker-1.7.1.jar
    β”‚Β Β  β”œβ”€β”€ resilience4j-core-1.7.1.jar
    β”‚Β Β  β”œβ”€β”€ sdoapi-25.2.jar
    β”‚Β Β  β”œβ”€β”€ sdodep3prt-25.2.jar
    β”‚Β Β  β”œβ”€β”€ sdordf-25.1.jar
    β”‚Β Β  β”œβ”€β”€ sdordf-client-25.1.jar
    β”‚Β Β  β”œβ”€β”€ sdordf-ords-25.1.jar
    β”‚Β Β  β”œβ”€β”€ sdoutl-25.2.jar
    β”‚Β Β  β”œβ”€β”€ slf4j-api-2.0.13.jar
    β”‚Β Β  β”œβ”€β”€ sshd-osgi-2.13.2.jar
    β”‚Β Β  β”œβ”€β”€ ucp11-23.7.0.25.01_37536533.jar
    β”‚Β Β  β”œβ”€β”€ vavr-0.10.2.jar
    β”‚Β Β  β”œβ”€β”€ vavr-match-0.10.2.jar
    β”‚Β Β  β”œβ”€β”€ xdb-23.7.0.25.01.jar
    β”‚Β Β  └── xmlparserv2_sans_jaxp_services-23.7.0.25.01.jar
    β”œβ”€β”€ web.xml
    └── weblogic.xml
```

Note

A .war file is bascially just a .zip file, so I'm not disclosing anything new or novel here. Anybody with the abiltity to change the file extension from .war to .zip can do this, and uncompress the file.

"WebLogic Server supports deployments that are packaged either as archive files using the jar utility or Ant's jar tool, or as exploded archive directories."2 In the above file "tree" you'll see the exploded archive directories and its files.

For the purposes of WebLogic, all we care about are the beans.xml, web.xml, and weblogic.xml files. Even still, all you are concerned with is the web.xml file. Otherwise known as a "Deployment Descriptor."3 Your ORDS installation will also have a weblogic.xml file-- another kind of Deployment Descriptor--but you do not need to modify this file.

The web.xml file

An unmodified version of ORDS will contain a web.xml file such as this:

<?xml version="1.0" encoding="UTF-8"?>
<web-app
    metadata-complete="true"
    version="3.1" 
    id="ORDS"
    xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
    <display-name>Oracle REST Data Services</display-name>

    <context-param>
        <param-name>version</param-name>
        <param-value>25.2.0.r1651520</param-value>
    </context-param>
    
    <listener>
        <listener-class>oracle.dbtools.entrypoint.WebApplicationEntryPoint</listener-class>
    </listener>

    <servlet>
        <description>
        </description>
        <display-name>HttpEndPoint</display-name>
        <servlet-name>HttpEndPoint</servlet-name>
        <servlet-class>oracle.dbtools.entrypoint.WebApplicationRequestEntryPoint</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>HttpEndPoint</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>

    <servlet>
        <description>
        </description>
        <display-name>Forbidden</display-name>
        <servlet-name>Forbidden</servlet-name>
        <servlet-class>oracle.dbtools.entrypoint.Forbidden</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>Forbidden</servlet-name>
        <url-pattern>/oracle/dbtools/jarcl</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
    </welcome-file-list>

<!-- Disable auto-discovery of servlet 3+ web fragments -->
<absolute-ordering /> 
</web-app>

Defining an ORDS configuration directory

About

You must define the location of the ORDS configuration directory by either:

  1. manually adding it as <context-param> to this web.xml file and re-archiving the exploded archive into a new ords.war file (HIGHLY DISCOURAGED)
  2. using the ords war command
  3. Set the config.url system property (i.e., the system where Weblogic is deployed, and prior to starting the WebLogic Server) with this command: export JAVA_OPTIONS="-Dconfig.url=/path/to/ords_config"
Steps to generate new ords.war file
  1. Copy the ords product folder to your WebLogic server
  2. Create an empty ORDS configuration folder (e.g. ords_config)4
  3. Navigate to your ORDS product folder (unzip if not zipped), and navigate to the /bin folder
  1. You'll need to temporarily set your $PATH to the ORDS /bin, like this:

    PATH=/path to your ords product folder/bin:$PATH
    export PATH
  2. Then, cd to your ords_config folder and execute the following command:

    ords war [/path/to/your/existing/ords.war]

Note

You can optionally create a new name for the recreated ords.war file (so as not to overwrite the original ords.war file) like this:

ords war my_new_file_name.war [/path/to/your/existing/ords.war]
  1. Your new ords.war file will be located in your current directory. You can inspect it's web.xml file by issuing the following command:

    jar -xf my_new_war_for_wls.war

*** UPDATE WITH THE FOLLOWING ***

Install Ords and make sure APEX is already installed
Run below commands as pre-requisite for APEX and DbAction area
./ords_files/bin/ords --config `pwd`/config config user add ords_user_auth_code 'auth.code.role'
./ords_files/bin/ords --config `pwd`/config config user add ords_user_implicit 'implicit.role'
./ords_files/bin/ords --config `pwd`/config config set --global feature.sdw.selfServiceSchema true
./ords_files/bin/ords --config `pwd`/config config set security.verifySSL false
Generate new war file having information about config directory using war command
./ords_files/bin/ords --config `pwd`/config war `pwd`/ords.war
Create a directory WEB-INF with the following files:
web.xml Expand source

weblogic.xml Expand source
Create i.war file using following command
jar cMf i.war WEB-INF/web.xml WEB-INF/weblogic.xml
Go to weblogic_install_directory/user_projects/domains/base_domain and start weblogic server by executing ./startWebLogic.sh
Go to location where Weblogic Remote console files are unzipped.
Launch the WebLogic Remote Console by using ./weblogic-remote-console and login
Go to Edit Tree Option of WebLogic Remote Console Home Page.
a. Deployement ->name ords ->choose ords.war->click on create-> click on cart icon and commit changes.
b. Repeat above steps for i.war
c. Go to monitoring tree-> deployment-> app management-> start both ords.war and i.war
d. Go to monitoring tree-> deployment->deployement task and monitor deployment
Check localhost:7002/ords/_/landing to check ords landing page

*** UPDATE WITH THE FOLLOWING ***

Review new ords.war file
  1. Issue the ls command and you should see two objects:

    • the new .war file, and
    • a WEB-INF directory

    cd into the WEB-INF directory. A web.xml file will be visible. You can cat the file to review its contents.

  2. After issuing the cat web.xml command, you'll see something resembling the following sample web.xml:

    <?xml version="1.0" encoding="UTF-8" standalone="no"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="ORDS" metadata-complete="true" version="3.1" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
        <display-name>Oracle REST Data Services</display-name>
    
        <context-param>
            <param-name>config.url</param-name>
            <param-value>/path/to/ords_config</param-value>
        </context-param><context-param>
            <param-name>version</param-name>
            <param-value>XX.X.X.r1234567</param-value>
        </context-param>
        
        <listener>
            <listener-class>oracle.dbtools.entrypoint.WebApplicationEntryPoint</listener-class>
        </listener>
    
        <servlet>
            <description>
            </description>
            <display-name>HttpEndPoint</display-name>
            <servlet-name>HttpEndPoint</servlet-name>
            <servlet-class>oracle.dbtools.entrypoint.WebApplicationRequestEntryPoint</servlet-class>
        </servlet>
    
        <servlet-mapping>
            <servlet-name>HttpEndPoint</servlet-name>
            <url-pattern>/*</url-pattern>
        </servlet-mapping>
    
        <servlet>
            <description>
            </description>
            <display-name>Forbidden</display-name>
            <servlet-name>Forbidden</servlet-name>
            <servlet-class>oracle.dbtools.entrypoint.Forbidden</servlet-class>
        </servlet>
    
        <servlet-mapping>
            <servlet-name>Forbidden</servlet-name>
            <url-pattern>/oracle/dbtools/jarcl</url-pattern>
        </servlet-mapping>
    
        <welcome-file-list>
            <welcome-file>index.html</welcome-file>
            <welcome-file>index.htm</welcome-file>
            <welcome-file>index.jsp</welcome-file>
            <welcome-file>default.html</welcome-file>
            <welcome-file>default.htm</welcome-file>
            <welcome-file>default.jsp</welcome-file>
        </welcome-file-list>
    
    <!-- Disable auto-discovery of servlet 3+ web fragments -->
    <absolute-ordering/> 
    </web-app>
    
  3. Compare this to the original web.xml file. You'll notice the following updates to the <context-param> element5:

    <context-param>
             <param-name>config.url</param-name>
             <param-value>/path/to/ords_config</param-value>
         </context-param><context-param>
             <param-name>version</param-name>
             <param-value>XX.X.X.r1234567</param-value>
         </context-param>
  1. Your new ords.war file is ready for deploying to Weblogic Server.

Weblogic Remote Server

Beginning with Weblogic Server version 14.1.2, the Weblogic Administration Console has been deprecated. To access your Administrative console, you must use the REST/Electron-based Remote Console.

Deploying ORDS

Example Template

The introduction summarizes the purpose and function of the project, and should be concise (a brief paragraph or two). This introduction may be the same as the first paragraph on the project page.

For a full description of the module, visit the project page.

Submit bug reports and feature suggestions, or track changes in the issue queue.

Table of contents (optional)

  • Requirements
  • Installation
  • Configuration
  • Troubleshooting
  • FAQ
  • Maintainers

Requirements (required)

This project requires the following:

Installation (required, unless a separate INSTALL.md is provided)

Install as you would normally install.

Configuration (optional)

Troubleshooting (optional)

FAQ (optional)

Q: How do I write a README?

A: Follow this template. It's fun and easy!

Maintainers (optional)

For more information about SQLcl Projects:

Reach out to the SQLcl Project Extension documentation by visiting the Database Application CI/CD Doc Link.

Footnotes

  1. I discovered this SO thread, where a similar symptom was described.

    Connection Provider Name test
    Username [Username]
    Password [Password]
    URL https://localhost:9002
    Make Insecure Connection βœ… Yes

    :note: Username and Password are the ones you will have provided in the domain.properties file. See the compose.yaml file for an example--it is the ./ in the volumes section for the WLS service.

    The ./ is a shortcut for pointing to the podman-dev directory. That way, if you decide to rename that directory, it will simply refer to ./ instead of the name (which may have changed, which will result in a failed deployment). ↩

  2. Packaging Files for Deployment as of WebLogic 14.1.2. ↩

  3. Details on the files contained in a .war file. ↩

  4. You can name this anything, but naming it something that is related to ORDS' configuration makes sense. ↩

  5. Learn more about the Web.xml Deployment Descriptor elements. ↩

About

Podman related work

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages