Skip to Main Content

ORDS, SODA & JSON in the Database

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

ORDS 3 404 Error

Martin Giffy D'SouzaMay 4 2015 — edited Sep 1 2015

I an trying to install ORDS 3 and am getting a 404 not found error. I have enabled debugging to print to screen and get the errors below (in stack trace). I get them when running in standalone and via Tomcat.

oracle.dbtools.http.errors.NotFoundException

at oracle.dbtools.url.mapping.URLMappingsProvider.map(URLMappingsProvider.java:79)

at oracle.dbtools.url.mapping.filter.URLMappingFilter.doFilter(URLMappingFilter.java:55)

at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:51)

at oracle.dbtools.http.locale.LocaleFilter.doFilter(LocaleFilter.java:60)

at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:45)

at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:51)

at oracle.dbtools.http.cors.CORSResponseFilter.doFilter(CORSResponseFilter.java:71)

at oracle.dbtools.http.filters.HttpResponseFilter.doFilter(HttpResponseFilter.java:45)

at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:51)

at oracle.dbtools.http.errors.ErrorPageFilter.doFilter(ErrorPageFilter.java:71)

at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:45)

at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:51)

at oracle.dbtools.http.ecid.ECIDFilter.doFilter(ECIDFilter.java:35)

at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:45)

at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:51)

at oracle.dbtools.http.filters.Filters.filter(Filters.java:46)

at oracle.dbtools.http.entrypoint.EntryPoint.service(EntryPoint.java:74)

at oracle.dbtools.http.entrypoint.EntryPointServlet.service(EntryPointServlet.java:46)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)

at oracle.dbtools.rt.web.HttpEndpointBase.dispatchableServices(HttpEndpointBase.java:166)

at oracle.dbtools.rt.web.HttpEndpointBase.service(HttpEndpointBase.java:88)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)

at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:751)

at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:566)

at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:219)

at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1111)

at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:498)

at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)

at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1045)

at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)

at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:199)

at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109)

at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:98)

at org.eclipse.jetty.server.Server.handle(Server.java:461)

at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:284)

at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:244)

at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:534)

at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:607)

at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:536)

at java.lang.Thread.run(Thread.java:745)

This post has been answered by Martin Giffy D'Souza on May 10 2015
Jump to Answer

Comments

VladP May 5 2015

Are you getting this when installing, or after deploying the .war? If after deployment, did you rename the .war to something else?

I ask because when I tried 3.0EA, I got 404 errors after renaming ords.war to something else (like apex.war) and then installing the renamed file.

ra434093ao May 7 2015 — edited on May 7 2015

I got same error after deploying and trying to test a simple a web service call, I changed ords.war name to apex.war

Martin Giffy D'Souza May 10 2015 — edited on May 10 2015

As per previous comments, I tried renaming from ords.war to apex.war and got the same result.

I was able to get ORDS working (doing manual install) to run APEX, however when I try to run a REST request (built using the "Reset Sample Data" link in APEX 5) I get the same error as above.

When I run in standalone more, the following info is on the server:

Attempting to process as a Dispatchable Service

One other thing I noticed is that there is no apex_rt.xml file in the conf folder.

Martin Giffy D'Souza May 10 2015 — edited on May 10 2015
Answer

Solution:

Modify the params/ords_params.properties file and make the following changes:

Set: rest.services.apex.add=true

If you don't want to be prompted for passwords, add the following lines:

user.apex.listener.password=oracle

user.apex.restpublic.password=oracle

Where "oracle" is the user password. Change accordingly.

Marked as Answer by Martin Giffy D'Souza · Sep 27 2020
chrisstephens May 11 2015 — edited on May 11 2015

I'm getting something very similar:

oracle.dbtools.http.errors.NotFoundException

at oracle.dbtools.url.mapping.URLMappingsProvider.map(URLMappingsProvider.java:79)

at oracle.dbtools.url.mapping.filter.URLMappingFilter.doFilter(URLMappingFilter.java:55)

at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:51)

at oracle.dbtools.http.locale.LocaleFilter.doFilter(LocaleFilter.java:60)

at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:45)

at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:51)

at oracle.dbtools.http.cors.CORSResponseFilter.doFilter(CORSResponseFilter.java:71)

at oracle.dbtools.http.filters.HttpResponseFilter.doFilter(HttpResponseFilter.java:45)

at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:51)

at oracle.dbtools.http.errors.ErrorPageFilter.doFilter(ErrorPageFilter.java:71)

