RestEasy не удалось проанализировать файл emlJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 RestEasy не удалось проанализировать файл eml

Сообщение Anonymous »

В моем проекте java jboss я использую resteasy API для поддержки загрузки файлов, он работает нормально, пока кто-то не загрузит файл .eml и не запустит NPE.
Более подробное описание проблемы можно найти здесь: https:// Issues.redhat.com/browse/RESTEASY-1255
Я использую версию Resteasy 3.0.24.final.
< strong>Решение, которое я попробовал:
Просматривая связанные билеты RESTEASY-1255, я нашел соответствующий билет https://issues.redhat.com/browse /RESTEASY-754, что указывает на то, что проблема решена в версии 4.0.0.final
поэтому я обновил resteasy-multipart-provider до 4.0.0.final

Код: Выделить всё

org.jboss.resteasy
resteasy-multipart-provider
4.0.0.CR1
provided

но проблема остается.
Я очень незнаком с jboss или resteasy.
Может ли кто-нибудь укажите мне направление к любому возможному решению? Буду очень признателен за подробную инструкцию!
Вот фрагмент моего кода:
Интерфейс контроллера

Код: Выделить всё

import org.jboss.resteasy.annotations.providers.multipart.MultipartForm;
import org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput;

@POST
@GZIP
@Produces(MediaType.TEXT_PLAIN)
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Path("/upload")
public Response uploadSomeDocument(@MultipartForm MultipartFormDataInput input);
Реализация интерфейса контроллера

Код: Выделить всё

import org.jboss.resteasy.plugins.providers.multipart.InputPart;
import org.jboss.resteasy.plugins.providers.multipart.MultipartFormDataInput;

@Override
public Response uploadSomeDocument(MultipartFormDataInput input) {
Map formDataMap = input.getFormDataMap();
List inputParts = formDataMap.get("file");
// here the inputStream is null
InputStream inputStream = inputPart.getBody(InputStream.class, null);
// therefore trigger NPE in this step
byte[] bytes = IOUtils.toByteArray(inputStream);
// operation on bytes
}
pom.xml

Код: Выделить всё



org.jboss.bom
jboss-eap-javaee7-with-tools
7.1.0.GA
pom
import



org.jboss.spec
jboss-javaee-7.0
1.1.0.Final-redhat-3
pom
import






org.jboss.spec.javax.servlet
jboss-servlet-api_3.1_spec
provided


org.jboss.spec.javax.ws.rs
jboss-jaxrs-api_2.0_spec
provided



org.jboss.spec.javax.annotation
jboss-annotations-api_1.2_spec
provided



org.jboss.resteasy
resteasy-jaxrs
provided



org.jboss.logging
jboss-logging
provided



org.jboss.resteasy
resteasy-multipart-provider
provided



трассировка стека

Код: Выделить всё

Caused by: java.lang.NullPointerException
at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:2314) [commons-io-2.6.jar:2.6]
at org.apache.commons.io.IOUtils.copy(IOUtils.java:2270) [commons-io-2.6.jar:2.6]
at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:2291) [commons-io-2.6.jar:2.6]
at org.apache.commons.io.IOUtils.copy(IOUtils.java:2246) [commons-io-2.6.jar:2.6]
at org.apache.commons.io.IOUtils.toByteArray(IOUtils.java:765) [commons-io-2.6.jar:2.6]
at com.xxx.repository.SOUploadFileRepository.write(SOUploadFileRepository.java:64) [data-scx-2.0.188-SNAPSHOT.jar:]
at com.xxx.so.SalesOrderServiceImpl.uploadCustomerPoDocument(SalesOrderServiceImpl.java:2179) [data-scx-2.0.188-SNAPSHOT.jar:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_362]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_362]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_362]
at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_362]
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:140) [resteasy-jaxrs-3.0.24.Final-redhat-1.jar:3.0.24.Final-redhat-1]
at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295) [resteasy-jaxrs-3.0.24.Final-redhat-1.jar:3.0.24.Final-redhat-1]
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249) [resteasy-jaxrs-3.0.24.Final-redhat-1.jar:3.0.24.Final-redhat-1]
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:236) [resteasy-jaxrs-3.0.24.Final-redhat-1.jar:3.0.24.Final-redhat-1]
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:406) [resteasy-jaxrs-3.0.24.Final-redhat-1.jar:3.0.24.Final-redhat-1]
... 43 more
среда запуска
Она упакована как военный файл и запускается под управлением JBoss EAP 7.1

Подробнее здесь: https://stackoverflow.com/questions/791 ... e-eml-file
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»