Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-users] help needed: unmarshal JSON into JaxB objects fails

Hi Denise

 

Thank you so much for your response!

 

Attached is a zip archive containing the entire JAXB annotated class hierarchy. I have just removed all unnecessary dependencies and changed the package name to “test” so that you can easily try to reproduce the issue on your dev system. All our marshaling and un-marshaling is done with EclipseLink MOXy. It works fine with XML but, as I said, not for JSON. If I do not set

 

MarshallerProperties.NAMESPACE_PREFIX_MAPPER

MarshallerProperties.JSON_NAMESPACE_SEPARATOR

 

and

 

UnmarshallerProperties.JSON_NAMESPACE_PREFIX_MAPPER

UnmarshallerProperties.JSON_NAMESPACE_SEPARATOR

 

I get the following exception when

 

Object obj = unmarshaller.unmarshal(new StringReader(jsonDoc));

 

is called.

 

javax.xml.bind.UnmarshalException

- with linked exception:

[Exception [EclipseLink-43] (Eclipse Persistence Services - 2.5.1.v20130918-f2b9fc5): org.eclipse.persistence.exceptions.DescriptorException

Exception Description: Missing class for indicator field value [urn:x-hp:2009:software:data_model:opr:type:event_statistics] of type [class java.lang.String].

Descriptor: XMLDescriptor(com.hp.opr.api.ws.model.admin.eventprocessing.OprEvtStatistics --> [DatabaseTable(event_statistics), DatabaseTable(resource_base)])]

               at org.eclipse.persistence.jaxb.JAXBUnmarshaller.unmarshal(JAXBUnmarshaller.java:191)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229)

               at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)

               at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)

               at EventStatisticsControllerTests.testUnmashallJson(EventStatisticsControllerTests.groovy:146)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)

               at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)

               at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)

               at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)

               at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)

               at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229)

               at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)

               at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:121)

               at org.codehaus.groovy.grails.test.junit4.runner.GrailsTestEnvironmentStatement$_evaluate_closure1.doCall(GrailsTestEnvironmentStatement.groovy:35)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225)

               at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)

               at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151)

               at org.codehaus.groovy.grails.test.junit4.runner.GrailsTestEnvironmentStatement$_evaluate_closure1.doCall(GrailsTestEnvironmentStatement.groovy)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88)

               at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at groovy.lang.Closure.call(Closure.java:276)

               at groovy.lang.Closure.call(Closure.java:271)

               at groovy.lang.Closure$call$0.call(Unknown Source)

               at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:121)

               at org.codehaus.groovy.grails.test.support.GrailsTestInterceptor.wrap(GrailsTestInterceptor.groovy:52)

               at org.codehaus.groovy.grails.test.support.GrailsTestInterceptor$wrap.call(Unknown Source)

               at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)

               at org.codehaus.groovy.grails.test.junit4.runner.GrailsTestEnvironmentStatement.evaluate(GrailsTestEnvironmentStatement.groovy:34)

               at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)

               at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)

               at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)

               at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)

               at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)

               at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)

               at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)

               at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)

               at org.junit.runners.ParentRunner.run(ParentRunner.java:236)

               at org.junit.runners.Suite.runChild(Suite.java:128)

               at org.junit.runners.Suite.runChild(Suite.java:24)

               at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)

               at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)

               at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)

               at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)

               at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)

               at org.junit.runners.ParentRunner.run(ParentRunner.java:236)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229)

               at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)

               at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)

               at org.codehaus.groovy.grails.test.junit4.JUnit4GrailsTestType.doRun(JUnit4GrailsTestType.groovy:109)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:266)

               at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)

               at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151)

               at org.codehaus.groovy.grails.test.support.GrailsTestTypeSupport.run(GrailsTestTypeSupport.groovy:122)

               at org.codehaus.groovy.grails.test.GrailsTestType$run.call(Unknown Source)

               at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)

               at _GrailsTest$_run_closure4.doCall(_GrailsTest.groovy:276)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:266)

               at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)

               at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:155)

               at _GrailsTest$_run_closure4.call(_GrailsTest.groovy)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88)

               at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at groovy.lang.MetaClassImpl.invokePropertyOrMissing(MetaClassImpl.java:1104)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1060)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:706)

               at groovy.lang.GroovyObjectSupport.invokeMethod(GroovyObjectSupport.java:44)

               at groovy.lang.Script.invokeMethod(Script.java:78)

               at groovy.lang.MetaClassImpl.invokeMethodOnGroovyObject(MetaClassImpl.java:1123)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1017)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)

               at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:155)

               at _GrailsTest$_run_closure2.doCall(_GrailsTest.groovy:233)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88)

               at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at groovy.lang.Closure.call(Closure.java:276)

               at groovy.lang.Closure.call(Closure.java:289)

               at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1194)

               at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1170)

               at org.codehaus.groovy.runtime.dgm$119.invoke(Unknown Source)

               at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:270)

               at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)

               at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)

               at _GrailsTest$_run_closure1_closure21.doCall(_GrailsTest.groovy:190)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88)

               at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at groovy.lang.Closure.call(Closure.java:276)

               at org.codehaus.groovy.runtime.DefaultGroovyMethods.callClosureForMapEntry(DefaultGroovyMethods.java:2310)

               at org.codehaus.groovy.runtime.DefaultGroovyMethods.each(DefaultGroovyMethods.java:1223)

               at org.codehaus.groovy.runtime.dgm$120.invoke(Unknown Source)

               at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:270)

               at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)

               at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)

               at _GrailsTest$_run_closure1.doCall(_GrailsTest.groovy:177)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88)

               at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:149)

               at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:127)

               at groovy.lang.Closure.call(Closure.java:276)

               at groovy.lang.Closure.call(Closure.java:289)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88)

               at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:149)

               at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:127)

               at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:39)

               at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)

               at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:54)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)

               at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy:185)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225)

               at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151)

               at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88)

               at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at groovy.lang.Closure.call(Closure.java:276)

               at groovy.lang.Closure.call(Closure.java:271)

               at groovy.lang.Closure$call$0.call(Unknown Source)

               at org.codehaus.gant.GantBinding.withTargetEvent(GantBinding.groovy:90)

               at org.codehaus.gant.GantBinding.this$4$withTargetEvent(GantBinding.groovy)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88)

               at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1003)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:706)

               at groovy.lang.GroovyObjectSupport.invokeMethod(GroovyObjectSupport.java:44)

               at groovy.lang.MetaClassImpl.invokeMethodOnGroovyObject(MetaClassImpl.java:1123)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1017)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:159)

               at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy:185)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225)

               at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151)

               at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88)

               at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at groovy.lang.Closure.call(Closure.java:276)

               at groovy.lang.Closure.call(Closure.java:271)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88)

               at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at groovy.lang.MetaClassImpl.invokePropertyOrMissing(MetaClassImpl.java:1104)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1060)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:706)

               at groovy.lang.GroovyObjectSupport.invokeMethod(GroovyObjectSupport.java:44)

               at groovy.lang.Script.invokeMethod(Script.java:78)

               at groovy.lang.MetaClassImpl.invokeMethodOnGroovyObject(MetaClassImpl.java:1123)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1017)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:149)

               at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:127)

               at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)

               at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:147)

               at TestApp$_run_closure1.doCall(TestApp.groovy:101)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88)

               at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:149)

               at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:127)

               at groovy.lang.Closure.call(Closure.java:276)

               at groovy.lang.Closure.call(Closure.java:289)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88)

               at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at groovy.lang.DelegatingMetaClass.invokeMethod(DelegatingMetaClass.java:149)

               at org.codehaus.gant.GantMetaClass.invokeMethod(GantMetaClass.java:127)

               at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:39)

               at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)

               at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:54)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)

               at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy:185)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225)

               at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151)

               at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16_closure18.doCall(GantBinding.groovy)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88)

               at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at groovy.lang.Closure.call(Closure.java:276)

               at groovy.lang.Closure.call(Closure.java:271)

               at groovy.lang.Closure$call$0.call(Unknown Source)

               at org.codehaus.gant.GantBinding.withTargetEvent(GantBinding.groovy:90)

               at org.codehaus.gant.GantBinding.this$4$withTargetEvent(GantBinding.groovy)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88)

               at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1003)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:706)

               at groovy.lang.GroovyObjectSupport.invokeMethod(GroovyObjectSupport.java:44)

               at groovy.lang.MetaClassImpl.invokeMethodOnGroovyObject(MetaClassImpl.java:1123)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1017)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:159)

               at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy:185)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225)

               at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151)

               at org.codehaus.gant.GantBinding$_initializeGantBinding_closure5_closure16.doCall(GantBinding.groovy)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88)

               at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at groovy.lang.Closure.call(Closure.java:276)

               at groovy.lang.Closure.call(Closure.java:271)

               at groovy.lang.Closure$call$0.call(Unknown Source)

               at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:121)

               at gant.Gant$_dispatch_closure5.doCall(Gant.groovy:381)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88)

               at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at groovy.lang.Closure.call(Closure.java:276)

               at groovy.lang.Closure.call(Closure.java:289)

               at groovy.lang.Closure$call.call(Unknown Source)

               at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)

               at gant.Gant$_dispatch_closure7.doCall(Gant.groovy:415)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225)

               at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)

               at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151)

               at gant.Gant$_dispatch_closure7.doCall(Gant.groovy)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88)

               at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at groovy.lang.Closure.call(Closure.java:276)

               at groovy.lang.Closure.call(Closure.java:271)

               at groovy.lang.Closure$call$0.call(Unknown Source)

               at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:121)

               at gant.Gant.withBuildListeners(Gant.groovy:427)

               at gant.Gant.this$2$withBuildListeners(Gant.groovy)

               at gant.Gant$this$2$withBuildListeners.callCurrent(Unknown Source)

               at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:151)

               at gant.Gant.dispatch(Gant.groovy:415)

               at gant.Gant.this$2$dispatch(Gant.groovy)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:88)

               at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:233)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1058)

               at groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:1070)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:886)

               at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:708)

               at gant.Gant.invokeMethod(Gant.groovy)

               at groovy.lang.GroovyObject$invokeMethod.callCurrent(Unknown Source)

               at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:155)

               at gant.Gant.executeTargets(Gant.groovy:590)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSite.invoke(PogoMetaMethodSite.java:225)

               at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)

               at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:143)

               at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:155)

               at gant.Gant.executeTargets(Gant.groovy:589)

               at org.codehaus.groovy.grails.cli.GrailsScriptRunner.executeWithGantInstance(GrailsScriptRunner.java:656)

               at org.codehaus.groovy.grails.cli.GrailsScriptRunner.callPluginOrGrailsScript(GrailsScriptRunner.java:578)

               at org.codehaus.groovy.grails.cli.GrailsScriptRunner.executeCommand(GrailsScriptRunner.java:318)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.groovy.grails.cli.support.GrailsBuildHelper.execute(GrailsBuildHelper.java:124)

               at org.grails.maven.plugin.AbstractGrailsMojo.runGrails(AbstractGrailsMojo.java:277)

               at org.grails.maven.plugin.GrailsExecMojo.execute(GrailsExecMojo.java:51)

               at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)

               at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)

               at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)

               at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)

               at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)

               at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)

               at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)

               at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)

               at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)

               at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)

               at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)

               at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)

               at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)

               at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

               at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

               at java.lang.reflect.Method.invoke(Method.java:606)

               at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)

               at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)

               at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)

               at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)

               at org.codehaus.classworlds.Launcher.main(Launcher.java:47)

