3
votes

I have installed ORDS recently and running it in standalone mode on port 9090. When I try to access my apex site through

host:9090/ords/f?p=102

it fails to load theme CSS file with HTTP request returning 404 response. URL in request header is:

host:9090/ords/timesheet_hris/r/102/files/theme/102/v196/54649182592070537.css

However when I try to access my site with previously used URL:

host:8080/apex/f?p=102

through HTTP DB embedded port it runs just fine with 200 response. In this case URL in request header is:

host:8080/apex/r/timesheet_hris/102/files/theme/102/v196/54649182592070537.css

ORDS log:

192.168.34.163 - - [06/Sep/2017:11:12:41 +0000] "GET /ords/f?p=102:23:13670589014823::NO::: HTTP/1.1" 200 -
192.168.34.163 - - [06/Sep/2017:11:12:44 +0000] "GET /i/app_ui/css/Core.min.css?v=5.1.1.00.08 HTTP/1.1" 304 -
192.168.34.163 - - [06/Sep/2017:11:12:44 +0000] "GET /i/app_ui/css/Theme-Standard.min.css?v=5.1.1.00.08 HTTP/1.1" 304 -
192.168.34.163 - - [06/Sep/2017:11:12:44 +0000] "GET /i/libraries/jquery-ui/1.10.4/themes/base/jquery-ui.min.css?v=5.1.1.00.08 HTTP/1.1" 304 -
192.168.34.163 - - [06/Sep/2017:11:12:44 +0000] "GET /i/themes/theme_42/1.0/css/Core.min.css?v=5.1.1.00.08 HTTP/1.1" 304 -
192.168.34.163 - - [06/Sep/2017:11:12:44 +0000] "GET /i/libraries/font-awesome/4.5.0/css/font-awesome.min.css?v=5.1.1.00.08 HTTP/1.1" 304 -
192.168.34.163 - - [06/Sep/2017:11:12:44 +0000] "GET /i/libraries/apex/minified/desktop.min.js?v=5.1.1.00.08 HTTP/1.1" 304 -
192.168.34.163 - - [06/Sep/2017:11:12:44 +0000] "GET /i/libraries/apex/minified/legacy.min.js?v=5.1.1.00.08 HTTP/1.1" 304 -
192.168.34.163 - - [06/Sep/2017:11:12:44 +0000] "GET /i/libraries/jquery-migrate/1.4.1/jquery-migrate-1.4.1.min.js?v=5.1.1.00.08 HTTP/1.1" 304 -
192.168.34.163 - - [06/Sep/2017:11:12:44 +0000] "GET /i/libraries/apex/minified/widget.apexTabs.min.js?v=5.1.1.00.08 HTTP/1.1" 304 -
192.168.34.163 - - [06/Sep/2017:11:12:44 +0000] "GET /i/libraries/jquery/2.2.3/jquery-2.2.3.min.js?v=5.1.1.00.08 HTTP/1.1" 304 -
192.168.34.163 - - [06/Sep/2017:11:12:45 +0000] "GET /i/libraries/apex/minified/widget.stickyWidget.min.js?v=5.1.1.00.08 HTTP/1.1" 304 -
192.168.34.163 - - [06/Sep/2017:11:12:45 +0000] "GET /i/libraries/apex/minified/widget.stickyTableHeader.min.js?v=5.1.1.00.08 HTTP/1.1" 304 -
192.168.34.163 - - [06/Sep/2017:11:12:45 +0000] "GET /i/libraries/hammer/2.0.4/hammer-2.0.4.min.js?v=5.1.1.00.08 HTTP/1.1" 304 -
192.168.34.163 - - [06/Sep/2017:11:12:45 +0000] "GET /i/themes/theme_42/1.0/js/modernizr-custom.min.js?v=5.1.1.00.08 HTTP/1.1" 304 -
192.168.34.163 - - [06/Sep/2017:11:12:45 +0000] "GET /i/plugins/com.oracle.apex.carousel/1.0/com.oracle.apex.carousel.min.js?v=5.1.1.00.08 HTTP/1.1" 304 -
192.168.34.163 - - [06/Sep/2017:11:12:45 +0000] "GET /i/themes/theme_42/1.0/js/theme42.min.js?v=5.1.1.00.08 HTTP/1.1" 304 -
192.168.34.163 - - [06/Sep/2017:11:12:45 +0000] "GET /i/libraries/apex/minified/widget.treeView.min.js?v=5.1.1.00.08 HTTP/1.1" 304 -
192.168.34.163 - - [06/Sep/2017:11:12:45 +0000] "GET /i/libraries/apex/minified/widget.report.min.js?v=5.1.1.00.08 HTTP/1.1" 304 -
192.168.34.163 - - [06/Sep/2017:11:12:45 +0000] "GET /i/apex_ui/js/minified/devToolbar.min.js?v=5.1.1.00.08 HTTP/1.1" 304 -
192.168.34.163 - - [06/Sep/2017:11:12:45 +0000] "GET /i/favicon-32x32.png HTTP/1.1" 304 -
192.168.34.163 - - [06/Sep/2017:11:12:44 +0000] "GET /ords/timesheet_hris/r/102/files/theme/102/v196/54649182592070537.css HTTP/1.1" 404 15226
192.168.34.163 - - [06/Sep/2017:11:12:45 +0000] "GET /ords/timesheet_hris/r/102/files/static/v124/funkcia.js HTTP/1.1" 404 15207
192.168.34.163 - - [06/Sep/2017:11:12:46 +0000] "GET /ords/timesheet_hris/r/102/files/static/v124/MAIND%20logo.png HTTP/1.1" 404 15210
192.168.34.163 - - [06/Sep/2017:11:12:47 +0000] "GET /ords/timesheet_hris/r/102/files/static/v124/funkcia.js HTTP/1.1" 404 15204
192.168.34.163 - - [06/Sep/2017:11:12:48 +0000] "GET /i/apex_ui/theme_roller/utr-base.js HTTP/1.1" 304 -

