diff --git a/src/main/java/de/ozgcloud/nachrichten/antragsraum/AntragsraumGrpcService.java b/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragsraumGrpcService.java
similarity index 98%
rename from src/main/java/de/ozgcloud/nachrichten/antragsraum/AntragsraumGrpcService.java
rename to src/main/java/de/ozgcloud/nachrichten/antragraum/AntragsraumGrpcService.java
index e07d5fc75492ba41cc2d3278aa3c975d275b39a2..bc623a5bf19d2ae31eadda56dfd43e7c751f2fe7 100644
--- a/src/main/java/de/ozgcloud/nachrichten/antragsraum/AntragsraumGrpcService.java
+++ b/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragsraumGrpcService.java
@@ -18,7 +18,7 @@
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
 
-package de.ozgcloud.nachrichten.antragsraum;
+package de.ozgcloud.nachrichten.antragraum;
 
 import de.ozgcloud.nachrichten.postfach.PersistPostfachNachrichtService;
 import de.ozgcloud.nachrichten.postfach.antragraum.*;
diff --git a/src/main/java/de/ozgcloud/nachrichten/antragsraum/BayernIdSamlConfiguration.java b/src/main/java/de/ozgcloud/nachrichten/antragraum/BayernIdSamlConfiguration.java
similarity index 85%
rename from src/main/java/de/ozgcloud/nachrichten/antragsraum/BayernIdSamlConfiguration.java
rename to src/main/java/de/ozgcloud/nachrichten/antragraum/BayernIdSamlConfiguration.java
index 429b962d387a9d4671d3e403dc394e215db4a799..db27510dcee7d9c24325edca059dbc9ead771e03 100644
--- a/src/main/java/de/ozgcloud/nachrichten/antragsraum/BayernIdSamlConfiguration.java
+++ b/src/main/java/de/ozgcloud/nachrichten/antragraum/BayernIdSamlConfiguration.java
@@ -18,14 +18,12 @@
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
 
-package de.ozgcloud.nachrichten.antragsraum;
+package de.ozgcloud.nachrichten.antragraum;
 
 import jakarta.annotation.PostConstruct;
 import lombok.extern.log4j.Log4j2;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
 import net.shibboleth.utilities.java.support.resolver.CriteriaSet;
-import net.shibboleth.utilities.java.support.xml.BasicParserPool;
-import net.shibboleth.utilities.java.support.xml.ParserPool;
 import net.shibboleth.utilities.java.support.xml.XMLParserException;
 import org.opensaml.core.config.ConfigurationService;
 import org.opensaml.core.config.InitializationService;
@@ -71,6 +69,8 @@ import java.security.cert.X509Certificate;
 import java.security.interfaces.RSAPrivateKey;
 import java.util.*;
 
