Brukerfeil i matrikkelen
Feilmelding om mapping ved bruk av StoreService
Beskrivelse av feil
Når man kaller på tjenestene getObject og getObjects på StoreService kan man få feil av denne typen:
Error mapping from no.statkart.matrikkel.matrikkelapi.wsapi.v1.domain.MatrikkelBubbleId to
no.statkart.skif.store.BubbleId<? extends T>:
Caused by: class no.statkart.skif.exception.ImplementationException:
no.statkart.matrikkel.domene.MatrikkelBubbleId.<init>(java.lang.Long, no.statkart.skif.store.SnapshotVersion):
Caused by: class java.lang.NoSuchMethodException: no.statkart.matrikkel.domene.MatrikkelBubbleId.<init>(java.lang.Long, no.statkart.skif.store.SnapshotVersion)
Feilårsak og løsning
Dette skyldes mangel av typing på id-en man sender inn i kallet. Vi benytter subtyper og har krav på dette for å hente ut en boble for en id. Under følger noen eksempler der vi benytter xsi:type for å gjøre dette.
Standard ser det slik ut. Her sier vi ingenting til systemet om hvilken type id vi er på jakt etter og vil få feil.
<stor:id>
<dom:value>6390025650</dom:value>
</stor:id>
Matrikkelenhet. Benytter namespace matrikkelenhet og definerer opp hva xsi er.
<stor:id xsi:type="mat:MatrikkelenhetId"
xmlns:mat="http://matrikkel.statkart.no/matrikkelapi/wsapi/v1/domain/matrikkelenhet"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<dom:value>6390025650</dom:value>
</stor:id>
Bruksenhet
<stor:id xsi:type="byg:BruksenhetId"
xmlns:byg="http://matrikkel.statkart.no/matrikkelapi/wsapi/v1/domain/bygning"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<dom:value>6244231245</dom:value>
</stor:id>
Veg
<stor:id xsi:type="ns:VegId"
xmlns:ns="http://matrikkel.statkart.no/matrikkelapi/wsapi/v1/domain/adresse"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<dom:value>6408417220</dom:value>
</stor:id>