[英]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.