+import static de.ozgcloud.nachrichten.antragraum.Saml2Parser.*;
+
 @Configuration
 @Log4j2
 public class BayernIdSamlConfiguration {
@@ -104,42 +104,7 @@ public class BayernIdSamlConfiguration {
 
     @Bean
     Saml2Parser parser() {
-        try {
-            return new Saml2Parser(getParserPool());
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    static ParserPool getParserPool() throws ComponentInitializationException {
-        BasicParserPool parserPool = new BasicParserPool();
-        parserPool.setMaxPoolSize(100);
-        parserPool.setCoalescing(true);
-        parserPool.setIgnoreComments(true);
-        parserPool.setIgnoreElementContentWhitespace(true);
-        parserPool.setNamespaceAware(true);
-        parserPool.setExpandEntityReferences(false);
-        parserPool.setXincludeAware(false);
-
-        final Map<String, Boolean> features = createFeatureMap();
-
-        parserPool.setBuilderFeatures(features);
-
-        parserPool.setBuilderAttributes(new HashMap<>());
-
-        parserPool.initialize();
-
-        return parserPool;
-    }
-
-    private static Map<String, Boolean> createFeatureMap() {
-        final Map<String, Boolean> features = new HashMap<>();
-        features.put("http://xml.org/sax/features/external-general-entities", Boolean.FALSE);
-        features.put("http://xml.org/sax/features/external-parameter-entities", Boolean.FALSE);
-        features.put("http://apache.org/xml/features/disallow-doctype-decl", Boolean.TRUE);
-        features.put("http://apache.org/xml/features/validation/schema/normalized-value", Boolean.FALSE);
-        features.put("http://javax.xml.XMLConstants/feature/secure-processing", Boolean.TRUE);
-        return features;
+        return new Saml2Parser();
     }
 
     @Bean
diff --git a/src/main/java/de/ozgcloud/nachrichten/antragsraum/NachrichtMapper.java b/src/main/java/de/ozgcloud/nachrichten/antragraum/NachrichtMapper.java
similarity index 98%
rename from src/main/java/de/ozgcloud/nachrichten/antragsraum/NachrichtMapper.java
rename to src/main/java/de/ozgcloud/nachrichten/antragraum/NachrichtMapper.java
index c7411a3898ce03c3679f00ce2dafea8800520e51..f704b435ee7a72fc5200b9c842071cf87b91873f 100644
--- a/src/main/java/de/ozgcloud/nachrichten/antragsraum/NachrichtMapper.java
+++ b/src/main/java/de/ozgcloud/nachrichten/antragraum/NachrichtMapper.java
@@ -18,7 +18,7 @@
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
 
-package de.ozgcloud.nachrichten.antragsraum;
+package de.ozgcloud.nachrichten.antragraum;
 
 import de.ozgcloud.nachrichten.postfach.PostfachNachricht;
 import de.ozgcloud.nachrichten.postfach.antragraum.GrpcRueckfrage;
diff --git a/src/main/java/de/ozgcloud/nachrichten/antragsraum/Saml2Decrypter.java b/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Decrypter.java
similarity index 94%
rename from src/main/java/de/ozgcloud/nachrichten/antragsraum/Saml2Decrypter.java
rename to src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Decrypter.java
index 4b96afe825179720ddbac9415ff38c5c89d52721..62e6b589c6c99e5262cb92a8c57c415b07d5b4d2 100644
--- a/src/main/java/de/ozgcloud/nachrichten/antragsraum/Saml2Decrypter.java
+++ b/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Decrypter.java
@@ -18,7 +18,7 @@
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
 
-package de.ozgcloud.nachrichten.antragsraum;
+package de.ozgcloud.nachrichten.antragraum;
 
 import org.opensaml.core.xml.XMLObject;
 import org.opensaml.core.xml.schema.XSString;
@@ -45,6 +45,7 @@ import java.util.Collection;
 import java.util.List;
 
 class Saml2Decrypter {
+    public static final String LEGACY_POSTKORB_HANDLE_KEY = "legacyPostkorbHandle";
     private final Decrypter decrypter;
     private static final EncryptedKeyResolver encryptedKeyResolver = new ChainingEncryptedKeyResolver(
             Arrays.asList(new InlineEncryptedKeyResolver(), new EncryptedElementTypeEncryptedKeyResolver(),
@@ -80,7 +81,7 @@ class Saml2Decrypter {
         var samlAssertion = response.getAssertions().get(0);
         var statements = (AttributeStatement) samlAssertion.getStatements().get(1);
         var attributes = statements.getAttributes();
-        var postfachIdOptional = attributes.stream().filter(attribute -> "legacyPostkorbHandle".equals(attribute.getFriendlyName())).findFirst();
+        var postfachIdOptional = attributes.stream().filter(attribute -> LEGACY_POSTKORB_HANDLE_KEY.equals(attribute.getFriendlyName())).findFirst();
 
         return postfachIdOptional.map(postfachIdAttribute -> {
             List<XMLObject> values = postfachIdAttribute.getAttributeValues();
diff --git a/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Parser.java b/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Parser.java
new file mode 100644
index 0000000000000000000000000000000000000000..21ebf47040a4f247cf733668b40a1377cf02db06
--- /dev/null
+++ b/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Parser.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright (c) 2024.
+ * Lizenziert unter der EUPL, Version 1.2 oder - sobald
+ * diese von der Europäischen Kommission genehmigt wurden -
+ * Folgeversionen der EUPL ("Lizenz");
+ * Sie dürfen dieses Werk ausschließlich gemäß
+ * dieser Lizenz nutzen.
+ * Eine Kopie der Lizenz finden Sie hier:
+ *
+ * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
+ *
+ * Sofern nicht durch anwendbare Rechtsvorschriften
+ * gefordert oder in schriftlicher Form vereinbart, wird
+ * die unter der Lizenz verbreitete Software "so wie sie
+ * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
+ * ausdrücklich oder stillschweigend - verbreitet.
+ * Die sprachspezifischen Genehmigungen und Beschränkungen
+ * unter der Lizenz sind dem Lizenztext zu entnehmen.
+ */
+
+package de.ozgcloud.nachrichten.antragraum;
+
+import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
+import net.shibboleth.utilities.java.support.xml.BasicParserPool;
+import net.shibboleth.utilities.java.support.xml.ParserPool;
+import net.shibboleth.utilities.java.support.xml.XMLParserException;
+import org.opensaml.core.xml.XMLObject;
+import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
+import org.opensaml.core.xml.io.UnmarshallingException;
+import org.opensaml.saml.saml2.core.Response;
+import org.opensaml.saml.saml2.core.impl.ResponseUnmarshaller;
+import org.springframework.security.saml2.Saml2Exception;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.nio.charset.StandardCharsets;
+import java.util.HashMap;
+import java.util.Map;
+
+class Saml2Parser {
+    private ParserPool parserPool;
+    private ResponseUnmarshaller unmarshaller;
+
+    Saml2Parser() {
+        init();
+    }
+
+    void init() {
+        try {
+            this.parserPool = getParserPool();
+            unmarshaller = (ResponseUnmarshaller) XMLObjectProviderRegistrySupport.getUnmarshallerFactory().getUnmarshaller(Response.DEFAULT_ELEMENT_NAME);
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    static ParserPool getParserPool() throws ComponentInitializationException {
+        BasicParserPool parserPool = new BasicParserPool();
+        parserPool.setMaxPoolSize(100);
+        parserPool.setCoalescing(true);
+        parserPool.setIgnoreComments(true);
+        parserPool.setIgnoreElementContentWhitespace(true);
+        parserPool.setNamespaceAware(true);
+        parserPool.setExpandEntityReferences(false);
+        parserPool.setXincludeAware(false);
+
+        final Map<String, Boolean> features = createFeatureMap();
+
+        parserPool.setBuilderFeatures(features);
+
+        parserPool.setBuilderAttributes(new HashMap<>());
+
+        parserPool.initialize();
+
+        return parserPool;
+    }
+
+    private static Map<String, Boolean> createFeatureMap() {
+        final Map<String, Boolean> features = new HashMap<>();
+        features.put("http://xml.org/sax/features/external-general-entities", Boolean.FALSE);
+        features.put("http://xml.org/sax/features/external-parameter-entities", Boolean.FALSE);
+        features.put("http://apache.org/xml/features/disallow-doctype-decl", Boolean.TRUE);
+        features.put("http://apache.org/xml/features/validation/schema/normalized-value", Boolean.FALSE);
+        features.put("http://javax.xml.XMLConstants/feature/secure-processing", Boolean.TRUE);
+        return features;
+    }
+
+    Response parse(String request) {
+        return (Response) xmlObject(new ByteArrayInputStream(request.getBytes(StandardCharsets.UTF_8)));
+    }
+
+    XMLObject xmlObject(InputStream inputStream) throws Saml2Exception {
+        try {
+            Document document = parserPool.parse(inputStream);
+            Element element = document.getDocumentElement();
+            return unmarshaller.unmarshall(element);
+        } catch (XMLParserException | UnmarshallingException e) {
+            throw new Saml2Exception("Failed to deserialize LogoutRequest", e);
+        }
+    }
+}
diff --git a/src/main/java/de/ozgcloud/nachrichten/antragsraum/Saml2Verifier.java b/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Verifier.java
similarity index 98%
rename from src/main/java/de/ozgcloud/nachrichten/antragsraum/Saml2Verifier.java
rename to src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Verifier.java
index 5ec95ae2580be0107ed1abb4fc71dc35dabb7a6b..4377d65c97a3489bfe46c039842455c7a7d3493e 100644
--- a/src/main/java/de/ozgcloud/nachrichten/antragsraum/Saml2Verifier.java
+++ b/src/main/java/de/ozgcloud/nachrichten/antragraum/Saml2Verifier.java
@@ -18,7 +18,7 @@
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
 
-package de.ozgcloud.nachrichten.antragsraum;
+package de.ozgcloud.nachrichten.antragraum;
 
 import lombok.RequiredArgsConstructor;
 import lombok.extern.log4j.Log4j2;
@@ -42,7 +42,6 @@ class Saml2Verifier {
     private final SignatureTrustEngine trustEngine;
     private final CriteriaSet verificationCriteria;
 
-
     List<Saml2Error> verify(String samlToken) {
         var response = parser.parse(samlToken);
 
diff --git a/src/main/java/de/ozgcloud/nachrichten/antragsraum/Saml2Parser.java b/src/main/java/de/ozgcloud/nachrichten/antragsraum/Saml2Parser.java
deleted file mode 100644
index 872ebf753a2d34a74de1f95edeb93f4f53bfe755..0000000000000000000000000000000000000000
--- a/src/main/java/de/ozgcloud/nachrichten/antragsraum/Saml2Parser.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (c) 2024.
- * Lizenziert unter der EUPL, Version 1.2 oder - sobald
- * diese von der Europäischen Kommission genehmigt wurden -
- * Folgeversionen der EUPL ("Lizenz");
- * Sie dürfen dieses Werk ausschließlich gemäß
- * dieser Lizenz nutzen.
- * Eine Kopie der Lizenz finden Sie hier:
- *
- * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
- *
- * Sofern nicht durch anwendbare Rechtsvorschriften
- * gefordert oder in schriftlicher Form vereinbart, wird
- * die unter der Lizenz verbreitete Software "so wie sie
- * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN -
- * ausdrücklich oder stillschweigend - verbreitet.
- * Die sprachspezifischen Genehmigungen und Beschränkungen
- * unter der Lizenz sind dem Lizenztext zu entnehmen.
- */
-
-package de.ozgcloud.nachrichten.antragsraum;
-
-import net.shibboleth.utilities.java.support.xml.ParserPool;
-import org.opensaml.core.xml.config.XMLObjectProviderRegistrySupport;
-import org.opensaml.saml.saml2.core.Response;
-import org.opensaml.saml.saml2.core.impl.ResponseUnmarshaller;
-import org.springframework.security.saml2.Saml2Exception;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-import java.io.ByteArrayInputStream;
-import java.nio.charset.StandardCharsets;
-
-class Saml2Parser {
-    private final ParserPool parserPool;
-    private ResponseUnmarshaller unmarshaller;
-
-    Saml2Parser(ParserPool parserPool) {
-        this.parserPool = parserPool;
-        init();
-    }
-
-    void init() {
-        try {
-            unmarshaller = (ResponseUnmarshaller) XMLObjectProviderRegistrySupport.getUnmarshallerFactory().getUnmarshaller(Response.DEFAULT_ELEMENT_NAME);
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    Response parse(String request) throws Saml2Exception {
-        try {
-            Document document = parserPool.parse(new ByteArrayInputStream(request.getBytes(StandardCharsets.UTF_8)));
-            Element element = document.getDocumentElement();
-            return (Response) unmarshaller.unmarshall(element);
-        } catch (Exception e) {
-            throw new Saml2Exception("Failed to deserialize LogoutRequest", e);
-        }
-    }
-}
diff --git a/src/test/java/de/ozgcloud/nachrichten/antragsraum/AntragsraumGrpcServiceTest.java b/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragsraumGrpcServiceTest.java
similarity index 98%
rename from src/test/java/de/ozgcloud/nachrichten/antragsraum/AntragsraumGrpcServiceTest.java
rename to src/test/java/de/ozgcloud/nachrichten/antragraum/AntragsraumGrpcServiceTest.java
index e9d257fff49c2cdb0f5bcd21edf27cbd8020ce9b..102210262a05e361882cf135d2705f1d1195aa35 100644
--- a/src/test/java/de/ozgcloud/nachrichten/antragsraum/AntragsraumGrpcServiceTest.java
+++ b/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragsraumGrpcServiceTest.java
@@ -18,7 +18,7 @@
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
 
-package de.ozgcloud.nachrichten.antragsraum;
+package de.ozgcloud.nachrichten.antragraum;
 
 import de.ozgcloud.nachrichten.postfach.PersistPostfachNachrichtService;
 import de.ozgcloud.nachrichten.postfach.PostfachNachricht;
diff --git a/src/test/java/de/ozgcloud/nachrichten/antragsraum/BayernIdSamlConfigurationITCase.java b/src/test/java/de/ozgcloud/nachrichten/antragraum/BayernIdSamlConfigurationITCase.java
similarity index 97%
rename from src/test/java/de/ozgcloud/nachrichten/antragsraum/BayernIdSamlConfigurationITCase.java
rename to src/test/java/de/ozgcloud/nachrichten/antragraum/BayernIdSamlConfigurationITCase.java
index f2ab9263006f84fd72767dad5f8ce4e59cf4be3d..711012919215c4d0e0e634b7a52e0614f5c0b339 100644
--- a/src/test/java/de/ozgcloud/nachrichten/antragsraum/BayernIdSamlConfigurationITCase.java
+++ b/src/test/java/de/ozgcloud/nachrichten/antragraum/BayernIdSamlConfigurationITCase.java
@@ -18,7 +18,7 @@
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
 
-package de.ozgcloud.nachrichten.antragsraum;
+package de.ozgcloud.nachrichten.antragraum;
 
 import de.ozgcloud.common.test.ITCase;
 import org.junit.jupiter.api.Test;
diff --git a/src/test/java/de/ozgcloud/nachrichten/antragsraum/GrpcFindRueckfrageRequestTestFactory.java b/src/test/java/de/ozgcloud/nachrichten/antragraum/GrpcFindRueckfrageRequestTestFactory.java
similarity index 96%
rename from src/test/java/de/ozgcloud/nachrichten/antragsraum/GrpcFindRueckfrageRequestTestFactory.java
rename to src/test/java/de/ozgcloud/nachrichten/antragraum/GrpcFindRueckfrageRequestTestFactory.java
index 3e60f8a6769c653725d220ca05af6d1b4999c367..1238f4f67ae1dc16816dacd6132547b7c5c06b6a 100644
--- a/src/test/java/de/ozgcloud/nachrichten/antragsraum/GrpcFindRueckfrageRequestTestFactory.java
+++ b/src/test/java/de/ozgcloud/nachrichten/antragraum/GrpcFindRueckfrageRequestTestFactory.java
@@ -18,7 +18,7 @@
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
 
-package de.ozgcloud.nachrichten.antragsraum;
+package de.ozgcloud.nachrichten.antragraum;
 
 import de.ozgcloud.common.test.TestUtils;
 import de.ozgcloud.nachrichten.postfach.antragraum.GrpcFindRueckfragenRequest;
diff --git a/src/test/java/de/ozgcloud/nachrichten/antragsraum/NachrichtMapperTest.java b/src/test/java/de/ozgcloud/nachrichten/antragraum/NachrichtMapperTest.java
similarity index 98%
rename from src/test/java/de/ozgcloud/nachrichten/antragsraum/NachrichtMapperTest.java
rename to src/test/java/de/ozgcloud/nachrichten/antragraum/NachrichtMapperTest.java
index bd8f93a8ec4d8bbc55a77f1fd05c165de5747237..d90fa112cb9a6becc76b52c8ba59d428caec3fa5 100644
--- a/src/test/java/de/ozgcloud/nachrichten/antragsraum/NachrichtMapperTest.java
+++ b/src/test/java/de/ozgcloud/nachrichten/antragraum/NachrichtMapperTest.java
@@ -18,7 +18,7 @@
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
 
-package de.ozgcloud.nachrichten.antragsraum;
+package de.ozgcloud.nachrichten.antragraum;
 
 import de.ozgcloud.nachrichten.postfach.PostfachNachrichtTestFactory;
 import de.ozgcloud.nachrichten.postfach.antragraum.GrpcRueckfrage;
diff --git a/src/test/java/de/ozgcloud/nachrichten/antragsraum/Saml2DecrypterITCase.java b/src/test/java/de/ozgcloud/nachrichten/antragraum/Saml2DecrypterITCase.java
similarity index 98%
rename from src/test/java/de/ozgcloud/nachrichten/antragsraum/Saml2DecrypterITCase.java
rename to src/test/java/de/ozgcloud/nachrichten/antragraum/Saml2DecrypterITCase.java
index b6a66c491c69c97d010117b7d994fbf5bea9d59b..bd4861d04d28a886938bbdd15cd0d2001ffedaba 100644
--- a/src/test/java/de/ozgcloud/nachrichten/antragsraum/Saml2DecrypterITCase.java
+++ b/src/test/java/de/ozgcloud/nachrichten/antragraum/Saml2DecrypterITCase.java
@@ -18,7 +18,7 @@
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
 
-package de.ozgcloud.nachrichten.antragsraum;
+package de.ozgcloud.nachrichten.antragraum;
 
 import de.ozgcloud.common.test.ITCase;
 import de.ozgcloud.common.test.TestUtils;
diff --git a/src/test/java/de/ozgcloud/nachrichten/antragsraum/Saml2ParserTest.java b/src/test/java/de/ozgcloud/nachrichten/antragraum/Saml2ParserTest.java
similarity index 74%
rename from src/test/java/de/ozgcloud/nachrichten/antragsraum/Saml2ParserTest.java
rename to src/test/java/de/ozgcloud/nachrichten/antragraum/Saml2ParserTest.java
index 4b2240c3b4cc1d09b52dd25de8a0c1cf9e31ec39..bd64e2a3c9763c170bf06da60af712ba19c79057 100644
--- a/src/test/java/de/ozgcloud/nachrichten/antragsraum/Saml2ParserTest.java
+++ b/src/test/java/de/ozgcloud/nachrichten/antragraum/Saml2ParserTest.java
@@ -18,18 +18,26 @@
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
 
-package de.ozgcloud.nachrichten.antragsraum;
+package de.ozgcloud.nachrichten.antragraum;
 
 import de.ozgcloud.common.test.TestUtils;
+import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.opensaml.saml.saml2.core.Response;
 
+import java.io.InputStream;
+
 import static org.assertj.core.api.Assertions.*;
 
 class Saml2ParserTest {
+    @BeforeEach
+    void setup() {
+        new BayernIdSamlConfiguration().initOpenSAML();
+    }
+
     @Test
-    void shouldInit() throws Exception {
-        Saml2Parser parser = new Saml2Parser(BayernIdSamlConfiguration.getParserPool());
+    void shouldInit() {
+        Saml2Parser parser = new Saml2Parser();
         assertThat(parser).isNotNull();
     }
 
@@ -57,9 +65,18 @@ class Saml2ParserTest {
         assertThat(response.getIssuer().getValue()).isEqualTo("https://infra-pre-id.bayernportal.de/idp");
     }
 
+    @Test
+    void shouldGetXMLObject() throws Exception {
+        Saml2Parser parser = new Saml2Parser();
+
+        try (InputStream tokenStream = TestUtils.loadFile("SamlResponse.xml")) {
+            assertThat(parser.xmlObject(tokenStream)).isNotNull();
+        }
+    }
+
     private static Response getResponse() throws Exception {
         var token = TestUtils.loadTextFile("SamlResponse.xml");
-        Saml2Parser parser = new Saml2Parser(BayernIdSamlConfiguration.getParserPool());
+        Saml2Parser parser = new Saml2Parser(); //BayernIdSamlConfiguration.getParserPool()
 
         return parser.parse(token);
     }
diff --git a/src/test/java/de/ozgcloud/nachrichten/antragsraum/Saml2VerifierITCase.java b/src/test/java/de/ozgcloud/nachrichten/antragraum/Saml2VerifierITCase.java
similarity index 97%
rename from src/test/java/de/ozgcloud/nachrichten/antragsraum/Saml2VerifierITCase.java
rename to src/test/java/de/ozgcloud/nachrichten/antragraum/Saml2VerifierITCase.java
index cccbd0ff647eec7ee88ec0e462af5b1199428bb6..f342a89b65c72aa3269c4c09d65e32cb931c4f27 100644
--- a/src/test/java/de/ozgcloud/nachrichten/antragsraum/Saml2VerifierITCase.java
+++ b/src/test/java/de/ozgcloud/nachrichten/antragraum/Saml2VerifierITCase.java
@@ -18,7 +18,7 @@
  * unter der Lizenz sind dem Lizenztext zu entnehmen.
  */
 
-package de.ozgcloud.nachrichten.antragsraum;
+package de.ozgcloud.nachrichten.antragraum;
 
 import de.ozgcloud.common.test.ITCase;
 import de.ozgcloud.common.test.TestUtils;