Java Weblogic 10.3上的HttpServletRequest inputstream为空

Java Weblogic 10.3上的HttpServletRequest inputstream为空,java,servlets,weblogic-10.x,weblogic11g,Java,Servlets,Weblogic 10.x,Weblogic11g,我正在使用apachecommons文件上传来接收文件上传。以下方法适用于所有测试的应用程序服务器,包括Weblogic 12.1.3,Weblogic 10.3.6除外 parseRequest方法返回一个空列表,表示HttpServletRequestinputstream为空。我只是想知道如何在Weblogic 10.3.6服务器上运行它 @POST @Path("upload/{environment}/{queueName}") @Consumes(MediaType.MULTIPAR

我正在使用apachecommons文件上传来接收文件上传。以下方法适用于所有测试的应用程序服务器,包括Weblogic 12.1.3,Weblogic 10.3.6除外

parseRequest
方法返回一个空列表,表示
HttpServletRequest
inputstream
为空。我只是想知道如何在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()));

最终找到了问题的症结所在,这是我们在10.3中使用的web.xml文件的一个问题。具体来说,我们已经为具有的请求启用了jersey日志记录

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

com.sun.jersey.spi.container.ContainerRequestFilters
com.sun.jersey.api.container.filter.LoggingFilter
这导致读取请求,因此导致输入流为空。一旦禁用请求的日志记录,错误就被解决了