0

while i am trying to upload a file using jersey2.x. i am getting ModelValidationException at all time. and i put media jars are shows to below,

jersey-media-multipart-2.13.jar, mimepull-1.9.3.jar, jersey-server-2.13.jar, jersey-common-2.13.jar, and i am using apache-tomcat-8, and jersey2.0.1

and Ajax fileupload code :-

$("#sitefileuploadstatus").html("").removeClass("form-control1");
                                $("#site-upload-file-progress").addClass("loadinggif");
                                var file = $('input[name="uploadSitefile"').get(0).files[0];
                                var formData = new FormData();
                                formData.append('uploadSitefile',file);
                                $.ajax({
                                    type : "POST",
                                    url : "/idns/systemSite/importSystemSiteCSV",
                                    enctype : 'multipart/form-data',
                                    data : formData,
                                    processData : false,
                                    contentType : false,       
                                    success : function(data) {
    alert("upload success");
    }

javacode:-

@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces(MediaType.TEXT_PLAIN)
@Path("/importSystemSiteCSV")
public void uploadSystemSiteFile(@FormDataParam("uploadSitefile") InputStream systemInputStream){
    logger.info("SystemSiteHandler : uploadSystemSiteFile start.");
//file upload
}

Exception:-

org.glassfish.jersey.server.model.ModelValidationException: Validation of the application resource model has failed during application initialization.
[[FATAL] No injection source found for a parameter of type public void org.idnsrules.engine.system.handler.SystemSiteHandler.uploadSystemSiteFile(java.io.InputStream) at index 0.; source='ResourceMethod{httpMethod=POST, consumedTypes=[multipart/form-data], producedTypes=[text/plain], suspended=false, suspendTimeout=0, suspendTimeoutUnit=MILLISECONDS, invocable=Invocable{handler=ClassBasedMethodHandler{handlerClass=class org.idnsrules.engine.system.handler.SystemSiteHandler, handlerConstructors=[org.glassfish.jersey.server.model.HandlerConstructor@49a2fe4e]}, definitionMethod=public void org.idnsrules.engine.system.handler.SystemSiteHandler.uploadSystemSiteFile(java.io.InputStream), parameters=[Parameter [type=class java.io.InputStream, source=uploadSitefile, defaultValue=null]], responseType=void}, nameBindings=[]}']
    at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:553)
    at org.glassfish.jersey.server.ApplicationHandler.access$500(ApplicationHandler.java:182)
    at org.glassfish.jersey.server.ApplicationHandler$3.call(ApplicationHandler.java:348)

web.xml:-

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>ROOT</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
  <servlet>
    <servlet-name>idnsRulesServlet</servlet-name>
    <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>

    <init-param>
        <param-name>jersey.config.server.provider.packages</param-name>
        <param-value>org.idnsrules.engine.system.handler,org.idnsrules.engine.handler,org.idnsrules.engine.system.dao,org.idnsrules.engine.dao,org.idnsrules.jdbc.util</param-value>
    </init-param>

     <!-- <init-param>
        <param-name>jersey.config.server.provider.classnames</param-name>
        <param-value>org.glassfish.jersey.filter.LoggingFilter;org.glassfish.jersey.media.multipart.MultiPartFeature</param-value>
    </init-param> -->
    <init-param>
        <param-name>jersey.config.server.provider.classnames</param-name>
        <param-value>org.glassfish.jersey.media.multipart.MultiPartFeature</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>idnsRulesServlet</servlet-name>
    <url-pattern>/idns/*</url-pattern>
  </servlet-mapping>
</web-app>

when i remove the media-multipart jars, that class all method are work perfectly, but when i put this jar affect to all the class and methods.

kindly some one help me, this is very useful project for me. thank you.

now i am getting Exception :

Sep 24, 2015 1:00:38 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [idnsRulesServlet] in context with path [] threw exception [org.glassfish.jersey.server.ContainerException: java.lang.NoSuchMethodError: org.glassfish.jersey.message.internal.HttpHeaderReader.nextToken()Ljava/lang/String;] with root cause
java.lang.NoSuchMethodError: org.glassfish.jersey.message.internal.HttpHeaderReader.nextToken()Ljava/lang/String;
    at org.glassfish.jersey.media.multipart.ContentDisposition.<init>(ContentDisposition.java:89)
    at org.glassfish.jersey.media.multipart.FormDataContentDisposition.<init>(FormDataContentDisposition.java:95)
    at org.glassfish.jersey.media.multipart.FormDataContentDisposition.<init>(FormDataContentDisposition.java:91)
    at org.glassfish.jersey.media.multipart.FormDataBodyPart.getContentDisposition(FormDataBodyPart.java:218)
    at org.glassfish.jersey.media.multipart.internal.MultiPartReaderClientSide.readMultiPart(MultiPartReaderClientSide.java:241)

kindly help me sir.

Vasantha Raj
  • 637
  • 1
  • 6
  • 22
  • i am already trying to create config LoggingFilter and MultiPartFeature, but its does not work. so only i put in here – Vasantha Raj Sep 24 '15 at 06:43
  • but thank you mr.peeskillet – Vasantha Raj Sep 24 '15 at 06:47
  • The jar from the linked answer is for Jersey 2.17. You should not mix Jersey versions with any or your Jersey jars. If you are using Jersey 2.13, then you should get the `jersey-media-multipart-2.13`, which you already have. So basically don't use the 2.17. Take it out if you added it. – Paul Samsotha Sep 24 '15 at 08:00

0 Answers0