2011-01-26 7 views
6

Sto costruendo un servizio web che restituisce una risposta multipart. Conosco il formato per la costruzione di una risposta in più parti; e costruirò i miei strumenti se non riesco a trovare gli strumenti esistenti.Esiste un'utilità java per la produzione di risposte multiparte http?

Forse ho solo bisogno di aiuto con il mio google-foo. Tutto quello che trovo riguarda il POSTing o il consumo di messaggi multiparte. Nulla sulla produzione di risposte multiparte.

+0

Una più utile Google parola chiave può essere * cometa * e/o * multipart/x -mixed-sostituito *. – BalusC

+0

Hai trovato una biblioteca adatta o hai finito per costruirti una tua? Sto colpendo lo stesso problema ora. – Wysawyg

risposta

-1

Hai provato il progetto Apache HttpClient? Non l'ho guardato da quando è uscito dalla roba di Apache Commons, ma so che ha fatto molto con le risposte in più parti.

Questo è per il consumo, non è sicuro se c'è qualcosa da produrre, ma potrebbe essere un punto di partenza.

http://hc.apache.org/httpclient-3.x/methods/multipartpost.html

+1

Questo non è per * consumare * risposte multipart ** **. HttpClient * produce * richieste multipart ** **. Un esempio di consumatore di richieste multipart sarebbe il [Commons FileUpload] (http://commons.apache.org/fileupload/). OP sta chiedendo specificatamente * producendo * risposte multipart ** **. Non sono sicuro che HttpClient supporti * il consumo di risposte multipart. Le risposte multipart sono piuttosto rare. – BalusC

+0

HttpClient consumerà risposte multiparte. Non sono riuscito a trovare alcuna funzione per la produzione di risposte mulit-parti. –

6

È possibile utilizzare i servlet oreilly http://www.servlets.com/cos/

Un esempio è nel javadoc: http://www.servlets.com/cos/javadoc/com/oreilly/servlet/MultipartResponse.html

import com.oreilly.servlet.MultipartResponse 

//javax.servlet.http.HttpServletResponse res 
MultipartResponse multi = new MultipartResponse(res); 

multi.startResponse("text/plain"); 
out.println("On your mark"); 
multi.endResponse(); 

try { Thread.sleep(1000); } catch (InterruptedException e) { } 

multi.startResponse("text/plain"); 
out.println("Get set"); 
multi.endResponse(); 

try { Thread.sleep(1000); } catch (InterruptedException e) { } 

multi.startResponse("image/gif"); 
ServletUtils.returnFile(req.getRealPath("/images/go.gif"), out); 

multi.finish();