2014-09-01 7 views
0

Apache Commons FileUpload을 사용하여 파일 업로드를 받고 있습니다. 아래의 방법은 Weblogic 10.3.6을 제외한 Weblogic 12.1.3을 포함하여 테스트 한 모든 응용 프로그램 서버에서 올바르게 작동합니다.Weblogic에서 HttpServletRequest 입력 스트림이 비어 있습니다. 10.3

parseRequest 메서드는 HttpServletRequestinputstream이 비어 있음을 나타내는 빈 목록을 반환합니다. Weblogic 10.3.6 서버에서이 작업을 수행하는 방법을 찾고 있습니까?

@POST 
@Path("upload/{environment}/{queueName}") 
@Consumes(MediaType.MULTIPART_FORM_DATA) 
@Produces({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON}) 
public Message putQueueFile(
     @PathParam("environment") String environmentName, 
     @PathParam("queueName") String queueName, 
     @Context HttpServletRequest req) { 

    if (ServletFileUpload.isMultipartContent(req)) { 
     log.debug("putQueueFile:: Multipart form submission received"); 
     // Create a factory for disk-based file items 
     DiskFileItemFactory fileItemFactory = createDiskFileItemFactory(req.getSession().getServletContext()); 
     ServletFileUpload uploadHandler = new ServletFileUpload(fileItemFactory); 
     uploadHandler.setFileSizeMax(MAX_UPLOAD_FILE_SIZE); 

     try { 
      /* 
      * Parse the request 
      */ 
      List items = uploadHandler.parseRequest(req); 
      log.debug(String.format("putQueueFile:: Looping through %d items", items.size())); 

답변

0

마지막으로 최하단에 위치하여 10.3에 사용 된 web.xml 파일의 문제점이었습니다. 이 요청을 읽을 수 원인 때문에 빈 입력 스트림을 일으키는

<init-param> 
    <param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name> 
    <param-value>com.sun.jersey.api.container.filter.LoggingFilter</param-value> 
</init-param> 

와 요청에 대해 구체적으로 우리가 사용했던 저지 로깅. 요청에 대한 로깅을 사용하지 않도록 설정하면 오류가 해결되었습니다.

관련 문제