0

I added RestEasy to pom.xml (Maven) for I use the Multipart for I can update a Excel file by POST request.

I'm trying to get the data from Excel File to a InputStream. The erro is: "Cannot produce an instance of class org.jboss.resteasy.plugins.providers.DocumentProvider".

The application is compiling and creating the file WAR, but when I deploy the file with Payara there is a problem:

     The following warnings have been detected: WARNING: Unknown HK2 failure detected:
MultiException stack 1 of 1
org.jboss.weld.exceptions.CreationException: WELD-001530: Cannot produce an instance of class org.jboss.resteasy.plugins.providers.DocumentProvider.
        at org.jboss.weld.injection.producer.NonProducibleInjectionTarget.produce(NonProducibleInjectionTarget.java:79)
        at org.glassfish.jersey.ext.cdi1x.internal.AbstractCdiBeanSupplier$2.getInstance(AbstractCdiBeanSupplier.java:109)
        at org.glassfish.jersey.ext.cdi1x.internal.AbstractCdiBeanSupplier._provide(AbstractCdiBeanSupplier.java:127)
        at org.glassfish.jersey.ext.cdi1x.internal.GenericCdiBeanSupplier.get(GenericCdiBeanSupplier.java:66)
        at org.glassfish.jersey.inject.hk2.InstanceSupplierFactoryBridge.provide(InstanceSupplierFactoryBridge.java:77)
        at org.jvnet.hk2.internal.FactoryCreator.create(FactoryCreator.java:153)
        at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:487)
        at org.jvnet.hk2.internal.PerLookupContext.findOrCreate(PerLookupContext.java:70)
        at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2126)
        at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:116)
        at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:90)
        at org.glassfish.jersey.inject.hk2.AbstractHk2InjectionManager.lambda$getAllServiceHolders$0(AbstractHk2InjectionManager.java:160)
        at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
        at java.util.LinkedList$LLSpliterator.forEachRemaining(Unknown Source)
        at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
        at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
        at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
        at java.util.stream.ReferencePipeline.collect(Unknown Source)
        at org.glassfish.jersey.inject.hk2.AbstractHk2InjectionManager.getAllServiceHolders(AbstractHk2InjectionManager.java:164)
        at org.glassfish.jersey.inject.hk2.ImmediateHk2InjectionManager.getAllServiceHolders(ImmediateHk2InjectionManager.java:54)
        at org.glassfish.jersey.internal.inject.Providers.getServiceHolders(Providers.java:332)
        at org.glassfish.jersey.internal.inject.Providers.getProviders(Providers.java:160)
        at org.glassfish.jersey.message.internal.MessageBodyFactory.initialize(MessageBodyFactory.java:241)
        at org.glassfish.jersey.message.internal.MessageBodyFactory$MessageBodyWorkersConfigurator.postInit(MessageBodyFactory.java:138)
        at org.glassfish.jersey.server.ApplicationHandler.lambda$initialize$2(ApplicationHandler.java:373)
        at java.util.Arrays$ArrayList.forEach(Unknown Source)
        at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:373)
        at org.glassfish.jersey.server.ApplicationHandler.lambda$initialize$1(ApplicationHandler.java:317)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:316)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:298)
        at org.glassfish.jersey.internal.Errors.processWithException(Errors.java:256)
        at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:316)
        at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:283)
        at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:335)
        at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:178)
        at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:370)
        at javax.servlet.GenericServlet.init(GenericServlet.java:244)
        at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1521)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1329)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5494)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:5739)
        at com.sun.enterprise.web.WebModule.start(WebModule.java:618)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:956)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:939)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:684)
        at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2105)
        at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1750)
        at com.sun.enterprise.web.WebApplication.start(WebApplication.java:107)
        at org.glassfish.internal.data.EngineRef.start(EngineRef.java:123)
        at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:294)
        at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:357)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.initialize(ApplicationLifecycle.java:541)
        at fish.payara.deployment.admin.InitializeAllApplicationsCommand.execute(InitializeAllApplicationsCommand.java:75)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:549)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:545)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Unknown Source)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:544)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:575)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:567)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Unknown Source)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:566)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1475)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1300(CommandRunnerImpl.java:111)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1857)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1733)
        at com.sun.enterprise.admin.cli.embeddable.CommandExecutorImpl.executeCommand(CommandExecutorImpl.java:172)
        at com.sun.enterprise.admin.cli.embeddable.CommandExecutorImpl.run(CommandExecutorImpl.java:96)
        at fish.payara.micro.impl.PayaraMicroImpl.bootStrap(PayaraMicroImpl.java:1045)
        at fish.payara.micro.impl.PayaraMicroImpl.main(PayaraMicroImpl.java:200)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at fish.payara.micro.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
        at fish.payara.micro.boot.loader.Launcher.launch(Launcher.java:107)
        at fish.payara.micro.boot.loader.Launcher.launch(Launcher.java:70)
        at fish.payara.micro.boot.PayaraMicroLauncher.main(PayaraMicroLauncher.java:79)
        at fish.payara.micro.PayaraMicro.main(PayaraMicro.java:397)

]]

