我正在将应用程序从Websphere迁移到jboss EAP 7.1.0,但出现以下错误。
错误:
错误[默认任务37] nmateti ActionExceptionHandler.logException(143)| java.lang.IllegalArgumentException:UT000068:Servlet路径匹配失败 在io.undertow.servlet.handlers.ServletPathMatchesData.getServletHandlerByPath(ServletPathMatchesData.java:83) 在io.undertow.servlet.handlers.ServletPathMatches.getServletHandlerByPath(ServletPathMatches.java:88) 在io.undertow.servlet.spec.RequestDispatcherImpl。(RequestDispatcherImpl.java:74) 在io.undertow.servlet.spec.ServletContextImpl.getRequestDispatcher(ServletContextImpl.java:330) 在org.apache.struts.chain.commands.servlet.PerformForward.handleAsForward(PerformForward.java:93) 在org.apache.struts.chain.commands.servlet.PerformForward.perform(PerformForward.java:82) 在org.apache.struts.chain.commands.AbstractPerformForward.execute(AbstractPerformForward.java:51) 在org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:48) 在org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190) 在org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304) 在org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190) 在org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:280) 在org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858) 在org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:459) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:707) 在javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 在io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85) 在io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter(FilterHandler.java:129) 在com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119) 在com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55) 在io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) 在io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter(FilterHandler.java:131) 在com.wm.snapshot.webapp.filter.StackFilter.doFilter(StackFilter.java:52) 在io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) 在io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter(FilterHandler.java:131) 在com.wm.snapshot.webapp.filter.LogFilter.doFilter(LogFilter.java:93) 在io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) 在io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter(FilterHandler.java:131) 在org.acegisecurity.util.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:264) 在org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107) 在org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72) 在org.acegisecurity.util.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:274) 在org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110) 在org.acegisecurity.util.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:274) 在org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81) 在org.acegisecurity.util.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:274) 在org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:217) 在org.acegisecurity.util.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:274) 在org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:193) 在org.acegisecurity.util.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:274) 在org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148) 在org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) 在io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) 在io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter(FilterHandler.java:131) 在org.ajaxanywhere.AAFilter.doFilter(AAFilter.java:65) 在io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61) 在io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter(FilterHandler.java:131) 在io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84) 在io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) 在io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) 在org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)处 在io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 在io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131) 在io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) 在io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 在io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) 在io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) 在io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) 在io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77) 在io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50) 在io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) 在io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 在org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)处 在io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 在org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68) 在io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 在io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:292) 在io.undertow.servlet.handlers.ServletInitialHandler.access $ 100(ServletInitialHandler.java:81)
答案 0 :(得分:0)
您是否使用默认配置?特别是默认的servlet?导致此错误与是否没有默认servlet以及请求与映射的servlet不匹配有关,因此引发了异常。
getServletHandlerByPath-invalidArgumentException UT00068:
BETWEEN 2019-08-28 00:00:00 AND 2019-08-29 23:59:59
还可以考虑迁移到上周发布的EAP 7.2 CP 3,或者至少迁移到EAP 7.1.6,后者纠正了EAP 7.0.0和7.1.0的一些错误。
答案 1 :(得分:0)
解决方案:只需在配置文件中为完成映射的特定路径/方法添加redirect = true
。