Hello,

I'm trying to use jackson deserialization to parse and map java object. 
Work fine except when the xml contains two same local names in differents 
namespaces, like this : 


<wfs:FeatureCollection>

<wfs:member>

<gsmlp:BoreholeView gml:id="XXXXXX">

<gml:description>Borehole description</gml:description>

<gml:identifier codeSpace="http://www.ietf.org/rfc/rfc2616";>

XXXXX

</gml:identifier>

<gsmlp:identifier>

XXXXX2

</gsmlp:identifier>

</gsmlp:BoreholeView>

</wfs:member>

</wfs:FeatureCollection>
Setup my bean (boreholeview) like this : 


@JacksonXmlElementWrapper(namespace = "gsmlp",localName = "identifier")
String identifier;

@JacksonXmlElementWrapper(namespace = "gml",localName = "identifier")
String gmlIdentifier;

jackson raised the exception below, it seems that the uniqueness is ensure 
by localname without the use of namespace, is there any parameter to solve 
this ? 

com.fasterxml.jackson.databind.JsonMappingException: Duplicate property 
'identifier' for [simple type, class 
fr.brgm.wfsBoreHoleViewHarvester.model.xmlBean.BoreHoleView]
 at [Source: com.ctc.wstx.sr.ValidatingStreamReader@6200f9cb; line: 1, 
column: 39]
at 
com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:305)
at 
com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:268)
at 
com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
at 
com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
at 
com.fasterxml.jackson.databind.DeserializationContext.findNonContextualValueDeserializer(DeserializationContext.java:466)
at 
com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve(BeanDeserializerBase.java:479)
at 
com.fasterxml.jackson.databind.deser.std.DelegatingDeserializer.resolve(DelegatingDeserializer.java:61)
at 
com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:293)
at 
com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
at 
com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
at 
com.fasterxml.jackson.databind.DeserializationContext.findNonContextualValueDeserializer(DeserializationContext.java:466)
at 
com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve(BeanDeserializerBase.java:479)
at 
com.fasterxml.jackson.databind.deser.std.DelegatingDeserializer.resolve(DelegatingDeserializer.java:61)
at 
com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:293)
at 
com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
at 
com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
at 
com.fasterxml.jackson.databind.DeserializationContext.findRootValueDeserializer(DeserializationContext.java:476)
at 
com.fasterxml.jackson.databind.ObjectMapper._findRootDeserializer(ObjectMapper.java:3915)
at 
com.fasterxml.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:3781)
at 
com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2181)
at 
com.fasterxml.jackson.dataformat.xml.XmlMapper.readValue(XmlMapper.java:221)
at 
com.fasterxml.jackson.dataformat.xml.XmlMapper.readValue(XmlMapper.java:196)
at 
fr.brgm.wfsBoreHoleViewHarvester.parse.XmlParserMapper.parse(XmlParserMapper.java:21)
at 
fr.brgm.wfsConsumer.xmlParsingMappingTest.testxmlParsingFullPage1000elements(xmlParsingMappingTest.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at junit.framework.TestCase.runTest(TestCase.java:176)
at junit.framework.TestCase.runBare(TestCase.java:141)
at junit.framework.TestResult$1.protect(TestResult.java:122)
at junit.framework.TestResult.runProtected(TestResult.java:142)
at junit.framework.TestResult.run(TestResult.java:125)
at junit.framework.TestCase.run(TestCase.java:129)
at junit.framework.TestSuite.runTest(TestSuite.java:252)
at junit.framework.TestSuite.run(TestSuite.java:247)
at 
org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:86)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at 
com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
at 
com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
at 
com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
Caused by: java.lang.IllegalArgumentException: Duplicate property 
'identifier' for [simple type, class 
fr.brgm.wfsBoreHoleViewHarvester.model.xmlBean.BoreHoleView]
at 
com.fasterxml.jackson.databind.deser.BeanDeserializerBuilder.addProperty(BeanDeserializerBuilder.java:172)
at 
com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.addBeanProps(BeanDeserializerFactory.java:612)
at 
com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.buildBeanDeserializer(BeanDeserializerFactory.java:258)
at 
com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.createBeanDeserializer(BeanDeserializerFactory.java:173)
at 
com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer2(DeserializerCache.java:403)
at 
com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer(DeserializerCache.java:349)
at 
com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:264)
... 40 more


thank you
Kind Regards
Adrien.

-- 
You received this message because you are subscribed to the Google Groups 
"jackson-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jackson-user+unsubscr...@googlegroups.com.
To post to this group, send email to jackson-user@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to