【问题标题】:Domino OSGI plugin - Couldn't find design noteDomino OSGI 插件 - 找不到设计说明
【发布时间】:2015-03-27 17:04:59
【问题描述】:

我正在尝试创建一个 Domino OSGI 插件,它公开了一个简单的 Hello World servlet。 为此,我在 Eclipse 中创建了一个插件项目(带有 web.xml 和 servlet),一个包含此插件的功能项目和一个更新的站点项目。

之后,我在 Domino 设计器中使用“Eclipse 更新站点”作为模板(名称为 RestDemoUpdateSite.nsf)创建了一个应用程序。 在 Domino 管理员中打开此应用程序后,我成功导入了我的 eclipse 更新站点。

最后我将 RestDemoUpdateSite.nsf 复制到文件夹中 - C:\Program Files\IBM\Domino\data 并在 notes.ini 中添加 OSGI_HTTP_DYNAMIC_BUNDLES=RestDemoUpdateSite.nsf 行。

链接 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.nsf/serviceapi/student 的 GET 请求给出了错误

HTTP Web 服务器:找不到设计说明 - serviceapi/student [/RestDemoUpdateSite.nsf/serviceapi/student] 匿名

任何关于可能出错的建议或提示都会有很大帮助。

谢谢

【问题讨论】:

    标签: java lotus-domino lotus


    【解决方案1】:

    第一步是确保您的插件正在被 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 中找到更多详细信息。请参阅以“创建、部署和调试简单的 servlet”开始的部分。

    【讨论】:

    • 谢谢!!那张幻灯片很有帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-08
    • 2016-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多