我使用以下名为的Tomcat上下文描述符
OAIHandler.xml
要部署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将OAI servlet部署在
http://localhost:8080/OAIHandler
.
访问URL,如
http://localhost:8080/OAIHandler/request?verb=Identify
工作-页面看起来不错。但此页面上的链接不使用
http://localhost:8080/OAIHandler/...
但是
http://localhost:8080/oai/...
相反
我没有在部署任何servlet
/oai
,因此这些链接指向任何地方。
我注意到配置文件
config/modules/oai.cfg
可以有一个属性
dspace.oai.url
,所以我将其设置为
http://localhost:8080/OAIHandler
-但我的问题仍然存在。
我查看了OAI servlet使用的XSLT样式表(
static/style.xsl
). 它使用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>
.
有人能帮我指出错误的配置和/或导致生成错误的Java类吗
<request>
XML元素?