Caused by: Exception [EclipseLink-43] (Eclipse Persistence Services - 2.5.1.v20130918-f2b9fc5): org.eclipse.persistence.exceptions.DescriptorException

Exception Description: Missing class for indicator field value [urn:x-hp:2009:software:data_model:opr:type:event_statistics] of type [class java.lang.String].

Descriptor: XMLDescriptor(com.hp.opr.api.ws.model.admin.eventprocessing.OprEvtStatistics --> [DatabaseTable(event_statistics), DatabaseTable(resource_base)])

               at org.eclipse.persistence.exceptions.DescriptorException.missingClassForIndicatorFieldValue(DescriptorException.java:940)

               at org.eclipse.persistence.internal.oxm.QNameInheritancePolicy.classFromRow(QNameInheritancePolicy.java:266)

               at org.eclipse.persistence.descriptors.InheritancePolicy.classFromRow(InheritancePolicy.java:1)

               at org.eclipse.persistence.internal.oxm.record.SAXUnmarshallerHandler.startElement(SAXUnmarshallerHandler.java:242)

               at org.eclipse.persistence.internal.oxm.record.json.JSONReader.parse(JSONReader.java:302)

               at org.eclipse.persistence.internal.oxm.record.json.JSONReader.parseRoot(JSONReader.java:166)

               at org.eclipse.persistence.internal.oxm.record.json.JSONReader.parse(JSONReader.java:125)

               at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:895)

               at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:386)

               at org.eclipse.persistence.internal.oxm.record.SAXUnmarshaller.unmarshal(SAXUnmarshaller.java:626)

               at org.eclipse.persistence.oxm.XMLUnmarshaller.unmarshal(XMLUnmarshaller.java:435)

               at org.eclipse.persistence.jaxb.JAXBUnmarshaller.unmarshal(JAXBUnmarshaller.java:176)

               ... 498 more

 

