我目前无法在Chrome 25或IE 8中通过HTTPS使用rich:fileUpload进行工作。POST已发送,但从未收到响应。奇怪的是,它确实可以在Firefox 19中的HTTPS上运行。当使用HTTP时,它也可以在所有浏览器中使用。 HTTP和HTTPS请求都通过Apache httpd 2提供给Tomcat 6。

在查看暂停的HTTPS请求线程时,org.ajax4jsf.request.MultipartRequest会继续尝试读取第一个字节以外的内容,但从未成功。 (请参见下面的堆栈跟踪。)

请问有人有什么建议吗?

注意:不使用allowFlash(例如,它设置为false)

使用的版本:


Richfaces 3.3.1
Tomcat 6.0.24
AJP 1.3
Java 6
运行mod_jk的Apache 2


来自调试器的堆栈跟踪:


  守护程序线程[ajp-8009-5](已暂停)
      ByteArrayOutputStream。(int)第60行
      MultipartRequest.readHeader()行:490
      MultipartRequest.readNext()行:427
      MultipartRequest.getParam(String)行:807
      MultipartRequest.getParameter(String)行:870
      IdentityRequestWrapper(ServletRequestWrapper).getParameter(String)行:158
      RequestParameterMap.getAttribute(String)行:45
      RequestParameterMap.getAttribute(String)行:33
      RequestParameterMap(AbstractAttributeMap).containsKey(Object)第59行
      HtmlResponseStateManager.isPostback(FacesContext)行:212
      DefaultRestoreViewSupport.isPostback(FacesContext)行:128
      RestoreViewExecutor.execute(FacesContext)行:80
      LifecycleImpl.executePhase(FacesContext,PhaseExecutor,PhaseListenerManager)行:103
      LifecycleImpl.execute(FacesContext)行:76
      FacesServlet.service(ServletRequest,ServletResponse)行:151
      ApplicationFilterChain.internalDoFilter(ServletRequest,ServletResponse)行:290
      ApplicationFilterChain.doFilter(ServletRequest,ServletResponse)行:206
      ExtensionsFilter.doFilter(ServletRequest,ServletResponse,FilterChain)行:190
      ApplicationFilterChain.internalDoFilter(ServletRequest,ServletResponse)行:235
      ApplicationFilterChain.doFilter(ServletRequest,ServletResponse)行:206
      当前的SelectedTabFilter.doFilter(ServletRequest,ServletResponse,FilterChain)行:42
      ApplicationFilterChain.internalDoFilter(ServletRequest,ServletResponse)行:235
      ApplicationFilterChain.doFilter(ServletRequest,ServletResponse)行:206
      PageLoadFilter.doFilter(ServletRequest,ServletResponse,FilterChain)行:58
      ApplicationFilterChain.internalDoFilter(ServletRequest,ServletResponse)行:235
      ApplicationFilterChain.doFilter(ServletRequest,ServletResponse)行:206
      TimeoutFilter.doFilter(ServletRequest,ServletResponse,FilterChain)行:45
      ApplicationFilterChain.internalDoFilter(ServletRequest,ServletResponse)行:235
      ApplicationFilterChain.doFilter(ServletRequest,ServletResponse)行:206
      ResourceTrackerFilter.doFilter(ServletRequest,ServletResponse,FilterChain)行:55
      ApplicationFilterChain.internalDoFilter(ServletRequest,ServletResponse)行:235
      ApplicationFilterChain.doFilter(ServletRequest,ServletResponse)行:206
      SeamFilter $ FilterChainImpl.doFilter(ServletRequest,ServletResponse)行:83
      IdentityFilter.doFilter(ServletRequest,ServletResponse,FilterChain)行:40
      SeamFilter $ FilterChainImpl.doFilter(ServletRequest,ServletResponse)行:69
      MultipartFilter.doFilter(ServletRequest,ServletResponse,FilterChain)行:90
      SeamFilter $ FilterChainImpl.doFilter(ServletRequest,ServletResponse)行:69
      ExceptionFilter.doFilter(ServletRequest,ServletResponse,FilterChain)行:64
      SeamFilter $ FilterChainImpl.doFilter(ServletRequest,ServletResponse)行:69
      RedirectFilter.doFilter(ServletRequest,ServletResponse,FilterChain)行:45
      SeamFilter $ FilterChainImpl.doFilter(ServletRequest,ServletResponse)行:69
      ConfigurableXMLFilter(BaseXMLFilter).doXmlFilter(FilterChain,HttpServletRequest,HttpServletResponse)行:178
      Filter(BaseFilter).handleRequest(HttpServletRequest,HttpServletResponse,FilterChain)行:290
      Filter(BaseFilter).processUploadsAndHandleRequest(HttpServletRequest,HttpServletResponse,FilterChain)行:347
      Filter(BaseFilter).doFilter(ServletRequest,ServletResponse,FilterChain)行:495
      Ajax4jsfFilter.doFilter(ServletRequest,ServletResponse,FilterChain)行:56
      SeamFilter $ FilterChainImpl.doFilter(ServletRequest,ServletResponse)行:69
      SeamFilter.doFilter(ServletRequest,ServletResponse,FilterChain)行:158
      ApplicationFilterChain.internalDoFilter(ServletRequest,ServletResponse)行:235
      ApplicationFilterChain.doFilter(ServletRequest,ServletResponse)行:206
      CharacterEncodingFilter.doFilterInternal(HttpServletRequest,HttpServletResponse,FilterChain)行:96
      CharacterEncodingFilter(OncePerRequestFilter).doFilter(ServletRequest,ServletResponse,FilterChain)行:75
      ApplicationFilterChain.internalDoFilter(ServletRequest,ServletResponse)行:235
      ApplicationFilterChain.doFilter(ServletRequest,ServletResponse)行:206
      StandardWrapperValve.invoke(Request,Response)行:233
      StandardContextValve.invoke(Request,Response)行:191
      BasicAuthenticator(AuthenticatorBase).invoke(请求,响应)行:465
      StandardHostValve.invoke(Request,Response)行:127
      ErrorReportValve.invoke(请求,响应)行:102
      AccessLogValve.invoke(Request,Response)行:555
      StandardEngineValve.invoke(Request,Response)行:109
      CoyoteAdapter.service(请求,响应)行:298
      AjpAprProcessor.process(long)行:429
      AjpAprProtocol $ AjpConnectionHandler.process(long)行:384
      AprEndpoint $ Worker.run()行:1555
      Thread.run()行:662

最佳答案

不知道您是否正在使用“ allowFlash”选项,但雷达上有以下错误。我们自己碰到了它。
https://issues.jboss.org/browse/RF-5624

关于tomcat - rich:fileUpload无法通过HTTP/SSL(带有Apache2 + AJP + Tomcat 6.0.24)上传,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15167798/

10-10 04:12