我正在用Java编写一个程序来使用Sesame的服务,但是当我调用Login时:
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
URL sesameurl = new URL("http://localhost:8080/openrdf-sesame");
SesameService service = Sesame.getService(sesameurl);
service.login("username", "password");
service.getRepositoryList();
}
catch (UnknownRepositoryException ex) {
Logger.getLogger(Sparqlquery.class.getName()).log(Level.SEVERE, null, ex);
} catch (ConfigurationException ex) {
Logger.getLogger(Sparqlquery.class.getName()).log(Level.SEVERE, null, ex);
} catch (AccessDeniedException ex) {
Logger.getLogger(Sparqlquery.class.getName()).log(Level.SEVERE, null, ex);
}
PrintWriter write = response.getWriter();
} 它引发以下错误:
HTTP Status 500 -类型异常报告
消息
descriptionThe服务器遇到一个内部错误(),无法满足此请求。
异常
java.io.IOException:http://localhost:8080/openrdf-sesame/servlets/login:找不到
注意,异常的完整堆栈跟踪及其根源可在GlassFish服务器开源版3.1.1日志中找到。GlassFish服务器开源版3.1.1
发布于 2015-01-24 00:05:58
我不知道这个代码示例是从哪里来的,但是在Sesame 2中不存在类SesameService、Sparqlquery或UnknownRepositoryException。
您要么使用非常旧的芝麻版本(1.x,它不再受支持,至少从2007年起就不再支持),要么使用第三方包装器库。
确保您使用的是最新版本的芝麻(在网站上可以找到最新的稳定版本)。
连接到芝麻服务器的正确/当前方式如下:
// connect to the server
String serverUrl = "http://localhost:8080/openrdf-sesame";
RepositoryManager manager = RepositoryProvider.getRepositoryManager(serverUrl);
// get a list of the ids of all existing repositories
List<String> ids = manager.getRepositoryIDs();
// open a repository with a known identifier, e.g. "test"
Repository rep = manager.getRepository("test");诸若此类。有关如何使用芝麻的详细信息,请参阅芝麻网站上可用的文档,特别是教程、章节“用芝麻编程”和API Javadoc。
https://stackoverflow.com/questions/28083009
复制相似问题