ORDS 22.x on Windows bug
We just hit a silly problem with ORDS 22.x. When deploying ORDS to Tomcat, you have to create a version of the ords.war file that has the location of the ORDS configuration directory embedded within it. You do this by running the ords executable with the war command, as described in para 6.1.3.3 of this
https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/22.3/ordig/index.html
To save anyone the trouble of looking up the instructions, here they are: “To generate the war file, use the ords war command.” That’s it. A bit more detail might be helpful, but never mind.
On Linux, it is no problem. Eg,
$ORDS_HOME/bin/ords --config $ORDS_HOME/configdir war /u01/tomcat9/webapps/ords.war
On Windows, this seems to work:
%ORDS_HOME%\bin\ords.exe --config %ORDS_HOME%\configdir war "C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps\ords.war"
but it deploys only an empty zero byte file. The problem is that the ords.exe appears to have the name and location of the source ords.war hard coded within it as ..\ords.war. You’ll see this if you run the command with the –verbose switch. So unless your current working directory actually is %ORDS_HOME%\bin when you run the command, it can’t find the source war so it doesn’t deploy it. An annoying and silly problem. On Linux, the ords shell script does not have this issue.