2011-12-29 6 views
6

Acabo de intentar usar FormDataMultiPart pero desafortunadamente no parece que me ayude. Ahora me sale el siguiente mensaje de error:Manejo de entrada multipart/form-data

SEVERE: A message body reader for Java class com.sun.jersey.multipart.FormDataMultiPart, and Java type class com.sun.jersey.multipart.FormDataMultiPart, and MIME media type multipart/form-data; boundary=----------Ef1gL6cH2ae0gL6Ij5cH2Ef1KM7Ij5 was not found. 
The registered message body readers compatible with the MIME media type are: 
*/* -> 
    com.sun.jersey.core.impl.provider.entity.FormProvider 
    com.sun.jersey.core.impl.provider.entity.StringProvider 
    com.sun.jersey.core.impl.provider.entity.ByteArrayProvider 
    com.sun.jersey.core.impl.provider.entity.FileProvider 
    com.sun.jersey.core.impl.provider.entity.InputStreamProvider 
    com.sun.jersey.core.impl.provider.entity.DataSourceProvider 
    com.sun.jersey.core.impl.provider.entity.XMLJAXBElementProvider$General 
    com.sun.jersey.core.impl.provider.entity.ReaderProvider 
    com.sun.jersey.core.impl.provider.entity.DocumentProvider 
    com.sun.jersey.core.impl.provider.entity.SourceProvider$StreamSourceReader 
    com.sun.jersey.core.impl.provider.entity.SourceProvider$SAXSourceReader 
    com.sun.jersey.core.impl.provider.entity.SourceProvider$DOMSourceReader 
    com.sun.jersey.json.impl.provider.entity.JSONJAXBElementProvider$General 
    com.sun.jersey.json.impl.provider.entity.JSONArrayProvider$General 
    com.sun.jersey.json.impl.provider.entity.JSONObjectProvider$General 
    com.sun.jersey.core.impl.provider.entity.XMLRootElementProvider$General 
    com.sun.jersey.core.impl.provider.entity.XMLListElementProvider$General 
    com.sun.jersey.core.impl.provider.entity.XMLRootObjectProvider$General 
    com.sun.jersey.core.impl.provider.entity.EntityHolderReader 
    com.sun.jersey.json.impl.provider.entity.JSONRootElementProvider$General 
    com.sun.jersey.json.impl.provider.entity.JSONListElementProvider$General 
    com.sun.jersey.json.impl.provider.entity.JacksonProviderProxy 

Es un problema en el servidor o en el cliente?

El código del lado del cliente que tenemos se ha tomado de this site

+0

La excepción se queja de que el mensaje está mal formado. – bmargulies

+0

@bmargulies Entonces, ¿el problema es con el cliente de carga? – xybrek

+0

¡No deberías estar utilizando las API de com.sun. *! No es que esto explique tu error, pero es una muy mala idea. ¿Qué pasa si alguien intenta ejecutar su código en OpenJDK? – fge

Respuesta

9

Una búsqueda en Google de "grave: Un lector cuerpo del mensaje para Java" se convierte en imagen en esta pepita http://jersey.576304.n2.nabble.com/SEVERE-A-message-body-reader-for-Java-class-com-sun-jersey-multipart-FormDataMultiPart-and-Java-typed-td5969276.html

" ... Por favor asegúrese tienes mimepull.jar en el classpath ... "

Se parece mucho a tu stacktrace, ¿no? Tendría que decir que falta algo en el servidor.

+0

Me preguntaba cómo subir archivos en clientes relajantes. Tengo que probar esto. –

+0

Estaba obteniendo el mismo error hasta que agregué mimepull.jar al classpath. – fthinker

+0

necesitará varias partes (obtenga la misma versión que su servidor jersey) (el mío fue http://mvnrepository.com/artifact/com.sun.jersey.contribs/jersey-multipart/1.14) y observe la sección de dependencia que muestra la necesidad de mimepull y proporciona un enlace (mimepull-1.6.jar). – Jason

4

resolvió:

include mimepull-1.6.jar