diff --git a/intelliform-adapter/src/main/java/de/ozgcloud/eingang/SemantikAdapterConfiguration.java b/intelliform-adapter/src/main/java/de/ozgcloud/eingang/SemantikAdapterConfiguration.java
index dd6ada82e85d34ecb6befee9dd5c506f95172fe4..9c63e2d652a34bba3306d35ca7e19773c187e682 100644
--- a/intelliform-adapter/src/main/java/de/ozgcloud/eingang/SemantikAdapterConfiguration.java
+++ b/intelliform-adapter/src/main/java/de/ozgcloud/eingang/SemantikAdapterConfiguration.java
@@ -25,6 +25,9 @@ package de.ozgcloud.eingang;
 
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConverter;
+
+import com.fasterxml.jackson.dataformat.xml.XmlMapper;
 
 import de.ozgcloud.eingang.semantik.enginebased.EngineBasedSemantikAdapter;
 import de.ozgcloud.eingang.semantik.enginebased.afm.AfmEngineBasedAdapter;
@@ -36,4 +39,9 @@ public class SemantikAdapterConfiguration {
 	public EngineBasedSemantikAdapter engineBasedSemantikAdapter() {
 		return new AfmEngineBasedAdapter();
 	}
+
+	@Bean
+	public XmlMapper xmlMapper(MappingJackson2XmlHttpMessageConverter messageConverter) {
+		return (XmlMapper) messageConverter.getObjectMapper();
+	}
 }
\ No newline at end of file
diff --git a/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/ZustaendigeStelleMetadataMapperITCase.java b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/ZustaendigeStelleMetadataMapperITCase.java
new file mode 100644
index 0000000000000000000000000000000000000000..58ba71eab254e07ee778dd3aa3bdad22e80e1e12
--- /dev/null
+++ b/semantik-adapter/src/test/java/de/ozgcloud/eingang/semantik/enginebased/afm/ZustaendigeStelleMetadataMapperITCase.java
@@ -0,0 +1,64 @@
+package de.ozgcloud.eingang.semantik.enginebased.afm;
+
+import static de.ozgcloud.eingang.semantik.enginebased.afm.ZustaendigeStelleMetadataMapper.*;
+import static org.assertj.core.api.Assertions.*;
+
+import java.io.File;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.converter.xml.MappingJackson2XmlHttpMessageConverter;
+
+import com.fasterxml.jackson.dataformat.xml.XmlMapper;
+
+import de.itvsh.kop.common.test.ITCase;
+import de.itvsh.kop.common.test.TestUtils;
+import de.ozgcloud.eingang.common.formdata.IncomingFile;
+import de.ozgcloud.eingang.common.formdata.IncomingFileTestFactory;
+import lombok.SneakyThrows;
+
+@ITCase
+class ZustaendigeStelleMetadataMapperITCase {
+
+	@Autowired
+	private ZustaendigeStelleMetadataMapper mapper;
+
+	private IncomingFile behoerdeMetadataXml;
+
+	@SneakyThrows
+	@BeforeEach
+	void setUp() {
+		behoerdeMetadataXml = IncomingFileTestFactory.createBuilder()
+				.name(ZustaendigeStelleMetadataMapper.BEHOERDE_METADATA_FILE_NAME)
+				.file(new File(TestUtils.class.getClassLoader().getResource(BEHOERDE_METADATA_FILE_NAME).toURI())).build();
+
+	}
+
+	@Test
+	void shouldReadXmlNodes() {
+		var metadata = mapper.readXmlContent(behoerdeMetadataXml);
+
+		assertThat(metadata).get().extracting("fields").asList().usingRecursiveFieldByFieldElementComparator()
+				.containsAll(ZustaendigeStelleDataTestFactory.ZUSTAENDIGE_STELLE_DATA_FIELDS);
+	}
+
+	@SneakyThrows
+	@Test
+	void shouldCatchException() {
+		var zustaendigeStelleData = mapper.readXmlContent(IncomingFileTestFactory.createBuilder().file(new File("broken-file")).build());
+
+		assertThat(zustaendigeStelleData).isEmpty();
+	}
+}
+
+@Configuration
+class TestConfiguration {
+
+	@Bean
+	public XmlMapper xmlMapper(MappingJackson2XmlHttpMessageConverter messageConverter) {
+		return (XmlMapper) messageConverter.getObjectMapper();
+	}
+}
\ No newline at end of file