ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
791
791
EMPFEHLEN
-
29.07.09 22:54 #1chysm Tutorials.de Gastzugang
Hallo zusammen, habe wie der Name des Themas deuten lässt ein Problem einen FileUpload über ein Portlet zu realisieren.
Folgende Fehlermeldung wird geworfen (WebSphere 6.1):
Code :1
SRV.8.2: RequestWrapper objects must extend ServletRequestWrapper or HttpServletRequestWrapper ....
Für den FileUpload nutze ich "org.apache.commons.fileupload", hatte das vorher mal in einer lokalen Anwendung probiert, ging einwandfrei....
Ich nehme an das SAS Portal (basiert auf dem Struts Framework) kann den Enctype nicht verarbeiten.
Aber die SAS Portlet-API sieht keinen web.xml Depl. Decriptor vor, sowie für das Deployment auf dem Web-Server kein .war sondern ein .par Archive erzeugt wird.
Ich weiß jetzt nicht wie ich da einen Filter oder Wrapper implementieren könnte.
Gibt es eventuell einen Workaround oder eine andere Lösung,
wäre für jede Hilfe dankbar..
Gruß
ChysmGeändert von chysm (29.07.09 um 23:01 Uhr)
-
01.08.09 19:08 #2chysm Tutorials.de Gastzugang
Hallo zusammen,
ich bin nun ein ganzes Stück weiter gekommen.
Habe ein eigenes Servlet geschrieben und binde das als .jar mit in die Portalapplikation ein, klappt auch wunderbar..
Nur leider kommt glei das nächste Problem hinterher
Dem Upload Form gebe ich als Hidden-Feld die URL zur nächsten Portlet-Action mit, um so vom Servlet zurück zum Porltet zukommen.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { super.doGet(request, response); String urlUp = ""; if(ServletFileUpload.isMultipartContent(request)){ try{ FileItemFactory fileItemFactory = new DiskFileItemFactory(); ServletFileUpload fileUpload = new ServletFileUpload(fileItemFactory); List fileItems = null; fileItems = fileUpload.parseRequest(request); Iterator fileItemIterator = fileItems.iterator(); while(fileItemIterator.hasNext()){ FileItem fileItem = (FileItem) fileItemIterator.next(); if(!fileItem.isFormField()){ String fileItemName = fileItem.getName(); //Name Bearbeiten fileItemName = fileItemName.replace("\\", "/"); fileItemName = fileItemName.substring(fileItemName.lastIndexOf('/') + 1); //Lokales Verzeichnis zum Testen des Uploads File uploadedFile = new File("C://Uploads/"+fileItemName); fileItem.write(uploadedFile); } else{ //Portlet URL auslesen if(fileItem.getString().contains("sas/portlets")){ urlUp = fileItem.getString(); } } } }catch(Exception ex){ ex.printStackTrace(); } } // RequestDispatcher dispatcher = getServletContext().getRequestDispatcher(urlUp); // dispatcher.forward(request,response); response.sendRedirect(urlUp); }
Beim Redirect fliegt dann folgende Exception:
Code :1 2 3 4 5 6
[01.08.09 19:05:07:151 CEST] 0000003b ServletWrappe E SRVE0068E: Es wurde eine Ausnahme angefangen, die in einer der Servicemethoden des Servlet FileUpload ausgelöst wurde. Ausgelöste Ausnahme: java.lang.IllegalStateException at com.ibm.ws.webcontainer.webapp.WebAppDispatcherContext.sendRedirectWithStatusCode(WebAppDispatcherContext.java:492) at com.ibm.ws.webcontainer.webapp.WebAppDispatcherContext.sendRedirect(WebAppDispatcherContext.java:449) at com.ibm.ws.webcontainer.srt.SRTServletResponse.sendRedirect(SRTServletResponse.java:1036) ................................................... [01.08.09 19:05:07:213 CEST] 0000003b SRTServletRes W WARNING: Cannot set status. Response already committed.
Bin wie immer für jeden Rat dankbar!
Gruß
ChysmGeändert von chysm (01.08.09 um 19:12 Uhr)
Ähnliche Themen
-
userId bei Start eines Liferay-Portlets ermitteln
Von cuchulainn im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 1Letzter Beitrag: 02.01.09, 11:17 -
Portlets - Tutorials / Guides
Von Goosefraba im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 0Letzter Beitrag: 17.07.08, 13:33 -
IBM Portlets for IBM DB2 Content Manager V8.3
Von Kleiner Maulwurf im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 3Letzter Beitrag: 23.08.06, 16:27 -
JBoss KOSMOS JSR-168 kompatible Portlets zur Ueberwachung von Softwareprojekten
Von Thomas Darimont im Forum Java Technology NewsAntworten: 0Letzter Beitrag: 27.04.06, 14:35 -
Java Portlets
Von drvj im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 0Letzter Beitrag: 22.02.05, 19:57





Zitieren
Login





