"Invalid Server URL" 安装 GraphDB 时替换 .jar 文件后出错

"Invalid Server URL" error after replacing .jar files while installing GraphDB

我试图安装 GraphDB 来补充默认的 Sesame。按照 http://owlim.ontotext.com/display/OWLIMv54/OWLIM-SE+Installation 中 'Easy Install' 的说明,我将 .war 文件从 GraphDB 分发复制到我的 Tomcat 目录并替换了预先存在的 .war 文件芝麻带来的。但是,在重新启动服务器后,我在 Sesame 下拉列表中没有看到 'OWLIM-SE' 个存储库。

在排除故障时,我将 C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\openrdf-sesame\WEB-INF\lib 中的 .jar 文件替换为最新的 Sesame 中的文件版本看看它是否有任何区别(我有 2.8.3)。

确实有所不同。我现在只得到 'Change Server' 页面。在将服务器的 URL 输入为 http://my.ip.address:8080/openrdf-sesame 后,我收到 "Invalid Server url" 错误。我已将服务器 url 从 localhost 更改为 ip 地址,以便我可以从外部访问它。我该如何解决两个问题:

  1. 让 Sesame 再次运行
  2. 安装 GraphDB

日志如下:

Jul 08, 2015 4:41:24 PM org.openrdf.workbench.proxy.ServerValidator canConnect
WARNING: java.io.FileNotFoundException: http://my.ip.address.here:8080/openrdf-sesame/protocol
java.io.FileNotFoundException: http://my.ip.address.here/openrdf-sesame/protocol
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1834)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1439)
    at java.net.URL.openStream(URL.java:1038)
    at org.openrdf.workbench.proxy.ServerValidator.canConnect(ServerValidator.java:121)
    at org.openrdf.workbench.proxy.ServerValidator.isValidServer(ServerValidator.java:76)
    at org.openrdf.workbench.proxy.WorkbenchGateway.findWorkbenchServlet(WorkbenchGateway.java:251)
    at org.openrdf.workbench.proxy.WorkbenchGateway.service(WorkbenchGateway.java:121)
    at org.openrdf.workbench.base.BaseServlet.service(BaseServlet.java:141)
    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.openrdf.workbench.proxy.CookieCacheControlFilter.doFilter(CookieCacheControlFilter.java:63)
    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:501)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314)
    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 first installed GraphDB. Then, I replaced the jar files of GraphDB with those of Sesame 2.7.16. I copied the same set of files to the 'libs' folder of both Sesame-openrdf and Sesame-workbench. Though some jar files are duplicate, I did not remove one version for the other.

对于阅读本文的任何人,请注意这充其量只是一种有风险的解决方法。实施 CORS 是更好的选择。如需更多信息,请访问 http://answers.ontotext.com/questions/1984/previous-functional-ajax-code-with-jsonp-not-working-with-graphdb-lite