ORDS java exception stack trace:

DispatcherNotFoundException [statusCode=404, reasons=[]]
    at oracle.dbtools.http.entrypoint.Dispatcher.choose(Dispatcher.java:87)
    at oracle.dbtools.http.entrypoint.Dispatcher.dispatch(Dispatcher.java:98)
    at oracle.dbtools.http.entrypoint.EntryPoint$FilteredServlet.service(EntryPoint.java:240)
    at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:73)
    at oracle.dbtools.url.mapping.RequestMapperImpl.doFilter(RequestMapperImpl.java:125)
    at oracle.dbtools.url.mapping.URLMappingBase.doFilter(URLMappingBase.java:103)
    at oracle.dbtools.url.mapping.filter.URLMappingFilter.doFilter(URLMappingFilter.java:148)
    at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)
    at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
    at oracle.dbtools.http.cors.CORSResponseFilter.doFilter(CORSResponseFilter.java:83)
    at oracle.dbtools.http.filters.HttpResponseFilter.doFilter(HttpResponseFilter.java:45)
    at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
    at oracle.dbtools.http.errors.ErrorPageFilter.doFilter(ErrorPageFilter.java:94)
    at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)
    at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
    at oracle.dbtools.http.auth.ForceAuthFilter.doFilter(ForceAuthFilter.java:44)
    at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)
    at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
    at oracle.dbtools.http.filters.Filters.filter(Filters.java:47)
    at oracle.dbtools.http.entrypoint.EntryPoint.service(EntryPoint.java:82)
    at oracle.dbtools.http.entrypoint.EntryPointServlet.service(EntryPointServlet.java:49)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at oracle.dbtools.rt.web.HttpEndpointBase.dispatchableServices(HttpEndpointBase.java:116)
    at oracle.dbtools.rt.web.HttpEndpointBase.service(HttpEndpointBase.java:81)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
    at org.eclipse.jetty.server.Server.handle(Server.java:499)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:258)
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
    at java.lang.Thread.run(Thread.java:748)

I will appreciate any help because I have not been able to solve this for 2 days now and would like to switch to ORDS completely, disabling DB embedded HTTP server on 8080.

EDIT: I tried to deploy it on Apache Tomcat instead of Standalone and got same issue.

3
It looks like ORDS is not being able to load images and css files that are stored in database. Application static files are OK giving 200 or 304. - Jakub Hubert

3 Answers

3
votes

After some time I found solution with my colleague. Running this command in webapps directory and restarting Tomcat solved our problem. Hope this post will help someone in the future.

java -jar ords.war validate --database apex
1
votes

You will need to follow the steps to enable Static File Support from the Apex Installation Manual, which basically means installing/enabling RESTful services in APEX.

1
votes

Looking at the URL's of your (Themeroller?) css file, it occurs to me, that the "r" folder is different. Could it be, you have to modify this? Dit you enter the path yourself? How did you add the file path?