Uploaded image for project: 'JBoss Enterprise Application Platform 4 and 5'
  1. JBoss Enterprise Application Platform 4 and 5
  2. JBPAPP-8315

"Unable to unmarshall request body" thrown in tasks example ftest

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Critical
    • Resolution: Won't Fix
    • Affects Version/s: EAP_EWP 5.1.2
    • Fix Version/s: TBD EAP 5
    • Component/s: Documentation, Seam2
    • Labels:
      None
    • Environment:

      Fedora 16 64-bit, Mozilla Firefox 3.6.25, Oracle JDK 1.6.0_30

    • Affects:
      Documentation (Ref Guide, User Guide, etc.), Release Notes
    • Workaround:
      Workaround Exists
    • Workaround Description:
      Hide

      Modify jboss-deployment-structure.xml to exclude RESTEasy libraries bundled with EAP6:

      Add these lines to <exclusions> for the deployment:

      <module name="org.jboss.resteasy.resteasy-jaxrs" slot="main"/>
      <module name="org.jboss.resteasy.resteasy-jettison-provider" slot="main"/>
      <module name="org.jboss.resteasy.resteasy-jaxb-provider" slot="main"/>
      

      Add these lines to <exclusions> for the jboss-seam-tasks.war sub-deployment:

      <module name="org.jboss.resteasy.resteasy-jaxrs" slot="main"/>
      <module name="org.jboss.resteasy.resteasy-jettison-provider" slot="main"/>
      <module name="org.jboss.resteasy.resteasy-jaxb-provider" slot="main"/>
      <module name="org.jboss.resteasy.resteasy-yaml-provider" slot="main"/>
      

      For the tasks example, the jboss-deployment-structure.xml should then contain:

      <jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
        <deployment>
            <dependencies>
                <module name="javax.faces.api" slot="1.2" export="true"/>
                <module name="com.sun.jsf-impl" slot="1.2" export="true"/>
            </dependencies>
            <exclusions>
                <module name="org.hibernate" slot="main"/>
                <module name="org.jboss.resteasy.resteasy-jaxrs" slot="main"/>
                <module name="org.jboss.resteasy.resteasy-jettison-provider" slot="main"/>
                <module name="org.jboss.resteasy.resteasy-jaxb-provider" slot="main"/>
            </exclusions>
        </deployment>
        <sub-deployment name="jboss-seam-tasks.war">
          <exclusions>
                <module name="javax.faces.api" slot="main"/>
                <module name="com.sun.jsf-impl" slot="main"/>
                <module name="org.hibernate" slot="main"/>
                <module name="org.jboss.resteasy.resteasy-jaxrs" slot="main"/>
                <module name="org.jboss.resteasy.resteasy-jettison-provider" slot="main"/>
                <module name="org.jboss.resteasy.resteasy-jaxb-provider" slot="main"/>
                <module name="org.jboss.resteasy.resteasy-yaml-provider" slot="main"/>
          </exclusions>
          <dependencies>
                <module name="javax.faces.api" slot="1.2"/>
                <module name="com.sun.jsf-impl" slot="1.2"/>
          </dependencies>
        </sub-deployment>
      </jboss-deployment-structure>
      

      For other applications using RESTEasy/Seam2.2/EAP6, exclusion of additional modules might be necessary.

      Show
      Modify jboss-deployment-structure.xml to exclude RESTEasy libraries bundled with EAP6: Add these lines to <exclusions> for the deployment: <module name="org.jboss.resteasy.resteasy-jaxrs" slot="main"/> <module name="org.jboss.resteasy.resteasy-jettison-provider" slot="main"/> <module name="org.jboss.resteasy.resteasy-jaxb-provider" slot="main"/> Add these lines to <exclusions> for the jboss-seam-tasks.war sub-deployment: <module name="org.jboss.resteasy.resteasy-jaxrs" slot="main"/> <module name="org.jboss.resteasy.resteasy-jettison-provider" slot="main"/> <module name="org.jboss.resteasy.resteasy-jaxb-provider" slot="main"/> <module name="org.jboss.resteasy.resteasy-yaml-provider" slot="main"/> For the tasks example, the jboss-deployment-structure.xml should then contain: <jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0"> <deployment> <dependencies> <module name="javax.faces.api" slot="1.2" export="true"/> <module name="com.sun.jsf-impl" slot="1.2" export="true"/> </dependencies> <exclusions> <module name="org.hibernate" slot="main"/> <module name="org.jboss.resteasy.resteasy-jaxrs" slot="main"/> <module name="org.jboss.resteasy.resteasy-jettison-provider" slot="main"/> <module name="org.jboss.resteasy.resteasy-jaxb-provider" slot="main"/> </exclusions> </deployment> <sub-deployment name="jboss-seam-tasks.war"> <exclusions> <module name="javax.faces.api" slot="main"/> <module name="com.sun.jsf-impl" slot="main"/> <module name="org.hibernate" slot="main"/> <module name="org.jboss.resteasy.resteasy-jaxrs" slot="main"/> <module name="org.jboss.resteasy.resteasy-jettison-provider" slot="main"/> <module name="org.jboss.resteasy.resteasy-jaxb-provider" slot="main"/> <module name="org.jboss.resteasy.resteasy-yaml-provider" slot="main"/> </exclusions> <dependencies> <module name="javax.faces.api" slot="1.2"/> <module name="com.sun.jsf-impl" slot="1.2"/> </dependencies> </sub-deployment> </jboss-deployment-structure> For other applications using RESTEasy/Seam2.2/EAP6, exclusion of additional modules might be necessary.
    • Release Notes Docs Status:
      Not Required
    • Docs QE Status:
      NEW

      Description

      Seam version: 2.2.5.EAP5 (included in EAP 5.1.2.GA)
      The tasks example from Seam 2.2 was migrated to EAP6 according to the migration guide on Documentation-Stage (http://documentation-stage.bne.redhat.com/docs/en-US/JBoss_Enterprise_Application_Platform/6/html/Beta_Documentation/Migrate_Seam_22_Archives_to_JBoss_Enterprise_Application_Platform_6.html)
      and the bug was verified to occur with EAP 6.0.0.ER1.
      There is a patch available: https://gist.github.com/1949191

      The ftest fails in 3 methods:

      [testng] FAILED: undoTurtleTask
      [testng] java.lang.AssertionError: There should NOT be a 'Undo this task' button for: Buy a turtle. expected:<false> but was:<true>
      [testng]     at org.jboss.seam.example.tasks.test.selenium.SeleniumTasksTest.buttonMissing(SeleniumTasksTest.java:253)
      [testng]     at org.jboss.seam.example.tasks.test.selenium.SeleniumTasksTest.undoTurtleTask(SeleniumTasksTest.java:116)
      [testng] ... Removed 25 stack frames
      [testng] FAILED: resolveTuringTask
      [testng] java.lang.AssertionError: There should NOT be a 'Resolve this task' button for: Build the Turing machine. expected:<false> but was:<true>
      [testng]     at org.jboss.seam.example.tasks.test.selenium.SeleniumTasksTest.buttonMissing(SeleniumTasksTest.java:253)
      [testng]     at org.jboss.seam.example.tasks.test.selenium.SeleniumTasksTest.resolveTuringTask(SeleniumTasksTest.java:91)
      [testng] ... Removed 25 stack frames
      [testng] FAILED: createSeleniumTask
      [testng] java.lang.AssertionError: There should be a 'Resolve this task' button for: Create selenium ftests for all available examples. expected:<true> but was:<false>
      [testng]     at org.jboss.seam.example.tasks.test.selenium.SeleniumTasksTest.buttonPresent(SeleniumTasksTest.java:240)
      [testng]     at org.jboss.seam.example.tasks.test.selenium.SeleniumTasksTest.createSeleniumTask(SeleniumTasksTest.java:149)
      [testng] ... Removed 25 stack frames
      

      Relevant part of server log:

      12:55:02,346 ERROR [org.jboss.seam.exception.Exceptions] (http-localhost-127.0.0.1-8080-4) handled and logged exception: javax.servlet.ServletException: org.jboss.resteasy.spi.UnhandledException: java.lang.RuntimeException: Unable to unmarshall request body
          at org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:96) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.resteasy.ResteasyResourceAdapter.getResource(ResteasyResourceAdapter.java:120) [jboss-seam-resteasy.jar:2.2.5.EAP5]
          at org.jboss.seam.servlet.SeamResourceServlet.service(SeamResourceServlet.java:80) [jboss-seam.jar:2.2.5.EAP5]
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final-redhat-1.jar:1.0.0.Final-redhat-1]
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.10.Final-redhat-1.jar:]
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.10.Final-redhat-1.jar:]
          at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.web.AuthenticationFilter.processBasicAuth(AuthenticationFilter.java:187) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.web.AuthenticationFilter.access$100(AuthenticationFilter.java:45) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.web.AuthenticationFilter$1.process(AuthenticationFilter.java:122) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:65) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.web.AuthenticationFilter.doFilter(AuthenticationFilter.java:116) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158) [jboss-seam.jar:2.2.5.EAP5]
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.10.Final-redhat-1.jar:]
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.10.Final-redhat-1.jar:]
          at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.10.Final-redhat-1.jar:]
          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.10.Final-redhat-1.jar:]
          at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.1.0.Final-redhat-1.jar:7.1.0.Final-redhat-1]
          at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:154) [jboss-as-web-7.1.0.Final-redhat-1.jar:7.1.0.Final-redhat-1]
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.10.Final-redhat-1.jar:]
          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.10.Final-redhat-1.jar:]
          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.10.Final-redhat-1.jar:]
          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.10.Final-redhat-1.jar:]
          at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.10.Final-redhat-1.jar:]
          at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.10.Final-redhat-1.jar:]
          at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.10.Final-redhat-1.jar:]
          at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_30]
      Caused by: org.jboss.resteasy.spi.UnhandledException: java.lang.RuntimeException: Unable to unmarshall request body
          at org.jboss.resteasy.core.SynchronousDispatcher.handleApplicationException(SynchronousDispatcher.java:340) [resteasy-jaxrs-2.3.1.GA-redhat-1.jar:2.3.1.GA-redhat-1]
          at org.jboss.resteasy.core.SynchronousDispatcher.handleException(SynchronousDispatcher.java:214) [resteasy-jaxrs-2.3.1.GA-redhat-1.jar:2.3.1.GA-redhat-1]
          at org.jboss.resteasy.core.SynchronousDispatcher.handleInvokerException(SynchronousDispatcher.java:190) [resteasy-jaxrs-2.3.1.GA-redhat-1.jar:2.3.1.GA-redhat-1]
          at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:540) [resteasy-jaxrs-2.3.1.GA-redhat-1.jar:2.3.1.GA-redhat-1]
          at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:502) [resteasy-jaxrs-2.3.1.GA-redhat-1.jar:2.3.1.GA-redhat-1]
          at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:119) [resteasy-jaxrs-2.3.1.GA-redhat-1.jar:2.3.1.GA-redhat-1]
          at org.jboss.seam.resteasy.ResteasyResourceAdapter$1.process(ResteasyResourceAdapter.java:145) [jboss-seam-resteasy.jar:2.2.5.EAP5]
          at org.jboss.seam.servlet.ContextualHttpServletRequest.run(ContextualHttpServletRequest.java:65) [jboss-seam.jar:2.2.5.EAP5]
          ... 37 more
      Caused by: java.lang.RuntimeException: Unable to unmarshall request body
          at org.jboss.seam.resteasy.ResourceHome.unmarshallEntity(ResourceHome.java:282) [jboss-seam-resteasy.jar:2.2.5.EAP5]
          at org.jboss.seam.resteasy.ResourceHome.updateResource(ResourceHome.java:202) [jboss-seam-resteasy.jar:2.2.5.EAP5]
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_30]
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_30]
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_30]
          at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_30]
          at org.jboss.seam.util.Reflections.invoke(Reflections.java:22) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.resteasy.ResteasyContextInjectionInterceptor.aroundInvoke(ResteasyContextInjectionInterceptor.java:59) [jboss-seam-resteasy.jar:2.2.5.EAP5]
          at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:77) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:185) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:103) [jboss-seam.jar:2.2.5.EAP5]
          at org.jboss.seam.example.tasks.resource.TaskResourceHome_$$_javassist_seam_13.updateResource(TaskResourceHome_$$_javassist_seam_13.java) [jboss-seam-tasks.jar:]
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_30]
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_30]
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_30]
          at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_30]
          at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:155) [resteasy-jaxrs-2.3.1.GA-redhat-1.jar:2.3.1.GA-redhat-1]
          at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:257) [resteasy-jaxrs-2.3.1.GA-redhat-1.jar:2.3.1.GA-redhat-1]
          at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:222) [resteasy-jaxrs-2.3.1.GA-redhat-1.jar:2.3.1.GA-redhat-1]
          at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:211) [resteasy-jaxrs-2.3.1.GA-redhat-1.jar:2.3.1.GA-redhat-1]
          at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:525) [resteasy-jaxrs-2.3.1.GA-redhat-1.jar:2.3.1.GA-redhat-1]
          ... 41 more
      

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                manaRH Marek Novotny
                Reporter:
                rsmeral Ron Šmeral
                Writer:
                Russell Dickenson
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: