Feilmeldingen:
Invalid content was found starting with element 'systemVersion'.
One of 'koordinatsystemKodeId' is expected.
Vi setter ikke koordinatsystemKodeId i MatrikkelContext!
MatrikkelContext context = new MatrikkelContext();
context.setLocale("no_NO");
context.setBrukOriginaleKoordinater(false);
context.setSystemVersion("1.0"); // ← Vi setter systemVersion
// ❌ MANGLER: context.setKoordinatsystemKodeId(...);
context.setKlientIdentifikasjon("BergenKommune-Java-Client");@XmlType(name = "MatrikkelContext", propOrder = {
"locale",
"brukOriginaleKoordinater",
"koordinatsystemKodeId", // ← Denne MÅ settes (required=true)
"systemVersion", // ← Vi setter kun denne
"klientIdentifikasjon",
"snapshotVersion"
})
public class MatrikkelContext {
@XmlElement(required = true)
protected KoordinatsystemKodeId koordinatsystemKodeId; // ← PÅKREVD!
}Når JAX-WS serialiserer MatrikkelContext til XML:
- Den prøver å skrive
koordinatsystemKodeId(required field) - Men feltet er
nullfordi vi aldri satte det - Den hopper over det og går til
systemVersion - Serveren får XML som starter med
<systemVersion>i stedet for<koordinatsystemKodeId> - Server/unmarshaller klager: "Expected koordinatsystemKodeId, found systemVersion"
9 = EUREF89 UTM Sone 31 (Vestlandet - Bergen)
10 = EUREF89 UTM Sone 32 (Østlandet - Oslo)
11 = EUREF89 UTM Sone 33 (Nordland/Troms)
24 = EUREF89 Geografisk
MatrikkelContext context = new MatrikkelContext();
context.setLocale("no_NO");
context.setBrukOriginaleKoordinater(false);
// ✅ LØSNING: Sett koordinatsystem FØRST (før systemVersion)
KoordinatsystemKodeId koordinatsystem = new KoordinatsystemKodeId();
koordinatsystem.setValue(9); // UTM Sone 31 (Bergen/Vestlandet)
context.setKoordinatsystemKodeId(koordinatsystem);
context.setSystemVersion("1.0");
context.setKlientIdentifikasjon("BergenKommune-Java-Client");- XSD-filen viser at
koordinatsystemKodeIdeksisterer - Vi antok at alle felter var optional (minOccurs="0")
- Men
koordinatsystemKodeIdhar IKKEminOccurs="0"- den er påkrevd! - JAX-WS annotations bekrefter:
@XmlElement(required = true)
Problemet var IKKE i XSD-filene eller WSDL-versjonene.
Problemet var i vår Java-kode: Vi glemte å sette et påkrevd felt (koordinatsystemKodeId).
Hvis dere fortsatt ønsker å kontakte support, kan dere nevne:
"Vi fant løsningen selv - vi hadde glemt å sette påkrevd felt
koordinatsystemKodeIdiMatrikkelContext. Det ville vært nyttig om WSDL/XSD-dokumentasjonen hadde en liste over påkrevde vs. valgfrie felter, eller et Java-eksempel som viser hvordan man skal oppretteMatrikkelContextkorrekt."