Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Install ORDS with Apex 5.0

I would like to print reports in PDF format using apex 4.2.2 or v5. I have read that ORDS v3 is required to work even after enabling PDF in instance setting under apex admin.

But during installation it halted the process as

enter image description here

and when I check the URL it shows the following ouptut:

Debug Trace

mapped request using: /* to: PLSQL:apex  Could not find any dispatcher to handle request: --Attributes-- nanoStart = 1447556222844 apex.diagnostic.context = Attempting to process as a Dispatchable Service  ECID-Principal = ECIDPrincipal [ecid=qKmpkwa3M59vpxfWvdonuA..] oracle.dbtools.http.ecid = co0K1af4SoL_vfSvpOewLA.. oracle.dbtools.common.di.Services = Request Scope --Attributes-- GET /ords/ HTTP/1.1 Host: 127.0.0.1 Cookie: WWV_CUSTOM-F_4876305575366759_100=A232DDB1270CE7EC; WWV_CUSTOM-F_4876305575366759_101=CDDDBA5608605CD8; WWV_CUSTOM-F_10_4950=E5A43E72CA2546A0 Cache-Control: max-age=0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Upgrade-Insecure-Requests: 1 Connection: keep-alive User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36 Host: 127.0.0.1:8090 Accept-Encoding: gzip, deflate, sdch Accept-Language: en-US,en;q=0.8   HttpInputOverHTTP@b9a27   

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: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(Unknown Source) 
like image 646
Muhammad Muazzam Avatar asked Nov 16 '15 09:11

Muhammad Muazzam


People also ask

Is APEX required for ords?

Before considering a setup of APEX in an Oracle Database environment, certain prerequisites will need to be met. In addition to APEX, it is also necessary to install Oracle REST Data Services (ORDS) in order to access APEX from an application server such as WebLogic or Tomcat.

What is difference between ords and APEX?

​APEX and ORDS provide you everything you need to host and consume REST based web services to meet all of your integration needs. Oracle REST Data Services (ORDS) has two roles in an APEX world. One is to service APEX pages to end users and the other is to host REST based web services.


1 Answers

If you are using apex 5.0 then you do not need the ords users. So do not do

java -jar ords.war install 

Since that will take you through the process of creating ords_metadata and ords_public_user, which you do not need with Apex. But rather use

First step, define location:

java -jar ords.war configdir c:\ords\

(it will create another ords directory under your specified directory)

Next step, define the APEX server + passwords (apex_public_user and apex_listener+apex_rest_public_user if using rest services),

java -jar ords.war setup

This will run you through a setup process.

Next you have a few options to run apex, 1) standalone 2) Java server (Glassfish, Tomcat, weblogic)

Standalone is pretty straight forward:

java -jar ords.war standalone --port 8080 --apex-images c:\ords\i\ 

You need the images folder from the Apex 5.0 zip to be c:\ords\i\ (or change the location)

Setting up on Tomcat is pretty simple. After extracting Tomcat, just copy ords.war to the webapps folder and copy the apex 5.0 images folder to webapps\i\

Note that you need to run the java -jar ords.war configdir on the same machine as the tomcat server and tomcat needs access to that folder.

If you mess up the set-up simply remove the **c:\ords\ords** folder and re-run the setup process. You can also define a new configdir and try again while keeping the old one, Note that running configdir will always create a subfolder and put the setting files there.

Also make sure that apex_public_user is unlocked and you have the correct password, i.e.

sqlplus apex_public_user/*your password*@server 

Should connect you and you should be able to do

select * from dual;

--edit--

Make sure that you have Oracle's Java installed and that is being used to run ords:

C:\>java -version java 

Should give something like

version "1.8.0_31" 
Java(TM) SE Runtime Environment (build 1.8.0_31-b13) 
Java HotSpot(TM) 64-Bit Server VM
(build 25.31-b07, mixed mode)
like image 191
Olafur Tryggvason Avatar answered Sep 17 '22 10:09

Olafur Tryggvason