DSpace 的 OAI servlet 使用了错误的 baseUrl
DSpace's OAI servlet uses wrong baseUrl
我使用以下名为 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 将 OAI servlet 部署在
http://localhost:8080/OAIHandler
.
访问 URL(例如 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>
XML 元素的错误配置 and/or Java 类?
听起来您检查了正确的文件。可以快速尝试的一件事是清除您的 oai 缓存。 运行 .../dspace/bin/dspace oai clean-cache 强制重建缓存中的页面。
我使用以下名为 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 将 OAI servlet 部署在
http://localhost:8080/OAIHandler
.
访问 URL(例如 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>
XML 元素的错误配置 and/or Java 类?
听起来您检查了正确的文件。可以快速尝试的一件事是清除您的 oai 缓存。 运行 .../dspace/bin/dspace oai clean-cache 强制重建缓存中的页面。