2016-04-08 13 views
1

Ich habe Schwierigkeiten, ORDS 3.0.4.60.12.48 auf einem Tomcat 7.0.68-Server zu verwenden. Die Datenbank selbst ist Oracle 12.1.0.2.0.Installieren von ORDS (ohne APEX)

Immer wenn ich versuche, auf die ORDS-Seite unter localhost:8080/ords zuzugreifen, erhalte ich einen 404-Fehler. Nach der Aktivierung der debug.printDebugToScreen Eigenschaft, ist die Anzeige der Seite die folgenden:

Debug Trace

Could not find any dispatcher to handle request: 
--Attributes-- 
apex.diagnostic.context = ... 
ECID-Principal = ECIDPrincipal [ecid=DRfgpsk1Jpq7KZ67hEo6Dw..] 
oracle.dbtools.http.ecid = ogil1RMV3372zbyEOpN1Rg.. 
oracle.dbtools.common.di.Services = Request Scope 
--Attributes-- 
GET /ords/ HTTP/1.1 
Host: localhost 
host: localhost:8080 
user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0 
accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
accept-language: en-US,en;q=0.5 
accept-encoding: gzip, deflate 
referer: http://localhost:8080/manager/html/list 
connection: keep-alive 


[email protected] 

Stack Trace

DispatcherNotFoundException [statusCode=404, reasons=[]] 
    at oracle.dbtools.http.entrypoint.Dispatcher.choose(Dispatcher.java:86) 
    at oracle.dbtools.http.entrypoint.Dispatcher.dispatch(Dispatcher.java:96) 
    at oracle.dbtools.http.entrypoint.EntryPoint$FilteredServlet.service(EntryPoint.java:153) 
    at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:73) 
    at oracle.dbtools.http.forwarding.QueryFilteringRewrite.doFilter(QueryFilteringRewrite.java:89) 
    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:73) 
    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.filter.URLMappingFilter.doFilter(URLMappingFilter.java:69) 
    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: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: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:82) 
    at oracle.dbtools.http.entrypoint.EntryPointServlet.service(EntryPointServlet.java:49) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
    at oracle.dbtools.rt.web.HttpEndpointBase.dispatchableServices(HttpEndpointBase.java:156) 
    at oracle.dbtools.rt.web.HttpEndpointBase.service(HttpEndpointBase.java:85) 
    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:169) 
    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:436) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) 
    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) 

Leider habe ich nicht wirklich eine ganze Menge finden von Info online darüber. Viele davon haben APEX-spezifische Benutzer überprüft, die ich nicht verwende. Von dem, was ich gefunden habe, habe ich bereits überprüft und kann bestätigen, dass ich mich als ORDS_PUBLIC_USER manuell anmelden kann, und ich habe versucht, die ojdbc.jar Dateien von meinem Oracle-Client auf den Tomcat lib Ordner zu kopieren. Das Problem scheint jedoch weiterhin zu bestehen.

Jede Hilfe wäre willkommen!

[Bearbeiten] Also habe ich versucht, es mit einer frischen ORDS-Konfiguration neu zu installieren und erkannte, dass meine Installation keine apex_pu.xml Datei im ords\conf\ Verzeichnis hatte. Aber ich bin immer noch einen ähnlichen Fehler bekommen:

Debug Trace

mapped request using: /* to: apex_pu 

Could not find any dispatcher to handle request: 
--Attributes-- 
apex.diagnostic.context = ... 
ECID-Principal = ECIDPrincipal [ecid=wDuKj9PEUNnl3Oy8vwesDg..] 
oracle.dbtools.http.ecid = xXACfwD3YDNtXCQUNuqIAw.. 
oracle.dbtools.common.di.Services = Request Scope 
--Attributes-- 
GET /ords/ HTTP/1.1 
Host: localhost 
host: localhost:8080 
user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0 
accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
accept-language: en-US,en;q=0.5 
accept-encoding: gzip, deflate 
referer: http://localhost:8080/manager/html/list 
connection: keep-alive 


[email protected] 

mapped request using: /* to: apex_pu 

Could not find any dispatcher to handle request: 
--Attributes-- 
apex.diagnostic.context = ... 
ECID-Principal = ECIDPrincipal [ecid=wDuKj9PEUNnl3Oy8vwesDg..] 
oracle.dbtools.http.ecid = xXACfwD3YDNtXCQUNuqIAw.. 
oracle.dbtools.common.di.Services = Request Scope 
--Attributes-- 
GET /ords/ HTTP/1.1 
Host: localhost 
host: localhost:8080 
user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0 
accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
accept-language: en-US,en;q=0.5 
accept-encoding: gzip, deflate 
referer: http://localhost:8080/manager/html/list 
connection: keep-alive 


[email protected] 

Der Stack-Trace in der Nähe ist identisch zu zuvor.

Antwort

1

Dies war alles ein Missverständnis meinerseits. Ich hatte angenommen, dass localhost:8080/ords und localhost:8080/ords/ordstest eine Art von Metadaten zurückgegeben haben sollte, aber es sieht nicht so aus.

Nachdem im Anschluss an die getting-started Führung im examples Ordner von ORDS zum Einstellen ein ORDSTEST Schemas und läuft zu wollen

exec ords.enable_schema(); 
exec ords.enable_object(p_object => 'EMP'); 
commit; 

anstelle von nicht SQL Developer herunterladen konnte ich http://localhost:8080/ords/ordstest/emp bekommen, um erfolgreich Daten zurück.

+1

yeah, Sie benötigen keinen SQL Developer, aber wenn Sie ihn bereits haben, können Sie damit auch restful Dienste installieren/admin/deployen. Wir haben pl/sql APIs für alles, wie Sie auf der Schema-und Objekt-Aktivierung gesehen haben – thatjeffsmith