Domino OSGI 插件 - 找不到设计说明
Domino OSGI plugin - Couldn't find design note
我正在尝试创建一个 Domino OSGI 插件,它公开了一个简单的 Hello World servlet。
为此,我在 eclipse 中创建了一个插件项目(带有 web.xml 和 servlet),一个包含此插件的功能项目和一个更新的站点项目。
在此之后,我使用 'Eclipse Update Site' 作为模板(名称 RestDemoUpdateSite.nsf)在 Domino 设计器中创建了一个应用程序。
在 Domino 管理员中打开此应用程序后,我成功导入了我的 eclipse 更新站点。
最后我把RestDemoUpdateSite.nsf复制到文件夹里了-
C:\Program Files\IBM\Domino\data 并在 notes.ini.
中添加行 OSGI_HTTP_DYNAMIC_BUNDLES=RestDemoUpdateSite.nsf
link http://<>/RestDemoUpdateSite.nsf 可以正常打开
对 http://<>/RestDemoUpdateSite.nsf/api/ 的 GET 请求给出 json 响应
{
"services":[
{
"name":"Data",
"enabled":false,
"version":"9.0.1",
"href":"\/RestDemoUpdateSite.nsf\/api\/data"
},
{
"name":"Calendar",
"enabled":false,
"version":"9.0.1",
"href":"\/RestDemoUpdateSite.nsf\/api\/calendar"
},
{
"name":"Core",
"enabled":true,
"version":"9.0.1",
"href":"\/RestDemoUpdateSite.nsf\/api\/core"
}
]
}
对我的 servlet http://<>/RestDemoUpdateSite 的 GET 请求。nsf/serviceapi/student 给出错误
HTTP Web 服务器:找不到设计说明 - serviceapi/student [/RestDemoUpdateSite.nsf/serviceapi/student] 匿名
任何关于可能出错的建议或提示都会有很大帮助。
谢谢
第一步是确保您的插件正在由 OSGi 框架加载。执行以下服务器控制台命令:
tell http osgi ss {bundle.name}
例如,tell http osgi ss com.ibm.domino.services
列出与给定名称匹配的所有插件。该列表告诉您插件是否处于活动状态、已解决、已安装等状态。
假设您的插件正在加载,下一步是确保您正确定义了您的 servlet。您说您包含了一个 web.xml 文件,但 OSGi servlet 通常在 plugin.xml 中定义。他们实现了 org.eclipse.equinox.http.registry.servlets
扩展。您可以在 these slides 中找到更多详细信息。请参阅以 "Creating, deploying & debugging a simple servlet" 开头的部分。
我正在尝试创建一个 Domino OSGI 插件,它公开了一个简单的 Hello World servlet。 为此,我在 eclipse 中创建了一个插件项目(带有 web.xml 和 servlet),一个包含此插件的功能项目和一个更新的站点项目。
在此之后,我使用 'Eclipse Update Site' 作为模板(名称 RestDemoUpdateSite.nsf)在 Domino 设计器中创建了一个应用程序。 在 Domino 管理员中打开此应用程序后,我成功导入了我的 eclipse 更新站点。
最后我把RestDemoUpdateSite.nsf复制到文件夹里了- C:\Program Files\IBM\Domino\data 并在 notes.ini.
中添加行 OSGI_HTTP_DYNAMIC_BUNDLES=RestDemoUpdateSite.nsflink http://<>/RestDemoUpdateSite.nsf 可以正常打开
对 http://<>/RestDemoUpdateSite.nsf/api/ 的 GET 请求给出 json 响应
{
"services":[
{
"name":"Data",
"enabled":false,
"version":"9.0.1",
"href":"\/RestDemoUpdateSite.nsf\/api\/data"
},
{
"name":"Calendar",
"enabled":false,
"version":"9.0.1",
"href":"\/RestDemoUpdateSite.nsf\/api\/calendar"
},
{
"name":"Core",
"enabled":true,
"version":"9.0.1",
"href":"\/RestDemoUpdateSite.nsf\/api\/core"
}
]
}
对我的 servlet http://<>/RestDemoUpdateSite 的 GET 请求。nsf/serviceapi/student 给出错误
HTTP Web 服务器:找不到设计说明 - serviceapi/student [/RestDemoUpdateSite.nsf/serviceapi/student] 匿名
任何关于可能出错的建议或提示都会有很大帮助。
谢谢
第一步是确保您的插件正在由 OSGi 框架加载。执行以下服务器控制台命令:
tell http osgi ss {bundle.name}
例如,tell http osgi ss com.ibm.domino.services
列出与给定名称匹配的所有插件。该列表告诉您插件是否处于活动状态、已解决、已安装等状态。
假设您的插件正在加载,下一步是确保您正确定义了您的 servlet。您说您包含了一个 web.xml 文件,但 OSGi servlet 通常在 plugin.xml 中定义。他们实现了 org.eclipse.equinox.http.registry.servlets
扩展。您可以在 these slides 中找到更多详细信息。请参阅以 "Creating, deploying & debugging a simple servlet" 开头的部分。