首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DSpace的OAI servlet使用错误的baseUrl

DSpace的OAI servlet使用错误的baseUrl
EN

Stack Overflow用户
提问于 2016-01-25 18:41:08
回答 1查看 328关注 0票数 1

我使用名为OAIHandler.xml的Tomcat上下文描述符部署DSpace 5.4的OAI servlet:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<!-- inside file ${DSPACE_CATALINA_BASE}/conf/Catalina/localhost/OAIHandler.xml
<Context docBase="c:/dspace/webapps/oai">
</Context>

因此,由于文件名为OAIHandler.xml,Tomcat在http://localhost:8080/OAIHandler上部署OAI servlet。

访问像http://localhost:8080/OAIHandler/request?verb=Identify这样的网址是有效的--页面看起来不错。然而,这个页面上的链接不使用http://localhost:8080/OAIHandler/...,而是使用http://localhost:8080/oai/...

我没有在/oai上部署任何servlet,因此这些链接没有指向任何地方。

我注意到配置文件config/modules/oai.cfg可以有一个属性dspace.oai.url,所以我将其设置为http://localhost:8080/OAIHandler,但问题仍然存在。

我查看了OAI servlet (static/style.xsl)使用的XSLT样式表。它使用XSLT表达式/oai:OAI-PMH/oai:request/text()构造链接的开头部分。相关的XML部分实际上是<request verb="Identify">http://localhost:8080/oai/request</request>,而不是预期的<request verb="Identify">http://localhost:8080/OAIHandler/request</request>

有人能帮我指出错误的配置和/或<request>类,这些类负责生成错误的Java元素吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-26 15:17:42

听起来你检查了正确的文件。一个快速的尝试是清除您的oai缓存。运行./dspace/bin/dspace干净缓存,强制在缓存中重新生成页面。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34999897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档