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!

Oracle REST Data Services - 404 Not found

Neruda from ItalyDec 6 2016 — edited Jan 11 2017

Hello dears.

I am using for more than one year Oracle Apex 5.x with Oracle 11g and Apache Tomcat 7.0.

Since yesterday all has worked very well but this morning, if I try to connect to Oracle Apex, is being showed the message "Oracle REST Data Services - 404 Not found".

Then I enabled the tracing in ORDS by addind the following two rows in the file default.xml

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

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

After restarning if I connect to APEX is being showed this:

Debug Trace

mapped request using: /* to: PLSQL:apex

Could not find any dispatcher to handle request:

--Attributes--

nanoStart = 1481013800241

apex.diagnostic.context = Attempting to process as a Dispatchable Service

ECID-Principal = ECIDPrincipal [ecid=1kmnaQIjAuZBvDVgoPyOoA..]

oracle.dbtools.http.ecid = U38PBxNhRzJmxG15MV65OQ..

oracle.dbtools.common.di.Services = Request Scope

--Attributes--

GET /ords/f?p=101:LOGIN_DESKTOP:::::: HTTP/1.1

Host: apex-prod

host: apex-prod:8080

connection: keep-alive

cache-control: max-age=0

upgrade-insecure-requests: 1

user-agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36

accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

accept-encoding: gzip, deflate, sdch

accept-language: it-IT,it;q=0.8,en-US;q=0.6,en;q=0.4,pt;q=0.2

cookie: ORA_WWV_REMEMBER_UN=SAVERIO.MOLA:ws-segnalazioni; ORA_WWV_USER_103889354093289=ORA_WWV-EOC3FUYoeAgnxVngRn2nzydc; LOGIN_USERNAME_COOKIE=saverio.mola; ORA_WWV_APP_101=ORA_WWV-MzoB0yh1RqaFp7g_IVDWOCA-

org.apache.catalina.connector.CoyoteInputStream@6d07a441

Stack Trace

NotFoundException [statusCode=404, reasons=[]]

  at oracle.dbtools.http.entrypoint.Dispatcher.choose(Dispatcher.java:82)

  at oracle.dbtools.http.entrypoint.Dispatcher.dispatch(Dispatcher.java:92)

  at oracle.dbtools.http.entrypoint.EntryPoint$FilteredServlet.service(EntryPoint.java:123)

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

  at oracle.dbtools.http.forwarding.QueryFilteringRewrite.doFilter(QueryFilteringRewrite.java:82)

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

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

  at oracle.dbtools.http.forwarding.ForwardingFilter.doFilter(ForwardingFilter.java:59)

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

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

  at oracle.dbtools.http.cors.CORSPreflightFilter.doFilter(CORSPreflightFilter.java:67)

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

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

  at oracle.dbtools.http.cookies.auth.CookieSessionCSRFFilter.doFilter(CookieSessionCSRFFilter.java:61)

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

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

  at oracle.dbtools.http.auth.AuthenticationFilter.authenticate(AuthenticationFilter.java:89)

  at oracle.dbtools.http.auth.AuthenticationFilter.doFilter(AuthenticationFilter.java:62)

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

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

  at oracle.dbtools.url.mapping.db.PLSQLMapper.doFilter(PLSQLMapper.java:37)

  at oracle.dbtools.url.mapping.URLMapping.doFilter(URLMapping.java:78)

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

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

  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:64)

  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:64)

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

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

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

  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:64)

  at oracle.dbtools.http.auth.ForceAuthFilter.doFilter(ForceAuthFilter.java:44)

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

  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:80)

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

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

  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:731)

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

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

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

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

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

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

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

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

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

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

  at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)

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

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

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

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

  at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)

  at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

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

  at java.lang.Thread.run(Unknown Source)

Then in the instance of the database I wrote the following instruction:

select username, account_status, lock_date, expiry_date from dba_users where username like '%APEX%';

with the following result 

USERNAME                       ACCOUNT_STATUS                   LOCK_DATE       EXPIRY_DA

------------------------------ -------------------------------- ---------       ---------                                                                      

APEX_050000                    EXPIRED & LOCKED                 17-LUG-15       17-LUG-15                                                                      

                                                                               

APEX_030200                    EXPIRED & LOCKED                 17-LUG-15       17-LUG-15                                                                      

                                                                               

APEX_LISTENER                  EXPIRED                                          29-MAG-16                                                                      

                                                                               

APEX_PUBLIC_USER               EXPIRED                                          04-DIC-16                                                                      

                                                                               

APEX_REST_PUBLIC_USER          EXPIRED                                          06-GIU-16 

Any suggestion will be appreciated. Thank you

This post has been answered by Alastair M on Dec 6 2016
Jump to Answer

Comments

ravi piplani

Please check if you have assigned the user to proper role.

For eg: In your case, role would be 'Requestor'. Check if you have assigned the username (one you are using to login to workspace) to the 'Requestor' role.

-Ravi

Ravi Jegga

This may help. Basically for any BPM Application, you will have Roles / Swimlanes defined in JDeveloper. Now after deploying this from EM Console you should add some Users or Groups to these Roles. The user can be created from weblogic console in default authenticator. Finally for most of the out of box Demos from Oracle for any product like soa, bpm, bi or xyz, they refer to set of users like jcooper, jstein etc etc. All these are created using another sample application from Oracle. Below link should help.

Thanks

Ravi Jegga

Vijay Inani

Hi Ravi and Ravi Jegga,

I have tried both the options earlier, but it didn't work for my manual process.

Then I created a Async. process with the same tutorial and this time it worked fine.

Still not sure why it didn't work for Manual process.

Thanks Anyways!

Regards,
Vijay Inani

Dan Atwood

Hi Vijay,

Here's what I think that it might be.  Look at your process and compare your process with the one shown at the top of the tutorial.  Notice that your "Request Hello" activity probably does not have the green triangle inside of it like the one in the picture has.  If this is not the case then don't read the rest of this post.

The interactive activity with the green triangle is called an Initiator activity and only these activities are shown in your Applications tab. 

I'm not sure how this might have happened because when you add the process in step 4 of the Creating the Process Model section, it automatically adds the initiator activity for you in the process.  The tutorial is confusing because the screenshots of the process in steps 4, 5, 7 and 8 in the "Creating the Process Model" section do not show the Initiator activity but instead incorrectly show a simple User activity.

In the Implementing the User Task section of the tutorial, as you are creating the human task for the interactive User task it has you make sure its pattern is set to "Initiator" (search the tutorial for the text "Initiator" and you'll see it).

If it is not set to "Initiator", then it is probably set to the "Simple" and you will not see the green triangle in the activity.  You can fix it by repeating steps 1 and 2 in the Implementing the User Task section of the tutorial (making sure that you select the Initiator from the "Pattern" dropdown and give it the name "SayHello2").

Do steps 3 and 5 again in the Adding the Review Message Human Interaction section but pick your new "SayHello2.task" task file instead of picking the "ReviewMessage.task".  In step 5, instead expanding the "HelloWorld_UI_ReviewMessage" data control, instead expand your new "HelloWorld_UI_SayHello2.  Redeploy the project.

Hope this gets you going,

Dan

Vijay Inani

Hi Dan,

Thank you for the detailed explanation.

I checked my process and found that the "Request Hello" activity has "Initiator" pattern.

Please find the screenshot of the same at  : http://img607.imageshack.us/img607/8195/cyf3.png

Please check the same.

In one of the post at https://forums.oracle.com/thread/2138336 , its mentioned that "My server lesser RAM then recommended by Oracle and domain was extended with web center. I created a new domain without webcenter and deployed the process and all is well" by 'ZeeshanBaiG' at the end of the thread. Could that be the cause?

Thanks and Regards,

Vijay Inani

Vijay Inani

I am using JDev 11.1.1.7.0 and WLS 10.3.6. I am not sure if my soa domain is extended with web center as mentioned in the link posted above.

- Vijay

v7_SL
Answer

You should verify 2 things:

-bpm workspace -> administration: is your test user assigned directly or indirectly via a group to the requester role (if not, assign him and use the refresh icon in the applications tab)

-em -> you process -> request hello task -> administration: you should see there the used server/port and the uri for the adf mask (if those parameters are missing for an initiator task then the process is not visible under the applications)

Marked as Answer by Vijay Inani · Sep 27 2020
Vijay Inani

Hi All,

Thanks everyone for the replies and help.

Finally, I was able to see the HelloWorldProcess under Applications in BPM Workspace.

Actually, the problem was:

As per the tutorial, it was asked to rename the application role from HelloWorldProcess.Role to HelloWorldProcess.Requester.

I did the same, but here only the display name was changed to HelloWorldProcess.Requester and the actual name remained to HelloWorldProcess.Role

So, in BPM Workspace > Administration, I created a new Application role HelloWorldProcess.Requester and assigned a group and user to it.

When logged in with the same user/group, I was able to see the manual process now.

Nice learning!

I have just started with BPM. It would be helpful if you guys can provide me with more complex tutorials links and design principles for the same.

Help will be appreciated!

Thanks and Regards,

Vijay Inani

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

Post Details

Locked on Feb 8 2017
Added on Dec 6 2016
6 comments
1,951 views