at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:45)

at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:51)

at oracle.dbtools.http.ecid.ECIDFilter.doFilter(ECIDFilter.java:35)

at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:45)

at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:51)

at oracle.dbtools.http.filters.Filters.filter(Filters.java:46)

at oracle.dbtools.http.entrypoint.EntryPoint.service(EntryPoint.java:74)

at oracle.dbtools.http.entrypoint.EntryPointServlet.service(EntryPointServlet.java:46)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

at oracle.dbtools.rt.web.HttpEndpointBase.dispatchableServices(HttpEndpointBase.java:166)

at oracle.dbtools.rt.web.HttpEndpointBase.service(HttpEndpointBase.java:88)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)

at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)

at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)

at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)

at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1521)

at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1478)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

at java.lang.Thread.run(Thread.java:745)

I have res.services.apex.add=true:

[root@050ora12 params]# cat ords_params.properties | grep rest.services

rest.services.apex.add=true

rest.services.ords.add=true

[root@050ora12 params]#

I enabled logging by adding the following to defaults.xml:

<entry key="debug.printDebugToScreen">true</entry>

<entry key="debug.debugger">true</entry>

However, i can't seem to find the ORDS log or see any useful information in the error response message.

Martin Giffy D'Souza May 11 2015

I can't offer much more suggestions then what you've already tried.

If it's any help, we have a working ORDS install script here: https://github.com/OraOpenSource/oraclexe-apex/blob/master/scripts/ords.sh You can't run it as it, as it's part of the OOS build script but you should be able to replicate for your instance.

chrisstephens May 13 2015 — edited on May 13 2015

thaks Martin.  I've opened an SR and will update this thread if/when i get to a solution.

krissco May 14 2015

Hi Chris,

For what it's worth, I had the same issue. I was able to resolve it by copying /configdir/ords/conf/apex_pu.xml as /configdir/ords/conf/apex.xml (that is, duplicating the file under a different name).

Good luck!

-Kris Scorup

Colm Divilly-Oracle May 15 2015 — edited on May 15 2015

This is not the correct solution, you should not have to copy files manually, I suspect the root problem is the choice of an incorrect answer during the installation process.

If you wish to use APEX with ORDS you MUST configure the PL/SQL Gateway. The PL/SQL Gateway is what provides the mod_plsql like functionality to invoke PL/SQL stored procedures in the database. Completing this step will cause apex.xml to be created, and APEX will be accessible. If you skip this step apex.xml will not be created and APEX will NOT be accessible (or any other PL/SQL stored procedures).

To re-run the install process, use the setup command.

See below a walkthrough of the install process, in this example I choose to skip installing the ORDS schema, to keep things simple, typically you will want to install the schema, in particular if you want to use ORDS RESTful Services, you will need it.

java -jar build/built/ords.war setup

Enter the name of the database server [localhost]:

Enter the database listen port [1521]:

Enter 1 to specify the database service name, or 2 to specify the database SID [1]:1

Enter the database service name:orcl

Enter 1 if you want to verify/install Oracle REST Data Services schema or 2 to skip this step [1]:2

Enter 1 if you want to use PL/SQL Gateway or 2 to skip this step [1]:

Note at line 7 above, enter 1 and then complete the following prompts:

Enter the PL/SQL Gateway database user name [APEX_PUBLIC_USER]:

Enter the database password for APEX_PUBLIC_USER:

Confirm password:

Enter 1 to specify passwords for Application Express RESTful Services database users (APEX_LISTENER, APEX_REST_PUBLIC_USER) or 2 to skip this step [1]:

If you want to enable APEX based RESTful Services (APEX | SQL Workshop | RESTFUL Services) then select 1. If you don't want to enable APEX RESTful Services, you only want to use APEX (and other PL/SQL Gateway based stored procedures) then enter 2, for this example, I choose 2.

Finally I check my configuration folder to check that apex.xml is created as expected:

localhost:trunk cdivilly$ ls -l /tmp/colm/ords/conf/

total 8

-rw-r--r--  1 cdivilly  wheel  328 15 May 11:32 apex.xml

OrcL-FaN Jun 3 2015 — edited on Jun 3 2015

Hello @chrisstephens,

Did you get any solution regarding your 404 error of ORDS issue from the SR?  i am also facing the same issue and tried couple of things but unfortunately nothing works for me. Please have a look to my thread.

ORACLE REST DATA SERVICES 404 NOT FOUND

