簡體   English   中英

Weblogic 10.3上的HttpServletRequest輸入流為空

[英]HttpServletRequest inputstream empty on Weblogic 10.3

我正在使用Apache Commons FileUpload接收文件上傳。 下面的方法對於所有測試的應用程序服務器(包括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>

這導致讀取請求,因此導致輸入流為空。 禁用請求的日志記錄后,該錯誤已解決。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM