Я пытаюсь создать плагин Domino OSGI, который предоставляет простой сервлет Hello World. Для этого я создал в eclipse проект плагина (с web.xml и сервлетом на месте), проект функций, содержащий этот плагин и обновленный проект сайта.
После этого я создал приложение в дизайнере Domino, используя сайт "Eclipse Update Site" в качестве шаблона (имя RestDemoUpdateSite.nsf). Открыв это приложение в администраторе Domino, я успешно импортировал сайт обновления eclipse.
Наконец, я скопировал RestDemoUpdateSite.nsf в папку - C:\Program Files\IBM\Domino\data и добавил строку OSGI_HTTP_DYNAMIC_BUNDLES = RestDemoUpdateSite.nsf в notes.ini.
Ссылка http://<>/RestDemoUpdateSite.nsf открывается отлично
Запрос GET для http://<>/RestDemoUpdateSite.nsf/api/дает ответ 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"
}
]
}
Запрос GET на мой сервлет http://<>/RestDemoUpdateSite.nsf/serviceapi/student дает ошибку
Веб-сервер HTTP: не удалось найти примечание по дизайну - serviceapi/student [/RestDemoUpdateSite.nsf/serviceapi/student] Аноним
Любое предложение или подсказки относительно того, что может пойти не так, было бы очень полезно.
спасибо
Первый шаг - убедиться, что ваш плагин загружается инфраструктурой OSGi. Выполните следующую команду консоли сервера:
tell http osgi ss {bundle.name}
Например, tell http osgi ss com.ibm.domino.services
список всех плагинов, соответствующих данному имени. В листинге указано, является ли плагин ACTIVE, RESOLVED, INSTALLED и т.д.
Предполагая, что ваш плагин загружен, следующий шаг - убедиться, что вы правильно определяете свой сервлет. Вы сказали, что вы включили файл web.xml, но сервлеты OSGi обычно определяются в файле plugin.xml. Они реализуют расширение org.eclipse.equinox.http.registry.servlets
. Вы можете найти более подробную информацию в этих слайдах. См. Раздел "Создание, развертывание и отладка простого сервлета".