java.lang.IllegalArgumentException:UT000068:Servlet路径匹配失败

时间:2019-08-30 12:18:09

标签: jboss

我正在将应用程序从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)

2 个答案:

答案 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