[2019-01-30T22:15:21.421+0000] [] [?[1;91mSEVERE?[0m] [] [?[1;94mjavax.enterprise.web?[0m] [tid: _ThreadID=1 _ThreadName=main] [timeMillis: 1548886521421] [
levelValue: 1000] [[
  WebModule[/threept]StandardWrapper.Throwable
MultiException stack 1 of 1
org.jboss.weld.exceptions.CreationException: WELD-001530: Cannot produce an instance of class org.jboss.resteasy.plugins.providers.DocumentProvider.
        at org.jboss.weld.injection.producer.NonProducibleInjectionTarget.produce(NonProducibleInjectionTarget.java:79)
        at org.glassfish.jersey.ext.cdi1x.internal.AbstractCdiBeanSupplier$2.getInstance(AbstractCdiBeanSupplier.java:109)
        at org.glassfish.jersey.ext.cdi1x.internal.AbstractCdiBeanSupplier._provide(AbstractCdiBeanSupplier.java:127)
        at org.glassfish.jersey.ext.cdi1x.internal.GenericCdiBeanSupplier.get(GenericCdiBeanSupplier.java:66)
        at org.glassfish.jersey.inject.hk2.InstanceSupplierFactoryBridge.provide(InstanceSupplierFactoryBridge.java:77)
        at org.jvnet.hk2.internal.FactoryCreator.create(FactoryCreator.java:153)
        at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:487)
        at org.jvnet.hk2.internal.PerLookupContext.findOrCreate(PerLookupContext.java:70)
        at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2126)
        at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:116)
        at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:90)
        at org.glassfish.jersey.inject.hk2.AbstractHk2InjectionManager.lambda$getAllServiceHolders$0(AbstractHk2InjectionManager.java:160)
        at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
        at java.util.LinkedList$LLSpliterator.forEachRemaining(Unknown Source)
        at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
        at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
        at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
        at java.util.stream.ReferencePipeline.collect(Unknown Source)
        at org.glassfish.jersey.inject.hk2.AbstractHk2InjectionManager.getAllServiceHolders(AbstractHk2InjectionManager.java:164)
        at org.glassfish.jersey.inject.hk2.ImmediateHk2InjectionManager.getAllServiceHolders(ImmediateHk2InjectionManager.java:54)
        at org.glassfish.jersey.internal.inject.Providers.getServiceHolders(Providers.java:332)
        at org.glassfish.jersey.internal.inject.Providers.getProviders(Providers.java:160)
        at org.glassfish.jersey.message.internal.MessageBodyFactory.initialize(MessageBodyFactory.java:241)
        at org.glassfish.jersey.message.internal.MessageBodyFactory$MessageBodyWorkersConfigurator.postInit(MessageBodyFactory.java:138)
        at org.glassfish.jersey.server.ApplicationHandler.lambda$initialize$2(ApplicationHandler.java:373)
        at java.util.Arrays$ArrayList.forEach(Unknown Source)
        at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:373)
        at org.glassfish.jersey.server.ApplicationHandler.lambda$initialize$1(ApplicationHandler.java:317)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:316)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:298)
        at org.glassfish.jersey.internal.Errors.processWithException(Errors.java:256)
        at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:316)
        at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:283)
        at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:335)
        at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:178)
        at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:370)
        at javax.servlet.GenericServlet.init(GenericServlet.java:244)
        at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1521)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1329)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5494)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:5739)
        at com.sun.enterprise.web.WebModule.start(WebModule.java:618)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:956)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:939)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:684)
        at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2105)
        at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1750)
        at com.sun.enterprise.web.WebApplication.start(WebApplication.java:107)
        at org.glassfish.internal.data.EngineRef.start(EngineRef.java:123)
        at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:294)
        at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:357)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.initialize(ApplicationLifecycle.java:541)
        at fish.payara.deployment.admin.InitializeAllApplicationsCommand.execute(InitializeAllApplicationsCommand.java:75)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:549)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:545)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Unknown Source)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:544)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:575)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:567)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Unknown Source)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:566)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1475)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1300(CommandRunnerImpl.java:111)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1857)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1733)
        at com.sun.enterprise.admin.cli.embeddable.CommandExecutorImpl.executeCommand(CommandExecutorImpl.java:172)
        at com.sun.enterprise.admin.cli.embeddable.CommandExecutorImpl.run(CommandExecutorImpl.java:96)
        at fish.payara.micro.impl.PayaraMicroImpl.bootStrap(PayaraMicroImpl.java:1045)
        at fish.payara.micro.impl.PayaraMicroImpl.main(PayaraMicroImpl.java:200)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at fish.payara.micro.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
        at fish.payara.micro.boot.loader.Launcher.launch(Launcher.java:107)
        at fish.payara.micro.boot.loader.Launcher.launch(Launcher.java:70)
        at fish.payara.micro.boot.PayaraMicroLauncher.main(PayaraMicroLauncher.java:79)
        at fish.payara.micro.PayaraMicro.main(PayaraMicro.java:397)
]]

