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.