我使用名为OAIHandler.xml的Tomcat上下文描述符部署DSpace 5.4的OAI servlet:
<?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元素吗?
发布于 2016-01-26 15:17:42
听起来你检查了正确的文件。一个快速的尝试是清除您的oai缓存。运行./dspace/bin/dspace干净缓存,强制在缓存中重新生成页面。
https://stackoverflow.com/questions/34999897
复制相似问题