2011-01-26 11 views
6

Estoy construyendo un servicio web que devuelve una respuesta de varias partes. Conozco el formato para construir una respuesta de varias partes; y construiré mis propias herramientas si no puedo encontrar las herramientas existentes.¿Existe una utilidad java para producir respuestas http de varias partes?

Quizás solo necesite ayuda con mi google-foo. Todo lo que encuentro se trata de POSTING o consumir mensajes de varias partes. Nada sobre producir respuestas de varias partes.

+0

A más útil palabras clave de Google puede ser * cometa * y/o * multipart/x -mezclado-reemplazado *. – BalusC

+0

¿Encontró una biblioteca adecuada o acabó construyendo la suya? Estoy golpeando el mismo problema ahora. – Wysawyg

Respuesta

-1

¿Has probado el proyecto Apache HttpClient? No lo he visto desde que salió de Apache Commons, pero sé que hizo mucho con las respuestas de varias partes.

Esto es para consumir: no estoy seguro de si hay algo para producir, pero podría ser un buen lugar para comenzar.

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

+1

Esto no es para * respuestas * multiparte ** **. HttpClient * produce * solicitudes ** de varias partes **. Un ejemplo de un consumidor de solicitudes de varias partes sería el [Commons FileUpload] (http://commons.apache.org/fileupload/). OP específicamente está pidiendo * producir ** respuestas ** en varias partes **. No estoy seguro de si HttpClient admite * respuestas * multipartitas * que consuman. Las respuestas de varias partes son bastante raras. – BalusC

+0

HttpClient consumirá respuestas de varias partes. No pude encontrar ninguna facilidad para producir respuestas de partes mulit. –

6

Puede usar servlets oreilly http://www.servlets.com/cos/

Un ejemplo se encuentra en el 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(); 
Cuestiones relacionadas