2016-04-08 56 views
1

我很難讓ORDS 3.0.4.60.12.48在Tomcat 7.0.68服務器上工作。數據庫本身是Oracle 12.1.0.2.0。安裝ORDS(無APEX)

無論何時我嘗試訪問localhost:8080/ords處的ORDS頁面,我都會收到404錯誤。使debug.printDebugToScreen屬性後,頁面顯示如下:

調試跟蹤

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] 

堆棧跟蹤

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) 

不幸的是,我並沒有真正找到了一大堆網上有關這方面的信息。其中很多是檢查我沒有使用的APEX特定用戶。我所查找的內容中,我已經檢查並確認可以手動登錄爲ORDS_PUBLIC_USER,並試圖將ojdbc.jar文件從我的Oracle客戶端複製到Tomcat lib文件夾中。但是,問題似乎仍然存在。

任何幫助,將不勝感激!

[編輯]所以我嘗試重新安裝它與一個新的ORDS配置,並意識到我的安裝在ords\conf\目錄中沒有apex_pu.xml文件。不過,我仍然得到類似的錯誤:

調試跟蹤

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] 

堆棧跟蹤是幾乎相同之前。

回答

1

這完全是我的錯誤理解。我曾假設localhost:8080/ordslocalhost:8080/ords/ordstest應該返回某種元數據,但它看起來不是這樣。

examples文件夾中的getting-started指南從ORDS以下,以建立一個ORDSTEST模式和替代不想下載SQL Developer的運行

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

後,我設法http://localhost:8080/ords/ordstest/emp成功返回數據。

+1

是的,你不需要SQL Developer,但是如果你已經有了它,你可以安裝/ admin/deploy部署restful服務。正如您在架構和對象啓用中所看到的,我們擁有所有內容的pl/sql API – thatjeffsmith