gpt4 book ai didi

java - 警告 [org.directwebremoting.dwrp.BaseCallHandler] 处理批处理时出现异常

转载 作者:行者123 更新时间:2023-12-01 11:08:49 25 4
gpt4 key购买 nike

在我的 DWR 应用程序中,我捕获了此跟踪,但奇怪的是,从应用程序的角度来看,没有任何中断,并且对于同一组步骤,它只记录一次。

有人知道/遇到过类似的吗?

WARN  [org.directwebremoting.dwrp.BaseCallHandler] Exception while processing batch
java.lang.IllegalArgumentException: Failed to find parameter: batchId (check server log for more info).
at org.directwebremoting.dwrp.Batch.extractParameter(Batch.java:143)
at org.directwebremoting.dwrp.Batch.parseParameters(Batch.java:80)
at org.directwebremoting.dwrp.Batch.<init>(Batch.java:60)
at org.directwebremoting.dwrp.CallBatch.<init>(CallBatch.java:46)
at org.directwebremoting.dwrp.BaseCallHandler.handle(BaseCallHandler.java:76)
at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:126)
at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:144)
at org.directwebremoting.servlet.DwrServlet.doGet(DwrServlet.java:131)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(Unknown Source)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(Unknown Source)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Unknown Source)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:535)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:745)

最佳答案

您使用的是 Internet Explorer 吗?

几周前我遇到了同样的错误。经过一番调查/调试后找到了原因。

Internet Explorer 对 GET 请愿 URL 大小的限制为 2,083 个字符 ( https://support.microsoft.com/en-us/kb/208427 ),如果超过该限制,它会自动剪切 URL 以匹配该大小(无需说明任何内容)。

如果你检查DWR代码(engine.js)你会发现它最终使用了<script>存在跨域调用时的请愿标记。这基本上是一个 GET 调用。在我的例子中,生成的 url 大于 Internet Explorer 的限制,因此它会自动缩小到正确的大小。DWR 使用该batchID 来识别请求,并且通常放在 URL 的末尾,因此当 IE 剪切 url 时,batchId 通常会随着该“更正”而消失,从而使 dwr 抛出该异常,因为无法在 URL 上找到它.

为了解决这个问题,我被迫使用 JSONP ( http://directwebremoting.org/dwr/introduction/remoting_options.html )

希望有帮助。

关于java - 警告 [org.directwebremoting.dwrp.BaseCallHandler] 处理批处理时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32602475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com