Развертывание YAWL resourceService в веб-сфере

Кто-нибудь уже развернул YAWL resourceService на Websphere 7 или 8. Мы пытаемся сделать то же самое, но после ввода учетных данных выдает ошибку JSF. Похоже, что реализация IBM websphere для JSF несовместима с той, что используется resourceService. Может ли кто-нибудь пролить свет на то, как заставить WebSphere использовать реализацию JSF, связанную с самим приложением, а не использовать свою собственную. Вот трассировка стека исключений, которую я получаю.

[9/24/12 15:56:05:138 IST] 00000015 lifecycle     E   JSF1054: (Phase ID: RESTORE_VIEW 1, View ID: "") Exception thrown during phase execution: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl@3b803b8]
[9/24/12 15:56:05:143 IST] 00000015 servlet       E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: Uncaught exception created in one of the service methods of the servlet Faces Servlet in application resourceService_war. Exception created : javax.servlet.ServletException: Array index out of range: 4
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1443)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1384)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:131)
    at com.sun.rave.web.ui.util.UploadFilter.doFilter(UploadFilter.java:194)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
    at org.yawlfoundation.yawl.resourcing.jsf.SessionTimeoutFilter.doFilter(SessionTimeoutFilter.java:71)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
    at org.yawlfoundation.yawl.util.CharsetFilter.doFilter(CharsetFilter.java:52)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:852)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:785)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:443)
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:175)
    at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3610)
    at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:274)
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:926)
    at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1557)
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:173)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:455)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:384)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:272)
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
    at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:202)
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:766)
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:896)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1527)
Caused by: java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 4
    at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1167)
    at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1171)
    at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1171)
    at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1171)
    at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1171)
    at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1171)
    at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1171)
    at javax.faces.component.UIComponentBase.processRestoreState(UIComponentBase.java:1171)
    at com.sun.faces.application.StateManagerImpl.restoreView(StateManagerImpl.java:205)
    at com.sun.faces.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:334)
    at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:337)
    at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:176)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:104)
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
    ... 35 more

person CuriousMind    schedule 02.10.2012    source источник
comment
Пожалуйста, предоставьте журнал ошибок, который генерируется. Кроме того, вебсфера 7 или 8, какая?   -  person Mukul Goel    schedule 17.10.2012
comment
Я использую websphere 7. Но нам придется портировать его и на 8.   -  person CuriousMind    schedule 20.10.2012
comment
Предоставьте журнал ошибок, который вы получили. Также предоставьте подробности, какой jsf использует ваше приложение? Версия ? К вашему сведению, was7 поставляется с myfaces1.2 и was8 с jsf2.0.. Пожалуйста, обновите вопрос с заданными деталями, чтобы помочь. вам лучше   -  person Mukul Goel    schedule 20.10.2012
comment
К сожалению, сейчас у меня нет с собой подробностей. Я получу его, как только присоединюсь к своему офису. Вы можете попробовать YAWL 2.2, который поставляется вместе с resourceService. Это может дать ответ на ваши вопросы.   -  person CuriousMind    schedule 21.10.2012
comment
Обновите вопрос, когда вернетесь в офис после выходных, и оставьте комментарий, отметив меня, чтобы я знал, что вы обновили его.   -  person Mukul Goel    schedule 21.10.2012


Ответы (2)


websphere по умолчанию обеспечивает реализацию JSF1.2.

В описанном случае вы можете настроить свое приложение для использования версии JSF, предоставленной внутри приложения.

Думаю, ЭТО — это то, что вам нужно.

Следуйте инструкциям в приведенном выше документе, чтобы настроить сервер для получения jsf из приложения.

person Mukul Goel    schedule 17.10.2012
comment
Трассировка стека: 00000015 жизненный цикл E JSF1054: (идентификатор фазы: RESTORE_VIEW 1, идентификатор представления:) Исключение, вызванное во время выполнения фазы: javax.faces.event.PhaseEvent[source=com.sun.faces.lifecycle.LifecycleImpl@3b803b8] 00000015 сервлет E Служба com.ibm.ws.webcontainer.servlet.ServletWrapper SRVE0068E: В одном из методов службы сервлета Faces Servlet в приложении resourceService_war создано необработанное исключение. Создано исключение: javax.servlet.ServletException: индекс массива вне диапазона: 4 в javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)... - person CuriousMind; 22.10.2012
comment
@CuriousMind, пожалуйста, опубликуйте полную трассировку стека. и обновить вопрос с ним. не пишите в комментарии. трудно читать из комментария - person Mukul Goel; 22.10.2012

Любопытный ум, попробуйте изменить режим сохранения состояния на стороне клиента, изменив атрибут в web.xml (STATE_SAVING_METHOD).

person Snake Eye    schedule 26.10.2012
comment
Удалось ли вам избавиться от исключения? - person Snake Eye; 02.11.2012
comment
Не повезло, все равно не получилось. :( - person CuriousMind; 17.11.2012
comment
Нет, мы все еще боремся с этим. К сожалению, нам пришлось принять решение о том, что пользовательский интерфейс YAWL будет недоступен, доступны только его сервисы. - person CuriousMind; 10.03.2013