[2019-01-30T22:15:21.423+0000] [] [?[1;91mSEVERE?[0m] [] [?[1;94mjavax.enterprise.web?[0m] [tid: _ThreadID=1 _ThreadName=main] [timeMillis: 1548886521423] [
levelValue: 1000] [[
  WebModule[/threept]Servlet /threept threw load() exception
org.jboss.weld.exceptions.CreationException: WELD-001530: Cannot produce an instance of class org.jboss.resteasy.plugins.providers.DocumentProvider.
        at org.jboss.weld.injection.producer.NonProducibleInjectionTarget.produce(NonProducibleInjectionTarget.java:79)
        at org.glassfish.jersey.ext.cdi1x.internal.AbstractCdiBeanSupplier$2.getInstance(AbstractCdiBeanSupplier.java:109)
        at org.glassfish.jersey.ext.cdi1x.internal.AbstractCdiBeanSupplier._provide(AbstractCdiBeanSupplier.java:127)
        at org.glassfish.jersey.ext.cdi1x.internal.GenericCdiBeanSupplier.get(GenericCdiBeanSupplier.java:66)
        at org.glassfish.jersey.inject.hk2.InstanceSupplierFactoryBridge.provide(InstanceSupplierFactoryBridge.java:77)
        at org.jvnet.hk2.internal.FactoryCreator.create(FactoryCreator.java:153)
        at org.jvnet.hk2.internal.SystemDescriptor.create(SystemDescriptor.java:487)
        at org.jvnet.hk2.internal.PerLookupContext.findOrCreate(PerLookupContext.java:70)
        at org.jvnet.hk2.internal.Utilities.createService(Utilities.java:2126)
        at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:116)
        at org.jvnet.hk2.internal.ServiceHandleImpl.getService(ServiceHandleImpl.java:90)
        at org.glassfish.jersey.inject.hk2.AbstractHk2InjectionManager.lambda$getAllServiceHolders$0(AbstractHk2InjectionManager.java:160)
        at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
        at java.util.LinkedList$LLSpliterator.forEachRemaining(Unknown Source)
        at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
        at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
        at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
        at java.util.stream.ReferencePipeline.collect(Unknown Source)
        at org.glassfish.jersey.inject.hk2.AbstractHk2InjectionManager.getAllServiceHolders(AbstractHk2InjectionManager.java:164)
        at org.glassfish.jersey.inject.hk2.ImmediateHk2InjectionManager.getAllServiceHolders(ImmediateHk2InjectionManager.java:54)
        at org.glassfish.jersey.internal.inject.Providers.getServiceHolders(Providers.java:332)
        at org.glassfish.jersey.internal.inject.Providers.getProviders(Providers.java:160)
        at org.glassfish.jersey.message.internal.MessageBodyFactory.initialize(MessageBodyFactory.java:241)
        at org.glassfish.jersey.message.internal.MessageBodyFactory$MessageBodyWorkersConfigurator.postInit(MessageBodyFactory.java:138)
        at org.glassfish.jersey.server.ApplicationHandler.lambda$initialize$2(ApplicationHandler.java:373)
        at java.util.Arrays$ArrayList.forEach(Unknown Source)
        at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:373)
        at org.glassfish.jersey.server.ApplicationHandler.lambda$initialize$1(ApplicationHandler.java:317)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:316)
        at org.glassfish.jersey.internal.Errors.process(Errors.java:298)
        at org.glassfish.jersey.internal.Errors.processWithException(Errors.java:256)
        at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:316)
        at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:283)
        at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:335)
        at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:178)
        at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:370)
        at javax.servlet.GenericServlet.init(GenericServlet.java:244)
        at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1521)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1329)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5494)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:5739)
        at com.sun.enterprise.web.WebModule.start(WebModule.java:618)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:956)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:939)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:684)
        at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:2105)
        at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1750)
        at com.sun.enterprise.web.WebApplication.start(WebApplication.java:107)
        at org.glassfish.internal.data.EngineRef.start(EngineRef.java:123)
        at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:294)
        at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:357)
        at com.sun.enterprise.v3.server.ApplicationLifecycle.initialize(ApplicationLifecycle.java:541)
        at fish.payara.deployment.admin.InitializeAllApplicationsCommand.execute(InitializeAllApplicationsCommand.java:75)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:549)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:545)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Unknown Source)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:544)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:575)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:567)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Unknown Source)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:566)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1475)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1300(CommandRunnerImpl.java:111)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1857)
        at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1733)
        at com.sun.enterprise.admin.cli.embeddable.CommandExecutorImpl.executeCommand(CommandExecutorImpl.java:172)
        at com.sun.enterprise.admin.cli.embeddable.CommandExecutorImpl.run(CommandExecutorImpl.java:96)
        at fish.payara.micro.impl.PayaraMicroImpl.bootStrap(PayaraMicroImpl.java:1045)
        at fish.payara.micro.impl.PayaraMicroImpl.main(PayaraMicroImpl.java:200)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at fish.payara.micro.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
        at fish.payara.micro.boot.loader.Launcher.launch(Launcher.java:107)
        at fish.payara.micro.boot.loader.Launcher.launch(Launcher.java:70)
        at fish.payara.micro.boot.PayaraMicroLauncher.main(PayaraMicroLauncher.java:79)
        at fish.payara.micro.PayaraMicro.main(PayaraMicro.java:397)
]]