I hope this helps to find the root cause J

 

Best Regards

Falk

 

From: denise mahar [mailto:denise.mahar@xxxxxxxxxx]
Sent: Tuesday, October 15, 2013 10:41 PM
To: Edelmann, Falk (HP Software)
Cc: eclipselink-users@xxxxxxxxxxx
Subject: Re: [eclipselink-users] help needed: unmarshal JSON into JaxB objects fails

 

Hi

What happens if you don't set the JSON_NAMESPACE_PREFIX_MAPPER property at all and remove the "urn:x-hp:2009:software:data_model:opr:type:" part of the @type attributes so that everything is just "@type":"event_statistic_record" or is the JSON input fixed?  I'm not sure where the urn:x-hp:2009:software:data_model:opr:type in the document maps to so if you could also include OprResourceBase.java, OprEvtStatisticRecord.java and if have a package-info in your package that might help so I can reproduce the issue you are seeing.  Was the JSON in your example created by MOXy or something else...just wondering if marshaling is working for  or if it's just an unmarshal problem?

Thanks
Denise



 

From: Edelmann, Falk (HP Software) [mailto:falk.edelmann@xxxxxx]
Sent: Monday, October 14, 2013 10:31 AM
To: eclipselink-users@xxxxxxxxxxx
Subject: [eclipselink-users] help needed: unmarshal JSON into JaxB objects fails

 

