users@jersey.java.net

FormParam/MultiPart for image upload using Jersey 1.1.4 on Glassfish v2.1.1

From: Suresh Kumar <yesbkay_at_yahoo.com>
Date: Sun, 21 Mar 2010 00:42:56 -0700 (PDT)

  
I am trying to develop an image upload web service and am having problems using the FormParam. When I try to deploy, deployment fails and GF throws an exception. I have attached the code, pom and the stack trace. Any help in this regard would be appreciated.
Thanks,
Suresh

Here is the relevant piece of code:

@POST
    @Path("/mypath")
    @Consumes(MediaType.MULTIPART_FORM_DATA)
    public Response createCampaign(
            @FormParam("media") final InputStream fileStream,
            @FormParam("media") final FormDataContentDisposition disposition) throws IOException {
}

Here is the relevant piece of pom.xml
<dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey-json</artifactId>
      <version>1.1.4</version>
    </dependency>

    <dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey-client</artifactId>
      <version>1.1.4</version>
    </dependency>

    <dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey-core</artifactId>
      <version>1.1.4</version>
    </dependency>

    <dependency>
      <groupId>com.sun.jersey</groupId>
      <artifactId>jersey-server</artifactId>
      <version>1.1.4</version>
    </dependency>

    <dependency>
      <groupId>com.sun.jersey.contribs</groupId>
      <artifactId>jersey-multipart</artifactId>
      <version>1.1.4</version>
    </dependency>

Here is the GF stack trace.
java.lang.IllegalStateException: ContainerBase.addChild: start: LifecycleException:  java.lang.NoSuchMethodError: com.sun.jersey.core.reflection.ReflectionHelper.getFromStringStringMethod(Ljava/lang/Class;)Ljava/lang/reflect/Method;        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:989)        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:970)        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:704)        at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1649)        at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1254)        at com.sun.enterprise.server.WebModuleDeployEventListener.moduleDeployed(WebModuleDeployEventListener.java:182)        at com.sun.enterprise.server.WebModuleDeployEventListener.moduleDeployed(WebModuleDeployEventListener.java:278)        at
 com.sun.enterprise.admin.event.AdminEventMulticaster.invokeModuleDeployEventListener(AdminEventMulticaster.java:1005)        at com.sun.enterprise.admin.event.AdminEventMulticaster.handleModuleDeployEvent(AdminEventMulticaster.java:992)        at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:470)        at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:182)        at com.sun.enterprise.admin.server.core.DeploymentNotificationHelper.multicastEvent(DeploymentNotificationHelper.java:308)        at com.sun.enterprise.deployment.phasing.DeploymentServiceUtils.multicastEvent(DeploymentServiceUtils.java:231)        at com.sun.enterprise.deployment.phasing.ServerDeploymentTarget.sendStartEvent(ServerDeploymentTarget.java:298)        at
 com.sun.enterprise.deployment.phasing.ApplicationStartPhase.runPhase(ApplicationStartPhase.java:132)        at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108)        at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:966)        at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:609)        at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:653)        at com.sun.enterprise.admin.mbeans.ApplicationsConfigMBean.start(ApplicationsConfigMBean.java:773)        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)        at
 java.lang.reflect.Method.invoke(Method.java:597)        at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:390)        at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:373)        at com.sun.enterprise.admin.config.BaseConfigMBean.invoke(BaseConfigMBean.java:477)        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)        at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)        at java.lang.reflect.Method.invoke(Method.java:597)        at com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:90)        at $Proxy1.invoke(Unknown Source)        at
 com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:304)        at com.sun.enterprise.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:170)        at com.sun.enterprise.deployment.client.DeploymentClientUtils.startApplication(DeploymentClientUtils.java:159)        at com.sun.enterprise.deployment.client.DeployAction.run(DeployAction.java:538)        at java.lang.Thread.run(Thread.java:619)com.sun.enterprise.admin.event.AdminEventListenerException: ContainerBase.addChild: start: LifecycleException:  java.lang.NoSuchMethodError: com.sun.jersey.core.reflection.ReflectionHelper.getFromStringStringMethod(Ljava/lang/Class;)Ljava/lang/reflect/Method;        at com.sun.enterprise.server.WebModuleDeployEventListener.moduleDeployed(WebModuleDeployEventListener.java:188)        at
 com.sun.enterprise.server.WebModuleDeployEventListener.moduleDeployed(WebModuleDeployEventListener.java:278)        at com.sun.enterprise.admin.event.AdminEventMulticaster.invokeModuleDeployEventListener(AdminEventMulticaster.java:1005)        at com.sun.enterprise.admin.event.AdminEventMulticaster.handleModuleDeployEvent(AdminEventMulticaster.java:992)        at com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEventMulticaster.java:470)        at com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEventMulticaster.java:182)        at com.sun.enterprise.admin.server.core.DeploymentNotificationHelper.multicastEvent(DeploymentNotificationHelper.java:308)        at com.sun.enterprise.deployment.phasing.DeploymentServiceUtils.multicastEvent(DeploymentServiceUtils.java:231)        at
 com.sun.enterprise.deployment.phasing.ServerDeploymentTarget.sendStartEvent(ServerDeploymentTarget.java:298)        at com.sun.enterprise.deployment.phasing.ApplicationStartPhase.runPhase(ApplicationStartPhase.java:132)        at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:108)        at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:966)        at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:609)        at com.sun.enterprise.deployment.phasing.PEDeploymentService.start(PEDeploymentService.java:653)        at com.sun.enterprise.admin.mbeans.ApplicationsConfigMBean.start(ApplicationsConfigMBean.java:773)        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)        at
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)        at java.lang.reflect.Method.invoke(Method.java:597)        at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:390)        at com.sun.enterprise.admin.MBeanHelper.invokeOperationInBean(MBeanHelper.java:373)        at com.sun.enterprise.admin.config.BaseConfigMBean.invoke(BaseConfigMBean.java:477)        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)        at sun.reflect.GeneratedMethodAccessor13.invoke(Unknown Source)        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)        at java.lang.reflect.Method.invoke(Method.java:597)        at
 com.sun.enterprise.admin.util.proxy.ProxyClass.invoke(ProxyClass.java:90)        at $Proxy1.invoke(Unknown Source)        at com.sun.enterprise.admin.server.core.jmx.SunoneInterceptor.invoke(SunoneInterceptor.java:304)        at com.sun.enterprise.interceptor.DynamicInterceptor.invoke(DynamicInterceptor.java:170)        at com.sun.enterprise.deployment.client.DeploymentClientUtils.startApplication(DeploymentClientUtils.java:159)        at com.sun.enterprise.deployment.client.DeployAction.run(DeployAction.java:538)        at java.lang.Thread.run(Thread.java:619)Caused by: java.lang.IllegalStateException: ContainerBase.addChild: start: LifecycleException:  java.lang.NoSuchMethodError: com.sun.jersey.core.reflection.ReflectionHelper.getFromStringStringMethod(Ljava/lang/Class;)Ljava/lang/reflect/Method;        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:989)        at
 org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:970)        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:704)        at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1649)        at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1254)        at com.sun.enterprise.server.WebModuleDeployEventListener.moduleDeployed(WebModuleDeployEventListener.java:182)        ... 33 moreADM5603:Event listener error [ContainerBase.addChild: start: LifecycleException:  java.lang.NoSuchMethodError: com.sun.jersey.core.reflection.ReflectionHelper.getFromStringStringMethod(Ljava/lang/Class;)Ljava/lang/reflect/Method;]ADM1075:Error on listening event:[ContainerBase.addChild: start: LifecycleException:  java.lang.NoSuchMethodError: com.sun.jersey.core.reflection.ReflectionHelper.getFromStringStringMethod(Ljava/lang/Class;)Ljava/lang/reflect/Method;]