I added this to pom.xml:

<dependency>
  <groupId>org.jboss.resteasy</groupId>
  <artifactId>resteasy-multipart-provider</artifactId>
  <version>3.6.2.Final</version>
</dependency>

This is part of my POST service:

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


    @POST
    @Path("/update")
    @Consumes(MediaType.MULTIPART_FORM_DATA)
    public void update(MultipartFormDataInput input) throws IOException {


    Map<String, List<InputPart>> uploadForm = input.getFormDataMap();

        // Get file data to save
        List<InputPart> inputParts = uploadForm.get("attachment");

        InputStream inputStream = null;
        for (InputPart inputPart : inputParts) {
            try {

                MultivaluedMap<String, String> header = inputPart.getHeaders();
                String fileName = getFileName(header);

                // convert the uploaded file to inputstream
                inputStream = inputPart.getBody(InputStream.class, null);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

        List<AtcLinks> atcLinksList = atcLinksExcelParser.parse(inputStream);
    }

//method getFileName

private String getFileName(MultivaluedMap<String, String> header) {
        String[] contentDisposition = header.getFirst("Content-Disposition").split(";");

        for (String filename : contentDisposition) {

            if ((filename.trim().startsWith("filename"))) {

                String[] name = filename.split("=");

                String finalFileName = name[1].trim().replaceAll("\"", "");
                return finalFileName;
            }
        }
        return "unknown";
    }
João Rodrigues
  • 55
  • 1
  • 1
  • 12
  • Your stacktrace shows you are using Jersey, but you are trying to use RESTEasy multipart. Why? You should be using the Jersey multipart support if you are using Jersey. Check out the docs [here Chapter 9.3](https://jersey.github.io/documentation/latest/index.html). And as a hint, the analogue of `MultipartFormDataInput` for Jersey is `FormDataMultiPart`. – Paul Samsotha Jan 30 '19 at 23:38
  • First I'm new in Java and I'm trying to use RESTEasy because it's the only way that I found in the internet to know how to upload an excel file. I'm going to read about what you said. – João Rodrigues Jan 30 '19 at 23:51

1 Answers1

2

Your stacktrace shows you are using Jersey, but you are trying to use RESTEasy multipart. Why? You should be using the Jersey multipart support if you are using Jersey. Check out the docs here Chapter 9.3.

For general usage, here is some info. The dependency you should add is

<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-multipart</artifactId>
    <version>2.27</version>
    <scope>provided</scope>
</dependency>

I used the provided scope because the server (Payara) should already have it. After you add the dependency, you need to register the MultiPartFeature with your application. After that, you are ready for use.

The analogue of MultipartFormDataInput for Jersey is FormDataMultiPart, as mentioned in the docs I linked to.

Paul Samsotha
  • 205,037
  • 37
  • 486
  • 720
  • I already change the code to use Jersey (FormDataMultiPart). Now I'm getting the error: "at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:395) at org.glassfish.jersey.server.ApplicationHandler.lambda$initialize$1(ApplicationHandler.java:317).........". But like you said, I need to registe the MultiPartFeature with the application. I'm going to do that and see if it solves the problem. – João Rodrigues Jan 31 '19 at 00:43
  • Have a look at [this link](https://stackoverflow.com/q/45625925/2587435) – Paul Samsotha Jan 31 '19 at 01:07
  • Thanks a lot @PaulSamsotha you help me a lot. It's working locally in my computer, **but** when I deploy in **OpenShift** it **doesn't** work. Unfortunately. I got this error: `org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException: MessageBodyWriter not found for media type=application\/json, type=class java.util.ArrayList` – João Rodrigues Jan 31 '19 at 19:34
  • If helps, I registed the MultiPartFeature using this: `@ApplicationPath("api") public class ExampleApplication extends Application { @Override public Set> getClasses() { final Set> resources = new HashSet<>(); resources.add(MultiPartFeature.class); return resources; } @Override public Map getProperties() { Map properties = new HashMap<>(); properties.put("jersey.config.server.provider.packages", "com.xxxxxxxxxx.example"); return properties; } }` – João Rodrigues Jan 31 '19 at 19:37
  • Are you making a fat jar? If so, check out [this](https://stackoverflow.com/q/36687312/2587435) and [this](https://stackoverflow.com/q/37735728/2587435). Most likely the same problem. You can just register the JacksonFeature with the app, if you are using jersey-media-json-jackson. – Paul Samsotha Jan 31 '19 at 20:51
  • I'm not doing a fat jar. I had already added the JacksonFeature like this: `@Override public Set> getClasses() { final Set> resources = new HashSet<>(); resources.add(MultiPartFeature.class);` **resources.add(JacksonFeature.class);** `return resources; }` And other issue is come: `org.jboss.weld.exceptions.UnsatisfiedResolutionException: WELD-001334: Unsatisfied dependencies for type ObjectProvider with qualifiers @Default` – João Rodrigues Jan 31 '19 at 22:18
  • We resolved the problem by downgrading Jackson to version 2.10.4. ` org.glassfish.jersey.media jersey-media-json-jackson 2.10.4 ` – João Rodrigues Feb 01 '19 at 16:58
  • Thanks a lot @PaulSamsotha – João Rodrigues Feb 01 '19 at 16:59