Hallo,

 

It seems that the current version of EclipseLink MOXy (version 2.5.1) has an issue with un-marshaling JSON documents where the prefix of default namespace is set to empty String. I have set up everything to marshal JAXB objects into XML/JSON documents as well as to un-marshal XML/JSON documents into JAXB objects. Everything works except for the un-marshaling of large JSON documents (objects containing arrays of nested objects) if the default namespace prefix is set to an empty string. We do not want a namespace prefix for our object properties as it much easier to access these properties in our HTML UIs via _javascript_. Our un-marshal code looks as following at the moment:

 

public final static Map<String, String> getNamespacePrefixes() {

    Map<String, String> prefixMap = new HashMap<String, String>();

 

    prefixMap["http://www.mytesturl.com/2013/software/data_model"] = “”;  // if we set this to a non-empty string, it works. Why is this needed?

    prefixMap["http://www.w3.org/2001/XMLSchema-instance"] = “xsi”;

    prefixMap["http://www.w3.org/2001/XMLSchema"] = “xs”;

 

    return prefixMap;

}

 

unmarshaller = jaxbContext.createUnmarshaller();

unmarshaller.setProperty(UnmarshallerProperties.AUTO_DETECT_MEDIA_TYPE, Boolean.TRUE);

unmarshaller.setProperty(UnmarshallerProperties.JSON_ATTRIBUTE_PREFIX, "@");

unmarshaller.setProperty(UnmarshallerProperties.JSON_NAMESPACE_PREFIX_MAPPER, getNamespacePrefixes());

unmarshaller.setProperty(UnmarshallerProperties.JSON_NAMESPACE_SEPARATOR, ‘:’);

unmarshaller.setProperty(UnmarshallerProperties.JSON_INCLUDE_ROOT, Boolean.TRUE);

unmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, MediaType.APPLICATION_JSON);

 

// String jsonDoc =  // get the json as a string

Object obj = unmarshaller.unmarshal(new StringReader(jsonDoc));

OprResourceBase jaxbObject = (OprResourceBase)(obj instanceof JAXBElement ? obj.value : obj);

 

with “OprResourceBase” as the base class for all our JAXB annotated classes.

 

This code works only for simple objects (that is, objects that have only properties of type string, date, number, or boolean). However, as soon as the objects contain other objects and especially arrays of objects, the un-marshaled object is not correct, that is, the call to the “unmarshal” method returns without an exception but the returned object contains invalid data. For example,

The following sample JSON document is not correctly un-marshaled:

 

