Ошибка при развертывании веб-приложения в контейнере OSGI с использованием pax web - PullRequest
3 голосов
/ 12 июня 2010

Здравствуйте. Я пытаюсь развернуть веб-приложение в контейнере Felix.У меня есть все необходимые настройки для моего веб-приложения, такие как настройка заголовков манифеста: Webapp-Context: Bundle-ClassPath: Bundle-Activator: Import-Package: Bundle-SymbolicName: и т. Д. Пакеты Pax, которые я отбросил водин и тот же контейнер: pax-web-service-0.6.0.jar pax-web-jsp-0.7.1.jar pax-web-extender-war-0.7.1.jar pax-logging-service-1.5.0.jarpax-logging-api-1.5.0.jar

Хотя на веб-сайте pax было написано, что pax-web-сервис включен в pax-war-extender, похоже, без pax-web-serviceпачка, все остальные пачки становятся инвалидами.

Я удалил другие паки паки, такие как pax-web-extender-whiteboard-0.7.1.jar pax-web-jetty-0.7.1.jar, как у меня естьне видел никакой полезности тех.

pax-web-jetty-0.7.1.jar даже не запускается.у него есть зависимости, которые он не мог бы разрешить ни в одном из пакетов, предоставляемых PAX.

Мой браузер отображает: HTTP ERROR 403

Проблема доступа / adminmodule /.Причина:

ЗАПРЕЩЕНО

Работает на Jetty: //


, а в журнале консоли указано:

[5884890 @ qtp-16567002-0- / adminmodule /] DEBUG org.mortbay.jetty - ЗАПРОСИТЬ / adminmodule / на org.mortbay.jetty.HttpConnection@1e94001 [5884890 @ qtp-16567002-0 - / adminmodule /] DEBUG org.ops4j.pax.web.service.internal.model.ServerModel - Соответствие [/ adminmodule /] ... [5884890 @ qtp-16567002-0 - / adminmodule /] DEBUG org.ops4j.pax.web.service.internal.model.ServerModel - Путь [/ adminmodule /] соответствует {pattern = / adminmodule /.*, model = ResourceModel {id = org.ops4j.pax.web.service.internal.model.ResourceModel-2, name =, urlPatterns = [/], псевдоним = /, сервлет= ResourceServlet {контекст = / adminmodule, псевдоним = /, имя =}, initParams = {}, контекст = ContextModel {ID = org.ops4j.pax.web.service.internal.model.ContextModel-1, имя = adminmodule, HttpContext= org.ops4j.pax.web.extender.war.internal.WebAppWebContainerContext @ 11710be, contextParams = {webapp.context = adminmodule}}}} [5884890 @ qtp-16567002-0 - / adminmodule /] DEBUG org.ops4j.pax.web.service.internal.HttpServiceContext - Обработка запроса для [/ adminmodule /] с использованием http-контекста [org.ops4j.pax.web.extender.war.internal.WebAppWebContainerContext@11710be] [5884890 @ qt-16567002-0 - / adminmodule /] DEBUG org.mortbay.jetty - sessionManager=org.mortbay.jetty.servlet.HashSessionManager@19c6163 [5884890 @ qtp-16567002-0 - / adminmodule /] DEBUG org.mortbay.jetty - сеанс =null [5884890 @ qtp-16567002-0 - / adminmodule /] DEBUG org.mortbay.jetty - servlet = [5884890 @ qtp-16567002-0 - / adminmodule /] DEBUG org.mortbay.jetty - chain = org.ops4j.pax.web.service.internal.model.FilterModel-3-> [5884890 @ qtp-16567002-0 - / adminmodule /] DEBUG org.mortbay.jetty - держатель сервлета = [5884890 @ qtp-16567002-0 - / adminmodule /]DEBUG org.mortbay.jetty - вызвать фильтр org.ops4j.pax.web.service.internal.model.FilterModel-3 [5884890 @ qtp-16567002-0 - / adminmodule /] DEBUG org.ops4j.pax.web.service.internal.WelcomeFilesFilter - применить фильтр файлов приветствия ... [5884890 @ qtp-16567002-0 - / adminmodule/] DEBUG org.ops4j.pax.web.service.internal.WelcomeFilesFilter - Путь сервлета: / [5884890 @ qtp-16567002-0 - / adminmodule /] DEBUG org.ops4j.pax.web.service.internal.WelcomeFilesFilter - Путьinfo: null [5884890 @ qtp-16567002-0 - / adminmodule /] INFO org.ops4j.pax.web.service.internal.HttpServiceContext - получение ресурса: [/adminmodule.jsp] [5884890 @ qtp-16567002-0 - /adminmodule /] DEBUG org.ops4j.pax.web.extender.war.internal.WebAppWebContainerContext - поиск пакета [com.cisco.zaloni.gwt.admin [1]] для ресурса [/adminmodule.jsp], нормализованного для [adminmodule.jsp] [5884890 @ qtp-16567002-0 - / adminmodule /] DEBUG org.ops4j.pax.web.extender.war.internal.WebAppWebContainerContext - ресурс не найден [5884890 @ qtp-16567002-0 - / adminmodule /] INFO org.ops4j.pax.web.service.internal.HttpServiceContext - найден ресурс: null[5884890 @ qtp-16567002-0 - / adminmodule /] DEBUG org.mortbay.jetty - вызвать сервлет [5884890 @ qtp-16567002-0 - / adminmodule /] DEBUG org.ops4j.pax.web.extender.war.internal.WebAppWebContainerContext - поиск пакета [com.cisco.zaloni.gwt.admin [1]] для ресурса [/ ], нормализованный к [/] [5884890 @ qtp-16567002-0 - / adminmodule /] DEBUG org.ops4j.pax.web.extender.war.internal.WebAppWebContainerContext - ресурс, найденный как URL [bundle: //1.0: 1 /] [5884890 @ qtp-16567002-0 - / adminmodule /] DEBUG org.mortbay.jetty - RESPONSE / adminmodule / 403

Это действительно расстраивает.

пожалуйста, помогите. как я новичок в OSGI.

Raul

1 Ответ

1 голос
/ 27 апреля 2011

В версиях pax-web до 1.0 были разные ошибки, которые всегда приводили меня в замешательство.Я бы предложил начать с обновления, чтобы использовать последнюю версию, pax-web 1.0.2, похоже, самая последняя на сегодняшний день.Если вы не хотите идти так высоко, я обнаружил, что 0.8.1 был первым выпуском, где он действительно начал работать должным образом.

Также стандарт OSGi для развертывания пакетов веб-приложений требует использования Web-ContextPath.Заголовок, который вы не перечислили.Для него задан корень контекста, из которого вы хотите получать контент.

В проекте Apache Aries есть пара примеров, на которые стоит обратить внимание, чтобы увидеть, как ваш пакет отличается от тех, если это не помогает.,Образец блога Apache Aries Blog задокументирован здесь и может быть загружен с здесь .

...