In my thread i have mentioned all the steps that i have followed to install and configure ORDS. Any suggestion from anyone to solve the issue would be highly appreciated.

Thanks & Regards,

Pinto Das

krissco Jun 18 2015 — edited on Jun 18 2015

The PL/SQL Gateway setup is required?

Okay. I ran through setup again. First I changed the config directory (in case my prior attempts were too far gone).

C:\Users\Administrator>java -jar C:\oracle\ords.3.0.0.121.10.23\ords.war setup

Enter the name of the database server [localhost]:

Enter the database listen port [1521]:

Enter the database SID [xe]:

Enter 1 if you want to verify/install Oracle REST Data Services schema or 2 to skip this step [1]:

Enter the database password for ORDS_PUBLIC_USER:

Confirm password:

Enter 1 if you want to use PL/SQL Gateway or 2 to skip this step [1]:1

Enter the PL/SQL Gateway database user name [APEX_PUBLIC_USER]:

Enter the database password for APEX_PUBLIC_USER:

Confirm password:

Enter 1 to specify passwords for Application Express RESTful Services database u

sers (APEX_LISTENER, APEX_REST_PUBLIC_USER) or 2 to skip this step [1]:1

Enter the database password for APEX_LISTENER:

Confirm password:

Enter the database password for APEX_REST_PUBLIC_USER:

Confirm password:

Jun 18, 2015 12:21:42 AM oracle.dbtools.common.config.file.ConfigurationFilesBase update

INFO: Updated configurations: apex, apex_al, apex_pu, apex_rt

Jun 18, 2015 12:21:42 AM oracle.dbtools.rt.config.setup.SchemaSetup install

INFO: Oracle REST Data Services schema version 3.0.0.121.10.23

I still get 404.

Webservice URI Prefix is "test/"

URI Template is "foo"

Created a simple GET handler (select 'hi' mycol from dual)

This is the action of the Test button when editing the resource handler:

onclick="redirect('https://localhost:-1/xx/test/foo');"

note, "XX" is my workspace Path Prefix.

Clicking "Test" does not work (loads a blank page).

Manually typing in the URL (removing the -1 port#) yields the following:

oracle.dbtools.http.errors.NotFoundException

at oracle.dbtools.url.mapping.URLMappingsProvider.map(URLMappingsProvider.java:79)

...

So, any idea on what I should try next? What's up with the -1 port # on the webservice test URL? Do I need to do something with dbms_xdb.sethttpport()? I had that set to 0 (off) and changed it to 8090. Maybe an ACL issue?

I appreciate your help!

Orcl since Version 1 Jul 21 2015

Did you get any answer on this?  I am having the same problems and have done all the configurations "by the book".  The error trace seems to indicate that we are missing some kind of mapping file entry.

OrcL-FaN Jul 21 2015

Hello Orcl since Version 1,

Please go through the below thread of mine. I have given each and every steps what i did to resolve the issue. Hope it will help you to resolve your issue.

ORACLE REST DATA SERVICES 404 NOT FOUND

Thanks & Regards,

Pinto Das

Orcl since Version 1 Jul 21 2015

Hi Pinto,

Thank you for your reply.  I have followed your threads (each and every painful step of the way ).  I still have the same problem.  Could you post the contents of your url-mapping.xml file?

Thanks

Chuck Sauer

OrcL-FaN Jul 21 2015

Hello Orcl since Version 1,

I didn't do any sort of change in my url-mapping.xml file because i didn't change the ords to something else. First try to accomplish this (http://localhost:8080/ords/) URL then u try to redirect it to other url like /apex or something else as per your requirement.

Thanks & Regards,

Pinto Das

wpdonna Aug 31 2015

Hi there,

I am getting the same errors in configuring ords 3 services. I also followed the instructions to the word, tried the fixes provided here too, nothing worked. Have you figured it out? Could you share your findings? Thanks for your help.

Wenping

Kiran Pawar Sep 1 2015 — edited on Sep 1 2015

Hi wpdonna,

wpdonna wrote:


I am getting the same errors in configuring ords 3 services. I also followed the instructions to the word, tried the fixes provided here too, nothing worked. Have you figured it out? Could you share your findings? Thanks for your help.

     Please do not post follow-ups to old/answered threads. Instead create a new discussion thread about the issue you are facing with complete details.

Regards,

Kiran

1 - 17
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Sep 29 2015
Added on May 4 2015
17 comments
18,570 views