{

   "event_statistics" : {

      "@type" : "urn:x-hp:2009:software:data_model:opr:type:event_statistics",

      "@version" : "1.0",

      "start" : "2012-11-17T12:00:00",

      "end" : "2013-06-05T12:00:00",

      "statistic" : [ {

         "@type" : "urn:x-hp:2009:software:data_model:opr:type:event_statistic_record",

         "@version" : "1.0",

         "start" : "2013-02-06T12:00:00",

         "interval" : 86400000,

         "type" : "RECEIVED",

         "value" : 7,

         "server" : "DPS"

      }, {

         "@type" : "urn:x-hp:2009:software:data_model:opr:type:event_statistic_record",

         "@version" : "1.0",

         "start" : "2013-02-07T12:00:00",

         "interval" : 86400000,

         "type" : "RECEIVED",

         "value" : 14,

         "server" : "DPS"

      }, {

         "@type" : "urn:x-hp:2009:software:data_model:opr:type:event_statistic_record",

         "@version" : "1.0",

         "start" : "2013-02-08T12:00:00",

         "interval" : 86400000,

         "type" : "RECEIVED",

         "value" : 21,

         "server" : "DPS"

      }, {

         "@type" : "urn:x-hp:2009:software:data_model:opr:type:event_statistic_record",

         "@version" : "1.0",

         "start" : "2013-02-09T12:00:00",

         "interval" : 86400000,

         "type" : "RECEIVED",

         "value" : 28,

         "server" : "DPS"

      },

      ...    

      ]

   }

}

 

The corresponding JAXB annotated Java class looks as following:

 

@XmlAccessorType(XmlAccessType.NONE)

@XmlRootElement(name = OprEvtStatistics.XML_NAME)

@XmlType(name = OprEvtStatistics.XML_TYPE,

         propOrder = {"startDate", "endDate", "statistics", "aggregation", "any"})

public final class OprEvtStatistics extends OprResourceBase

{

  private static final long serialVersionUID = -7981235285649760399L;

 

  public static final String VERSION = "1.0";

  public static final String XML_NAME = "event_statistics";

  public static final String XML_TYPE = XML_NAME + "_type";

  public static final String TYPE = OprResourceBase.BASE_TYPE + XML_NAME;

  public static final String BASE_REF_TYPE = OprResourceBase.BASE_REF_TYPE + XML_NAME + ":";

  public static final URI TYPE_URI = URI.create(TYPE);

 

  private Date m_startDate;

  private Date m_endDate;

  private List<OprEvtStatisticRecord> m_stats;

  private OprEvtAggregation m_aggregation;

 

  private List<Object> m_any;

  private Map<QName, Object> m_anyAttribute;

 

  public OprEvtStatistics()

  {

    super(TYPE_URI, VERSION);

  }

 

  @XmlAnyElement(lax = true)

  public List<Object> getAny()

  {

    return m_any;

  }

 

  @Override

  public void setAny(List<Object> any)

  {

    m_any = any;

  }

 

  @XmlAnyAttribute

  public Map<QName, Object> getAnyAttribute()

  {

    return m_anyAttribute;

  }

 

  @Override

  public void setAnyAttribute(Map<QName, Object> anyAttribute)

  {

    m_anyAttribute = anyAttribute;

  }

 

  @XmlElement(name = "start")

  public Date getStartDate()

  {

    return m_startDate;

  }

 

  public void setStartDate(Date value)

  {

    this.m_startDate = value;

  }

 

  @XmlElement(name = "end")

  public Date getEndDate()

  {

    return m_endDate;

  }

 

  public void setEndDate(Date value)

  {

    this.m_endDate = value;

  }

 

  @XmlElement(name = "statistic")

  public List<OprEvtStatisticRecord> getStatistics()

  {

    return m_stats;

  }

 

  public void setStatistics(List<OprEvtStatisticRecord> value)

  {

    this.m_stats = value;

  }

 

  @XmlElement(name = "aggregation")

  public OprEvtAggregation getAggregation()

  {

    return m_aggregation;

  }

 

  public void setAggregation(OprEvtAggregation value)

  {

    this.m_aggregation = value;

  }

 

  …

}

 

After un-marshaling the above JSON document, I get a JAXB object with start and end date correctly set but the array of statistics (property “statistic”) is empty. Instead, this arrays is stored in property “any” and the elements of this arrays also contain only incomplete data. If I use a prefix for the default namespace, however, everything works as expected.

 

So, can someone help? Did I miss anything in the EclipseLink MOXy documentation? Or is it a known issue that will be fixed in a future release?

 

Attachment: JAXB-JSON-Issue.zip
Description: JAXB-JSON-Issue.zip


Back to the top