Ik heb een probleem met het correct marshallen en unmarshallen met JAXB.
Ik genereer een testXML die ik daarna meteen weer unmarshal voor het testen.
Bij het unmarshallen krijg ik deze foutmelding: java.lang.ClassCastException: javax.xml.bind.JAXBElement cannot be cast to oasis.names.tc.dss._1_0.core.schema.SignRequest
Bij het controleren van de gegenereerde XML vind ik ineens dit terug:
Er wordt ineens xsi:type="ns0:" toegevoegd, wanneer ik deze weghaal dan gaat het proces verder wel goed.
Nu kan ik voor de korte termijn "lomp" doen en simpelweg die string eruit halen met een replace. Maar ik wil graag weten waarom die xsi:type wordt toegevoegd en hoe ik dit structureel kan oplossen.
Is er iemand die enig idee heeft waarom deze wordt toegevoegd?
Ik genereer een testXML die ik daarna meteen weer unmarshal voor het testen.
Bij het unmarshallen krijg ik deze foutmelding: java.lang.ClassCastException: javax.xml.bind.JAXBElement cannot be cast to oasis.names.tc.dss._1_0.core.schema.SignRequest
Bij het controleren van de gegenereerde XML vind ik ineens dit terug:
code:
1
2
3
4
5
6
7
8
9
| <ns0:SignRequest RequestID="478923784237489234789234234234234" Profile="abc" xsi:type="ns0:" xmlns:ns2="urn:oasis:names:tc:dssx:1.0:profiles:VisibleSignatures:schema#" xmlns:ns0="urn:oasis:names:tc:dss:1.0:core:schema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ns0:OptionalInputs> .... |
Er wordt ineens xsi:type="ns0:" toegevoegd, wanneer ik deze weghaal dan gaat het proces verder wel goed.
Nu kan ik voor de korte termijn "lomp" doen en simpelweg die string eruit halen met een replace. Maar ik wil graag weten waarom die xsi:type wordt toegevoegd en hoe ik dit structureel kan oplossen.
Is er iemand die enig idee heeft waarom deze wordt toegevoegd?
Duurzame nerd. Veel comfort en weinig verbruiken. Zuinig aan doen voor de toekomst.