diff --git a/pom.xml b/pom.xml
index 12802c88bda7ee8a0ad01701ce78443c3707c2a0..0ad473059d7eae8d8dbd84e88a1cde083cdc9a0d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,17 +11,17 @@
 
 	<groupId>de.ozgcloud.osiv2</groupId>
 	<artifactId>osiv2-postfach</artifactId>
-	<version>0.1.1-SNAPSHOT</version>
+	<version>0.1.0-SNAPSHOT</version>
 
 	<name>OZG-Cloud-OSIv2-Postfach</name>
 	<description>OSIv2-Postfach-Anbindung für OZG-Cloud-Nachrichten</description>
 
 	<properties>
-		<api-lib.version>0.14.0</api-lib.version>
-		<nachrichten-manager.version>2.14.0</nachrichten-manager.version>
-		<mockserver-client.version>5.15.0</mockserver-client.version>
+		<api-lib.version>0.16.0</api-lib.version>
+		<nachrichten-manager.version>2.17.0-SNAPSHOT</nachrichten-manager.version>
 		<openapi-generator.version>7.10.0</openapi-generator.version>
 		<swagger-parser.version>2.1.23</swagger-parser.version>
+		<wiremock-spring-boot.version>3.6.0</wiremock-spring-boot.version>
 	</properties>
 	<dependencies>
 		<!-- OZG-Cloud -->
@@ -49,7 +49,6 @@
 			<artifactId>spring-boot-starter-oauth2-client</artifactId>
 		</dependency>
 
-
 		<dependency>
 			<groupId>org.mapstruct</groupId>
 			<artifactId>mapstruct</artifactId>
@@ -75,18 +74,14 @@
 			<version>${testcontainers.version}</version>
 			<scope>test</scope>
 		</dependency>
+
 		<dependency>
-			<groupId>org.mock-server</groupId>
-			<artifactId>mockserver-client-java</artifactId>
-			<version>${mockserver-client.version}</version>
-			<scope>test</scope>
-		</dependency>
-		<dependency>
-			<groupId>org.testcontainers</groupId>
-			<artifactId>mockserver</artifactId>
-			<scope>test</scope>
+			<groupId>org.wiremock.integrations</groupId>
+			<artifactId>wiremock-spring-boot</artifactId>
+			<version>${wiremock-spring-boot.version}</version>
 		</dependency>
 
+
 		<!-- commons -->
 		<dependency>
 			<groupId>org.apache.commons</groupId>
diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteService.java b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteService.java
index 89761838c98336a31ca91d874373d5efa68792d1..c03d4e681f51ff7a38fb4741ac21e92e187638e6 100644
--- a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteService.java
+++ b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteService.java
@@ -7,16 +7,19 @@ import org.springframework.stereotype.Service;
 
 import de.ozgcloud.nachrichten.postfach.PostfachNachricht;
 import de.ozgcloud.nachrichten.postfach.PostfachRemoteService;
+import de.ozgcloud.nachrichten.postfach.osiv2.config.Osi2PostfachProperties;
 import de.ozgcloud.nachrichten.postfach.osiv2.transfer.PostfachApiFacadeService;
+import lombok.RequiredArgsConstructor;
 import lombok.extern.log4j.Log4j2;
 
 @Service
-@ConditionalOnProperty("ozgcloud.osiv2.enabled")
+@ConditionalOnProperty(prefix = Osi2PostfachProperties.PREFIX, name = "enabled", havingValue = "true")
 @Log4j2
-public record OsiPostfachRemoteService(
-		PostfachApiFacadeService postfachApiFacadeService
-) implements PostfachRemoteService {
-	public static final String POSTFACH_TYPE_OSI = "OSIV2";
+@RequiredArgsConstructor
+public class OsiPostfachRemoteService implements PostfachRemoteService {
+	private final PostfachApiFacadeService postfachApiFacadeService;
+
+	public static final String POSTFACH_TYPE_OSI = "OSI";
 
 	@Override
 	public void sendMessage(PostfachNachricht nachricht) {
@@ -31,7 +34,7 @@ public record OsiPostfachRemoteService(
 	public Stream<PostfachNachricht> getAllMessages() {
 		try {
 			return postfachApiFacadeService.receiveMessages();
-		}catch (RuntimeException e) {
+		} catch (RuntimeException e) {
 			throw new OsiPostfachException("Failed to get messages", e);
 		}
 	}
diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/config/ApiClientConfiguration.java b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/config/ApiClientConfiguration.java
index 9461adf1ce8b2cd24e67761d643680130f2a5f53..a0d414ec0f8b44661bc2a9dd1dda47983f17eb66 100644
--- a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/config/ApiClientConfiguration.java
+++ b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/config/ApiClientConfiguration.java
@@ -1,8 +1,5 @@
 package de.ozgcloud.nachrichten.postfach.osiv2.config;
 
-import de.ozgcloud.nachrichten.postfach.osiv2.gen.ApiClient;
-import de.ozgcloud.nachrichten.postfach.osiv2.gen.api.MessageExchangeApi;
-import lombok.RequiredArgsConstructor;
 import org.apache.hc.client5.http.auth.AuthScope;
 import org.apache.hc.client5.http.auth.UsernamePasswordCredentials;
 import org.apache.hc.client5.http.impl.auth.BasicCredentialsProvider;
@@ -28,14 +25,18 @@ import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.util.MultiValueMap;
 import org.springframework.web.client.RestClient;
 
+import de.ozgcloud.nachrichten.postfach.osiv2.gen.ApiClient;
+import de.ozgcloud.nachrichten.postfach.osiv2.gen.api.MessageExchangeApi;
+import lombok.RequiredArgsConstructor;
+
 @Configuration
 @EnableWebSecurity
 @RequiredArgsConstructor
-@ConditionalOnProperty("ozgcloud.osiv2.enabled")
+@ConditionalOnProperty(prefix = Osi2PostfachProperties.PREFIX, name = "enabled", havingValue = "true")
 public class ApiClientConfiguration {
 
-	private final OsiPostfachProperties.ApiConfiguration apiConfiguration;
-	private final OsiPostfachProperties.ProxyConfiguration proxyConfiguration;
+	private final Osi2PostfachProperties.ApiConfiguration apiConfiguration;
+	private final Osi2PostfachProperties.ProxyConfiguration proxyConfiguration;
 
 	@Bean
 	MessageExchangeApi messageExchangeApi(ApiClient apiClient) {
@@ -43,16 +44,14 @@ public class ApiClientConfiguration {
 	}
 
 	@Bean
-	ApiClient apiClient(RestClient restClient) {
-		var apiClient = new ApiClient(restClient);
+	ApiClient apiClient(ClientRegistrationRepository clientRegistrations) {
+		var apiClient = new ApiClient(restClient(clientRegistrations));
 		apiClient.setBasePath(apiConfiguration.getUrl());
 		return apiClient;
 	}
 
-	@Bean
-	public RestClient restClient(ClientRegistrationRepository clientRegistrations) {
-		OAuth2ClientHttpRequestInterceptor requestInterceptor =
-				new OAuth2ClientHttpRequestInterceptor(authorizedClientManager(clientRegistrations));
+	private RestClient restClient(ClientRegistrationRepository clientRegistrations) {
+		var requestInterceptor = new OAuth2ClientHttpRequestInterceptor(authorizedClientManager(clientRegistrations));
 		requestInterceptor.setClientRegistrationIdResolver(request -> "osi2");
 
 		return defaultRestClientBuilder()
diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/config/OsiPostfachProperties.java b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/config/Osi2PostfachProperties.java
similarity index 62%
rename from src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/config/OsiPostfachProperties.java
rename to src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/config/Osi2PostfachProperties.java
index 5d1df86ea4cefa8fc177ffe8545273de464fd4c8..81ef4623dcd53c1d2ab13b03c5b233bd79de5386 100644
--- a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/config/OsiPostfachProperties.java
+++ b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/config/Osi2PostfachProperties.java
@@ -2,28 +2,35 @@ package de.ozgcloud.nachrichten.postfach.osiv2.config;
 
 import jakarta.annotation.Nullable;
 
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.context.annotation.Configuration;
 
 import lombok.Getter;
+import lombok.RequiredArgsConstructor;
 import lombok.Setter;
 
 @Getter
 @Setter
 @Configuration
-@ConfigurationProperties(prefix = OsiPostfachProperties.PREFIX)
-public class OsiPostfachProperties {
+@ConditionalOnProperty(prefix = Osi2PostfachProperties.PREFIX, name = "enabled", havingValue = "true")
+@RequiredArgsConstructor
+public class Osi2PostfachProperties {
 
-	static final String PREFIX = "ozgcloud.osiv2";
+	public static final String PREFIX = "ozgcloud.osiv2";
 
 	private boolean enabled;
 
+	private final ApiConfiguration api;
+
+	private final ProxyConfiguration httpProxy;
+
 	@Getter
 	@Setter
 	@Configuration
 	@ConfigurationProperties(prefix = ApiConfiguration.PREFIX)
-	static class ApiConfiguration {
-		static final String PREFIX = OsiPostfachProperties.PREFIX + ".api";
+	public static class ApiConfiguration {
+		public static final String PREFIX = Osi2PostfachProperties.PREFIX + ".api";
 
 		private String resource;
 		private String url;
@@ -39,8 +46,8 @@ public class OsiPostfachProperties {
 	@Setter
 	@Configuration
 	@ConfigurationProperties(prefix = ProxyConfiguration.PREFIX)
-	static class ProxyConfiguration {
-		static final String PREFIX = OsiPostfachProperties.PREFIX + ".proxy";
+	public static class ProxyConfiguration {
+		public static final String PREFIX = Osi2PostfachProperties.PREFIX + ".proxy";
 
 		private boolean enabled;
 
diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/RequestMapper.java b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/Osi2RequestMapper.java
similarity index 98%
rename from src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/RequestMapper.java
rename to src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/Osi2RequestMapper.java
index c9a42ae3fa9756dfe2ac34d20bfd73405f85a5fe..4b1482c4efeb283320bd9abace07dc89da77f52f 100644
--- a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/RequestMapper.java
+++ b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/Osi2RequestMapper.java
@@ -17,7 +17,7 @@ import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.V1References;
 import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.V1ReplyBehavior;
 
 @Mapper(unmappedTargetPolicy = ReportingPolicy.ERROR)
-public interface RequestMapper {
+public interface Osi2RequestMapper {
 
 	@Mapping(target = "sequencenumber", source = "vorgangId")
 	@Mapping(target = "body", source = "mailBody")
diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/ResponseMapper.java b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/Osi2ResponseMapper.java
similarity index 97%
rename from src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/ResponseMapper.java
rename to src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/Osi2ResponseMapper.java
index 84a1b80ce2f3ac508b39ce35bd9c52edc6f5ce4b..f5acb80a874aed8cf323aca797cbc5488f7846f5 100644
--- a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/ResponseMapper.java
+++ b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/Osi2ResponseMapper.java
@@ -1,7 +1,6 @@
 package de.ozgcloud.nachrichten.postfach.osiv2.transfer;
 
 import java.time.ZoneOffset;
-import java.time.format.DateTimeFormatter;
 
 import org.mapstruct.Mapper;
 import org.mapstruct.Mapping;
@@ -17,7 +16,7 @@ import lombok.Builder;
 import lombok.Getter;
 
 @Mapper(unmappedTargetPolicy = ReportingPolicy.ERROR, imports = ZoneOffset.class)
-public interface ResponseMapper {
+public interface Osi2ResponseMapper {
 
 	String POSTFACH_ADDRESS_VERSION = "2.0";
 	int POSTFACH_ADDRESS_TYPE = 2;
diff --git a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeService.java b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeService.java
index c815b32ed002daf1ddb9d0da2bb35a02300a5df7..d11c556369fb8c3a892d1be7c46476c0b7298ca6 100644
--- a/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeService.java
+++ b/src/main/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeService.java
@@ -1,5 +1,7 @@
 package de.ozgcloud.nachrichten.postfach.osiv2.transfer;
 
+import java.util.Collection;
+import java.util.Optional;
 import java.util.UUID;
 import java.util.stream.Stream;
 
@@ -7,31 +9,42 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.stereotype.Service;
 
 import de.ozgcloud.nachrichten.postfach.PostfachNachricht;
+import de.ozgcloud.nachrichten.postfach.osiv2.config.Osi2PostfachProperties;
 import de.ozgcloud.nachrichten.postfach.osiv2.gen.api.MessageExchangeApi;
 import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.MessageExchangeReceiveMessage;
+import lombok.RequiredArgsConstructor;
 import lombok.extern.log4j.Log4j2;
 
 @Log4j2
 @Service
-@ConditionalOnProperty("ozgcloud.osiv2.enabled")
-public record PostfachApiFacadeService(MessageExchangeApi messageExchangeApi, RequestMapper requestMapper, ResponseMapper responseMapper) {
+@ConditionalOnProperty(prefix = Osi2PostfachProperties.PREFIX, name = "enabled", havingValue = "true")
+@RequiredArgsConstructor
+public class PostfachApiFacadeService {
+
+	private final MessageExchangeApi messageExchangeApi;
+	private final Osi2RequestMapper osi2RequestMapper;
+	private final Osi2ResponseMapper osi2ResponseMapper;
+
+	private static final int MAX_NUMBER_RECEIVED_MESSAGES = 100;
 
-	private static int MAX_NUMBER_RECEIVED_MESSAGES = 100;
 	public void sendMessage(PostfachNachricht nachricht) {
 		messageExchangeApi.sendMessage(
-				requestMapper.mapMailboxId(nachricht),
-				requestMapper.mapOutSendMessageRequestV2(nachricht)
+				osi2RequestMapper.mapMailboxId(nachricht),
+				osi2RequestMapper.mapOutSendMessageRequestV2(nachricht)
 		);
 	}
 
 	public Stream<PostfachNachricht> receiveMessages() {
 		var response = messageExchangeApi.receiveMessages(MAX_NUMBER_RECEIVED_MESSAGES, 0);
-		return response.getMessages().stream().map(this::fetchMessageByGuid);
+		return Optional.ofNullable(response.getMessages())
+				.stream()
+				.flatMap(Collection::stream)
+				.map(this::fetchMessageByGuid);
 	}
 
 	PostfachNachricht fetchMessageByGuid(final MessageExchangeReceiveMessage message) {
 		var messageReply = messageExchangeApi.getMessage(message.getGuid());
-		return responseMapper.toPostfachNachricht(messageReply);
+		return osi2ResponseMapper.toPostfachNachricht(messageReply);
 	}
 
 	public void deleteMessage(final String messageId) {
diff --git a/src/main/resources/application-stage.yml b/src/main/resources/application-stage.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c2804acf5bd4bec3a1e037f7cf334c73b2905050
--- /dev/null
+++ b/src/main/resources/application-stage.yml
@@ -0,0 +1,26 @@
+spring:
+  security:
+    oauth2:
+      client:
+        registration:
+          osi2:
+            client-id: 'OZG-Kopfstelle'
+            client-secret: 'changeme'
+            scope: default, access_urn:dataport:osi:sh:stage:ozgkopfstelle
+            authorization-grant-type: 'client_credentials'
+            client-authentication-method: client_secret_post
+        provider:
+          osi2:
+            token-uri: 'https://idp.serviceportal-stage.schleswig-holstein.de/webidp2/connect/token'
+ozgcloud:
+  osiv2:
+    enabled: false
+    api:
+      resource: 'urn:dataport:osi:postfach:rz2:stage:sh'
+      url: 'https://api-gateway-stage.dataport.de:443/api/osi_postfach/1.0.0'
+      tenant: 'SH'
+      name-identifier: 'ozgkopfstelle'
+    proxy:
+      enabled: true
+      host: 127.0.0.1
+      port: 3128
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index e9a716309c13d9d5b2f5c35401dfaead0e6f5b2c..065fffe83bf04cd7a435ee3d7a96b347b2f9379e 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -1,28 +1,3 @@
 spring:
   jackson:
-    default-property-inclusion: NON_NULL
-  security:
-    oauth2:
-      client:
-        registration:
-          osi2:
-            client-id: 'OZG-Kopfstelle'
-            client-secret: 'changeme'
-            scope: default, access_urn:dataport:osi:sh:stage:ozgkopfstelle
-            authorization-grant-type: 'client_credentials'
-            client-authentication-method: client_secret_post
-        provider:
-          osi2:
-            token-uri: 'https://idp.serviceportal-stage.schleswig-holstein.de/webidp2/connect/token'
-ozgcloud:
-  osiv2:
-    enabled: true
-    api:
-      resource: 'urn:dataport:osi:postfach:rz2:stage:sh'
-      url: 'https://api-gateway-stage.dataport.de:443/api/osi_postfach/1.0.0'
-      tenant: 'SH'
-      name-identifier: 'ozgkopfstelle'
-    proxy:
-      enabled: true
-      host: 127.0.0.1
-      port: 3128
+    default-property-inclusion: NON_NULL
\ No newline at end of file
diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteServiceITCase.java b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteServiceITCase.java
index a99d657d13afe1860ddd9532548ca37dc0c3fa58..0acee01ecdbf9d81f5ce6d8d565300107d75c0e3 100644
--- a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteServiceITCase.java
+++ b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteServiceITCase.java
@@ -1,27 +1,17 @@
 package de.ozgcloud.nachrichten.postfach.osiv2;
 
+import static com.github.tomakehurst.wiremock.client.WireMock.*;
 import static de.ozgcloud.nachrichten.postfach.osiv2.factory.JwtFactory.*;
 import static org.assertj.core.api.Assertions.*;
-import static org.junit.jupiter.api.Assertions.*;
-import static org.mockserver.mock.OpenAPIExpectation.*;
-import static org.mockserver.model.HttpRequest.*;
-import static org.mockserver.model.HttpResponse.*;
 
-import java.nio.file.Files;
-import java.nio.file.Path;
 import java.time.OffsetDateTime;
 import java.util.Arrays;
-import java.util.Map;
 import java.util.UUID;
 
-import de.ozgcloud.nachrichten.postfach.osiv2.factory.JsonUtil;
-import de.ozgcloud.nachrichten.postfach.osiv2.factory.V1ReplyMessageFactory;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.RegisterExtension;
-import org.mockserver.client.MockServerClient;
-import org.mockserver.model.OpenAPIDefinition;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.ActiveProfiles;
@@ -29,20 +19,26 @@ import org.springframework.test.context.DynamicPropertyRegistry;
 import org.springframework.test.context.DynamicPropertySource;
 import org.springframework.test.context.TestPropertySource;
 
+import com.github.tomakehurst.wiremock.WireMockServer;
+import com.github.tomakehurst.wiremock.client.ResponseDefinitionBuilder;
+
 import de.ozgcloud.nachrichten.postfach.PostfachNachricht;
 import de.ozgcloud.nachrichten.postfach.osiv2.extension.Jwt;
 import de.ozgcloud.nachrichten.postfach.osiv2.extension.OsiMockServerExtension;
+import de.ozgcloud.nachrichten.postfach.osiv2.factory.JsonUtil;
+import de.ozgcloud.nachrichten.postfach.osiv2.factory.MessageExchangeReceiveMessageTestFactory;
+import de.ozgcloud.nachrichten.postfach.osiv2.factory.MessageExchangeReceiveMessagesResponseTestFactory;
+import de.ozgcloud.nachrichten.postfach.osiv2.factory.MessageExchangeSendMessageResponseTestFactory;
 import de.ozgcloud.nachrichten.postfach.osiv2.factory.PostfachNachrichtTestFactory;
-import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.MessageExchangeReceiveMessage;
-import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.MessageExchangeReceiveMessagesResponse;
+import de.ozgcloud.nachrichten.postfach.osiv2.factory.V1ReplyMessageTestFactory;
 import lombok.SneakyThrows;
 
 @SpringBootTest(classes = TestApplication.class)
-@ActiveProfiles("itcase")
+@ActiveProfiles({ "stage", "itcase" })
 @TestPropertySource(properties = {
 		"ozgcloud.osiv2.proxy.enabled=false",
 })
-public class OsiPostfachRemoteServiceITCase {
+class OsiPostfachRemoteServiceITCase {
 
 	@RegisterExtension
 	static final OsiMockServerExtension OSI_MOCK_SERVER_EXTENSION = new OsiMockServerExtension();
@@ -61,96 +57,49 @@ public class OsiPostfachRemoteServiceITCase {
 		registry.add("ozgcloud.osiv2.api.resource", () -> RESOURCE_URN);
 	}
 
-	private MockServerClient postfachFacadeMockClient;
-
-	@SneakyThrows
-	private void mockOperationsAndResponses(Map<String, String> operationsAndResponses) {
-		postfachFacadeMockClient.upsert(
-				openAPIExpectation()
-						.withSpecUrlOrPayload(Files.readString(Path.of("spec", "postfach-api-facade.yaml")))
-						.withOperationsAndResponses(Map.of(
-								"deleteMessage", "200"
-						))
-						.withSpecUrlOrPayload(getPostfachApiSpec())
-						.withOperationsAndResponses(operationsAndResponses)
-		);
-	}
-
-	@SneakyThrows
-	private static String getPostfachApiSpec() {
-		return Files.readString(Path.of("spec", "postfach-api-facade.yaml"));
-	}
-
-	private void mockPostfachMessageAndResponse(final String... uuids) {
-		// Stub message listing response
-		mockJsonOperation("receiveMessages", new MessageExchangeReceiveMessagesResponse()
-				.messages(Arrays.stream(uuids)
-						.map(uuid -> new MessageExchangeReceiveMessage()
-								.guid(UUID.fromString(uuid)))
-						.toList()));
-		for (String uuid : uuids) {
-			// Stub individual response for message
-			mockJsonOperation("getMessage", V1ReplyMessageFactory.create()
-					.messageBox(UUID.fromString(uuid))
-					.responseTime(OffsetDateTime.now()));
-		}
-	}
-
-	private void mockJsonOperation(final String operationId, final Object body) {
-		postfachFacadeMockClient
-				.when(
-						new OpenAPIDefinition()
-								.withSpecUrlOrPayload(getPostfachApiSpec())
-								.withOperationId(operationId)
-				)
-				.respond(
-						response()
-								.withHeader("Content-type", "application/json")
-								.withBody(JsonUtil.toJson(body))
-				);
-	}
+	private WireMockServer postfachFacadeMockServer;
 
-
-		@BeforeEach
+	@BeforeEach
 	@SneakyThrows
 	public void setup() {
-		postfachFacadeMockClient = OSI_MOCK_SERVER_EXTENSION.getPostfachFacadeMockClient();
+		postfachFacadeMockServer = OSI_MOCK_SERVER_EXTENSION.getPostfachFacadeMockServer();
 	}
 
-
-	@DisplayName("should send dummy request with jwt")
+	@DisplayName("should send request with jwt")
 	@Test
 	@SneakyThrows
 	void shouldSendRequestWithJwt() {
-		mockOperationsAndResponses(Map.of(
-				"SendMessage", "200"
-		));
+		// Stub message send response (MessageExchangeApi::sendMessage)
+		postfachFacadeMockServer.stubFor(post(urlPathTemplate("/MessageExchange/v1/Send/{mailboxId}"))
+				.willReturn(
+						okJsonObj(
+								MessageExchangeSendMessageResponseTestFactory.create()
+										.messageId(UUID.randomUUID())
+						)
+				)
+		);
 
 		osiPostfachRemoteService.sendMessage(postfachNachricht);
 
-		var requests = postfachFacadeMockClient.retrieveRecordedRequests(request());
+		var requests = postfachFacadeMockServer.findAll(
+				postRequestedFor(urlPathTemplate("/MessageExchange/v1/Send/{mailboxId}")));
 		assertThat(requests).hasSize(1);
-		var jwt = Jwt.parseAuthHeaderValue(
-				requests[0].getHeader("Authorization").getFirst()
-		);
+		var jwt = Jwt.parseAuthHeaderValue(requests.getFirst().getHeader("Authorization"));
 		assertThat(jwt.body().read("$.client_id", String.class)).isEqualTo(CLIENT_ID);
 		assertThat(jwt.body().read("$.aud", String.class)).isEqualTo(RESOURCE_URN);
 	}
 
-
 	@DisplayName("should receive one messages")
 	@Test
 	@SneakyThrows
 	void shouldReceiveMessages() {
 		mockPostfachMessageAndResponse("00000000-0000-0000-0000-000000000000");
 
-		var messageStream = osiPostfachRemoteService.getAllMessages();
+		var messageList = osiPostfachRemoteService.getAllMessages().toList();
 
-		var messageList = messageStream.toList();
-		assertThat(messageList).size().isEqualTo(1);
+		assertThat(messageList).hasSize(1);
 	}
 
-
 	@DisplayName("should receive two messages")
 	@Test
 	@SneakyThrows
@@ -162,24 +111,57 @@ public class OsiPostfachRemoteServiceITCase {
 		assertThat(messageList).hasSize(2);
 	}
 
+	private void mockPostfachMessageAndResponse(final String... uuids) {
+		// Stub message listing response (MessageExchangeApi::receiveMessages)
+		postfachFacadeMockServer.stubFor(get(urlPathEqualTo("/MessageExchange/v1/Receive"))
+				.withQueryParam("take", equalTo("100"))
+				.withQueryParam("skip", equalTo("0"))
+				.willReturn(
+						okJsonObj(
+								MessageExchangeReceiveMessagesResponseTestFactory.create()
+										.messages(Arrays.stream(uuids)
+												.map(uuid -> MessageExchangeReceiveMessageTestFactory.create()
+														.guid(UUID.fromString(uuid)))
+												.toList())
+						)
+				)
+		);
+		for (String uuid : uuids) {
+			// Stub individual response for message (MessageExchangeApi::getMessage)
+			postfachFacadeMockServer.stubFor(get(urlPathTemplate("/MessageExchange/v1/Receive/{messageId}"))
+					.withPathParam("messageId", equalTo(uuid))
+					.willReturn(
+							okJsonObj(
+									V1ReplyMessageTestFactory.create()
+											.messageBox(UUID.fromString(uuid))
+											.responseTime(OffsetDateTime.now())
+							)
+					)
+			);
+		}
+	}
+
+	private ResponseDefinitionBuilder okJsonObj(final Object body) {
+		return okJson(JsonUtil.toJson(body));
+	}
 
 	@DisplayName("should delete message")
 	@Test
 	@SneakyThrows
 	void shouldDeleteMessage() {
-		mockOperationsAndResponses(Map.of(
-				"deleteMessage", "200"
-		));
-
-		assertDoesNotThrow(() -> osiPostfachRemoteService.deleteMessage("00000000-0000-0000-0000-000000000000"));
-
-		var requests = postfachFacadeMockClient.retrieveRecordedRequests(request());
+		var messageId = "00000000-0000-0000-0000-000000000000";
+		// Stub delete message response (MessageExchangeApi::deleteMessage)
+		postfachFacadeMockServer.stubFor(delete(urlPathTemplate("/MessageExchange/v1/Delete/{messageId}"))
+				.willReturn(ok())
+		);
 
-		assertThat(requests[0].getMethod()).isEqualTo("DELETE");
-		assertThat(requests[0].getPath()).isEqualTo("/MessageExchange/v1/Delete/00000000-0000-0000-0000-000000000000");
+		osiPostfachRemoteService.deleteMessage(messageId);
 
+		postfachFacadeMockServer.verify(
+				exactly(1),
+				deleteRequestedFor(urlPathTemplate("/MessageExchange/v1/Delete/{messageId}"))
+						.withPathParam("messageId", equalTo(messageId))
+		);
 	}
 
-
-
 }
diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteServiceRemoteITCase.java b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteServiceRemoteITCase.java
index 778e843e5754290f41e1c8f66e299440a99b44a0..be0f329f70b0c21b27b6fadf053334f948b37c15 100644
--- a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteServiceRemoteITCase.java
+++ b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteServiceRemoteITCase.java
@@ -6,7 +6,6 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.stream.Stream;
 
-import org.junit.jupiter.api.Disabled;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
@@ -23,7 +22,7 @@ import de.ozgcloud.nachrichten.postfach.osiv2.factory.PostfachAddressTestFactory
 import de.ozgcloud.nachrichten.postfach.osiv2.factory.PostfachNachrichtTestFactory;
 
 @SpringBootTest(classes = TestApplication.class)
-@ActiveProfiles("local")
+@ActiveProfiles({ "stage", "itcase" })
 @EnabledIfEnvironmentVariable(named = "SH_STAGE_CLIENT_SECRET", matches = ".+")
 public class OsiPostfachRemoteServiceRemoteITCase {
 
@@ -77,22 +76,24 @@ public class OsiPostfachRemoteServiceRemoteITCase {
 
 	@DisplayName("receive all messages")
 	@Nested
-	class TestReceiveAllMessages{
+	class TestReceiveAllMessages {
 
 		@Test
-		void shouldReceiveAllMessage(){
+		void shouldReceiveAllMessage() {
 			Stream<PostfachNachricht> allMessages = osiPostfachRemoteService.getAllMessages();
+
 			var messages = allMessages.toList();
-			assertThat(messages.size() > 0);
+
+			assertThat(messages).isNotEmpty();
 		}
 	}
 
 	@DisplayName("delete message")
 	@Nested
-	class TestDeleteMessageById{
+	class TestDeleteMessageById {
 
 		@Test
-		void shouldDeleteMessage(){
+		void shouldDeleteMessage() {
 			assertThatCode(() -> osiPostfachRemoteService.deleteMessage("5dd65c1e-bd41-4c3d-bf98-be769ca341dc"))
 					.doesNotThrowAnyException();
 		}
diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteServiceTest.java b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteServiceTest.java
index a00ab88ae8b7d18aa79a228c651d55ff472a8289..685c36f61dd8d1d44afc185da5bf94bf3eb4ee67 100644
--- a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteServiceTest.java
+++ b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/OsiPostfachRemoteServiceTest.java
@@ -81,6 +81,7 @@ class OsiPostfachRemoteServiceTest {
 
 			verify(postfachApiFacadeService).deleteMessage(any());
 		}
+
 		@DisplayName("should throw osi postfach exception on runtime exception")
 		@Test
 		void shouldThrowOsiPostfachExceptionOnRuntimeException() {
diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/extension/Jwt.java b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/extension/Jwt.java
index 327c91effe0823e3d7fb7c41e3a7a2c706a11eac..b8e053c748b1c731eadbfd0e63780775ba136c8f 100644
--- a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/extension/Jwt.java
+++ b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/extension/Jwt.java
@@ -5,7 +5,7 @@ import static de.ozgcloud.nachrichten.postfach.osiv2.factory.JsonUtil.*;
 import java.io.Serializable;
 import java.util.Map;
 
-import org.bouncycastle.util.encoders.Base64;
+import org.testcontainers.shaded.org.bouncycastle.util.encoders.Base64;
 
 import com.jayway.jsonpath.JsonPath;
 import com.jayway.jsonpath.ReadContext;
diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/extension/OsiMockServerExtension.java b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/extension/OsiMockServerExtension.java
index 9d59d950c805922702d0a18bf38cbdb30e6c3a5c..71cd29cbd57f980c253f593a8c1a30f8286e38a4 100644
--- a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/extension/OsiMockServerExtension.java
+++ b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/extension/OsiMockServerExtension.java
@@ -1,22 +1,15 @@
 package de.ozgcloud.nachrichten.postfach.osiv2.extension;
 
+import static com.github.tomakehurst.wiremock.client.WireMock.*;
 import static de.ozgcloud.nachrichten.postfach.osiv2.factory.JwtFactory.*;
-import static org.mockserver.matchers.Times.*;
-import static org.mockserver.model.Header.*;
-import static org.mockserver.model.HttpRequest.*;
-import static org.mockserver.model.HttpResponse.*;
-import static org.mockserver.model.Parameter.*;
-import static org.mockserver.model.ParameterBody.*;
 
 import org.junit.jupiter.api.extension.AfterAllCallback;
 import org.junit.jupiter.api.extension.AfterEachCallback;
 import org.junit.jupiter.api.extension.BeforeAllCallback;
 import org.junit.jupiter.api.extension.BeforeEachCallback;
 import org.junit.jupiter.api.extension.ExtensionContext;
-import org.mockserver.client.MockServerClient;
-import org.testcontainers.containers.MockServerContainer;
-import org.testcontainers.containers.output.OutputFrame;
-import org.testcontainers.utility.DockerImageName;
+
+import com.github.tomakehurst.wiremock.WireMockServer;
 
 import de.ozgcloud.nachrichten.postfach.osiv2.factory.JwtFactory;
 import lombok.Getter;
@@ -28,25 +21,8 @@ import lombok.extern.log4j.Log4j2;
 @RequiredArgsConstructor
 public class OsiMockServerExtension implements BeforeAllCallback, AfterAllCallback, BeforeEachCallback, AfterEachCallback {
 
-	private MockServerClient serviceKontoMockClient;
-	private MockServerClient postfachFacadeMockClient;
-
-	private static final DockerImageName MOCK_SERVER_IMAGE = DockerImageName.parse("mockserver/mockserver")
-			.withTag("mockserver-5.15.0");
-
-	private final MockServerContainer serviceKontoMockContainer = new MockServerContainer(MOCK_SERVER_IMAGE)
-			.withLogConsumer(this::logContainerOutput);
-	private final MockServerContainer postfachFacadeMockContainer = new MockServerContainer(MOCK_SERVER_IMAGE)
-			.withLogConsumer(this::logContainerOutput);
-
-	private void logContainerOutput(OutputFrame outputFrame) {
-		var line = outputFrame.getUtf8String().stripTrailing();
-		if (outputFrame.getType() == OutputFrame.OutputType.STDERR) {
-			System.err.println(line);
-		} else {
-			System.out.println(line);
-		}
-	}
+	private WireMockServer serviceKontoMockServer;
+	private WireMockServer postfachFacadeMockServer;
 
 	@Override
 	public void beforeAll(ExtensionContext context) {
@@ -56,77 +32,44 @@ public class OsiMockServerExtension implements BeforeAllCallback, AfterAllCallba
 
 	@Override
 	public void afterEach(ExtensionContext context) {
-		postfachFacadeMockClient.reset();
-		serviceKontoMockClient.reset();
+		postfachFacadeMockServer.resetAll();
+		serviceKontoMockServer.resetAll();
 	}
 
 	@Override
 	public void afterAll(ExtensionContext context) {
-		serviceKontoMockClient.stop();
-		serviceKontoMockContainer.stop();
-
-		postfachFacadeMockClient.stop();
-		postfachFacadeMockContainer.stop();
+		serviceKontoMockServer.shutdown();
+		postfachFacadeMockServer.shutdown();
 	}
 
 	private void setupPostfachFacadeMock() {
-		postfachFacadeMockContainer.start();
-		postfachFacadeMockClient = new MockServerClient(
-				postfachFacadeMockContainer.getHost(),
-				postfachFacadeMockContainer.getServerPort()
-		);
+		postfachFacadeMockServer = new WireMockServer(0);
+		postfachFacadeMockServer.start();
 	}
 
 	private void setupServiceKontoMock() {
-		serviceKontoMockContainer.start();
-		serviceKontoMockClient = new MockServerClient(
-				serviceKontoMockContainer.getHost(),
-				serviceKontoMockContainer.getServerPort()
-		);
+		serviceKontoMockServer = new WireMockServer(0);
+		serviceKontoMockServer.start();
 	}
 
 	public String getAccessTokenUrl() {
-		return getMockServerUrl(serviceKontoMockClient) + "/access-token";
+		return serviceKontoMockServer.baseUrl() + "/access-token";
 	}
 
 	public String getPostfachFacadeUrl() {
-		return getMockServerUrl(postfachFacadeMockClient);
-	}
-
-	private String getMockServerUrl(MockServerClient mockClient) {
-		return "http://" + mockClient.remoteAddress().getHostName() + ":" + mockClient.remoteAddress().getPort();
+		return postfachFacadeMockServer.baseUrl();
 	}
 
 	@Override
 	public void beforeEach(ExtensionContext context) {
-		serviceKontoMockClient
-				.when(
-						request()
-								.withMethod("POST")
-								.withPath("/access-token")
-								.withHeaders(
-										header("Content-Type", "application/x-www-form-urlencoded")
-								)
-								.withBody(
-										params(
-												param("grant_type", "client_credentials"),
-												param("client_id", CLIENT_ID),
-												param("client_secret", "changeme"),
-												param("scope", String.join(" ", CLIENT_SCOPES)),
-												param("resource", RESOURCE_URN)
-										)
-								),
-						exactly(1)
-				)
-				.respond(
-						response()
-								.withStatusCode(200)
-								.withHeader("Content-Type", "application/json")
-								.withBody(
-										JwtFactory.createTokenResponse(
-												JwtFactory.createAccessTokenExampleWithExpireIn(900)
-										)
-								)
-				);
+		serviceKontoMockServer.stubFor(post("/access-token")
+				.withHeader("Content-Type", equalTo("application/x-www-form-urlencoded"))
+				.withFormParam("grant_type", equalTo("client_credentials"))
+				.withFormParam("client_id", equalTo(CLIENT_ID))
+				.withFormParam("scope", equalTo(String.join(" ", CLIENT_SCOPES)))
+				.withFormParam("resource", equalTo(RESOURCE_URN))
+				.willReturn(okJson(JwtFactory.createTokenResponse(
+						JwtFactory.createAccessTokenExampleWithExpireIn(900)
+				))));
 	}
 }
diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/factory/JsonUtil.java b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/factory/JsonUtil.java
index fb9565d6714674ce91bdd0d275c67e46b91a0c76..ac01337f93e1fb6223b049dd616f1a94dd1ab9c9 100644
--- a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/factory/JsonUtil.java
+++ b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/factory/JsonUtil.java
@@ -1,12 +1,13 @@
 package de.ozgcloud.nachrichten.postfach.osiv2.factory;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
-
 import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+
 import lombok.SneakyThrows;
 
 public class JsonUtil {
-	private static final ObjectMapper jsonMapper = new ObjectMapper().registerModule(new JavaTimeModule());
+	private static final ObjectMapper jsonMapper = new ObjectMapper()
+			.registerModule(new JavaTimeModule());
 
 	@SneakyThrows
 	public static String toJson(Object object) {
diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/factory/MessageExchangeReceiveMessageTestFactory.java b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/factory/MessageExchangeReceiveMessageTestFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..75a60a29f366e9ea29f68686f234a02c0d8fd987
--- /dev/null
+++ b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/factory/MessageExchangeReceiveMessageTestFactory.java
@@ -0,0 +1,15 @@
+package de.ozgcloud.nachrichten.postfach.osiv2.factory;
+
+import java.util.UUID;
+
+import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.MessageExchangeReceiveMessage;
+
+public class MessageExchangeReceiveMessageTestFactory {
+
+	public static final UUID MESSAGE_ID = UUID.randomUUID();
+
+	public static MessageExchangeReceiveMessage create() {
+		return new MessageExchangeReceiveMessage()
+				.guid(MESSAGE_ID);
+	}
+}
diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/factory/MessageExchangeReceiveMessagesResponseTestFactory.java b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/factory/MessageExchangeReceiveMessagesResponseTestFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..8721bbb3508709753faf323df9a8cf37edb5974a
--- /dev/null
+++ b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/factory/MessageExchangeReceiveMessagesResponseTestFactory.java
@@ -0,0 +1,13 @@
+package de.ozgcloud.nachrichten.postfach.osiv2.factory;
+
+import java.util.List;
+
+import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.MessageExchangeReceiveMessagesResponse;
+
+public class MessageExchangeReceiveMessagesResponseTestFactory {
+
+	public static MessageExchangeReceiveMessagesResponse create() {
+		return new MessageExchangeReceiveMessagesResponse()
+				.messages(List.of());
+	}
+}
diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/factory/MessageExchangeSendMessageResponseTestFactory.java b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/factory/MessageExchangeSendMessageResponseTestFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..0c296a6f816a801dcf5a7f2b4ba6e6e3b8e1d653
--- /dev/null
+++ b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/factory/MessageExchangeSendMessageResponseTestFactory.java
@@ -0,0 +1,13 @@
+package de.ozgcloud.nachrichten.postfach.osiv2.factory;
+
+import static de.ozgcloud.nachrichten.postfach.osiv2.factory.MessageExchangeReceiveMessageTestFactory.*;
+
+import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.MessageExchangeSendMessageResponse;
+
+public class MessageExchangeSendMessageResponseTestFactory {
+
+	public static MessageExchangeSendMessageResponse create() {
+		return new MessageExchangeSendMessageResponse()
+				.messageId(MESSAGE_ID);
+	}
+}
diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/factory/PostfachAddressTestFactory.java b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/factory/PostfachAddressTestFactory.java
index a871295c212323e8f9f1bdab218fd1f28d1a3817..046f298c7060ef696550ed252f7b51c097e297fe 100644
--- a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/factory/PostfachAddressTestFactory.java
+++ b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/factory/PostfachAddressTestFactory.java
@@ -5,6 +5,7 @@ import de.ozgcloud.nachrichten.postfach.PostfachAddress;
 public class PostfachAddressTestFactory {
 
 	public static final String MAILBOX_ID = "testMailboxId";
+	public static final String SERVICE_KONTO_TYPE = "TYPE1";
 
 	public static PostfachAddress create() {
 		return createBuilder().build();
@@ -13,6 +14,7 @@ public class PostfachAddressTestFactory {
 	public static PostfachAddress.PostfachAddressBuilder createBuilder() {
 		return PostfachAddress.builder()
 				.type(1)
+				.serviceKontoType("TYPE1")
 				.identifier(DummyStringBasedIdentifier.builder()
 						.mailboxId(MAILBOX_ID)
 						.build());
diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/factory/V1ReplyMessageFactory.java b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/factory/V1ReplyMessageTestFactory.java
similarity index 51%
rename from src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/factory/V1ReplyMessageFactory.java
rename to src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/factory/V1ReplyMessageTestFactory.java
index 61a52ac52df930ef3568e5c60d8e1b5a2f0f81d2..244a643d6f68160ea2243e9e868bf589f20291f3 100644
--- a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/factory/V1ReplyMessageFactory.java
+++ b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/factory/V1ReplyMessageTestFactory.java
@@ -7,22 +7,22 @@ import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.V1EidasLevel;
 import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.V1ReplyBehavior;
 import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.V1ReplyMessage;
 
-public class V1ReplyMessageFactory {
+public class V1ReplyMessageTestFactory {
 
-	private static String SEQUENCE_NUMMER = "OZG-Cloud-VorgangId";
-	private static String SUBJECT = "Das ist das Subject";
-	private static String BODY = """
+	private static final String SEQUENCE_NUMMER = "OZG-Cloud-VorgangId";
+	private static final String SUBJECT = "Das ist das Subject";
+	private static final String BODY = """
 			Das ist das Multiline
 			Body""";
-	private static String DISPLAY_NAME = "Das ist der Absender";
-	private static String ORIGIN_SENDER = "das ist der original Sender";
-	private static String REPLAY_ACTION = "Replypossible";
-	private static String EIDAS_LEVEL = "Low";
-	private static Boolean IS_OLIGATORY = Boolean.FALSE;
-	private static Boolean IS_HTML = Boolean.FALSE;
-	private static String GUID = "123-guid-456";
-	private static String MESSAGE_BOX = "Mailbox-Id-Antwortender";
-	private static OffsetDateTime RESPONSE_TIME = OffsetDateTime.now();
+	private static final String DISPLAY_NAME = "Das ist der Absender";
+	private static final String ORIGIN_SENDER = "das ist der original Sender";
+	private static final String REPLAY_ACTION = "Replypossible";
+	private static final String EIDAS_LEVEL = "Low";
+	private static final Boolean IS_OBLIGATORY = Boolean.FALSE;
+	private static final Boolean IS_HTML = Boolean.FALSE;
+	private static final String GUID = "123-guid-456";
+	private static final String MESSAGE_BOX = "Mailbox-Id-Antwortender";
+	private static final OffsetDateTime RESPONSE_TIME = OffsetDateTime.now();
 
 	public static V1ReplyMessage create() {
 		return new V1ReplyMessage()
@@ -33,7 +33,7 @@ public class V1ReplyMessageFactory {
 				.originSender(ORIGIN_SENDER)
 				.replyAction(V1ReplyBehavior.fromValue(REPLAY_ACTION))
 				.eidasLevel(V1EidasLevel.fromValue(EIDAS_LEVEL))
-				.isObligatory(IS_OLIGATORY)
+				.isObligatory(IS_OBLIGATORY)
 				.isHtml(IS_HTML)
 				.guid(UUID.nameUUIDFromBytes(GUID.getBytes()))
 				.messageBox(UUID.nameUUIDFromBytes(MESSAGE_BOX.getBytes()))
diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/RequestMapperTest.java b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/Osi2RequestMapperTest.java
similarity index 97%
rename from src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/RequestMapperTest.java
rename to src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/Osi2RequestMapperTest.java
index 0e67c3c307449847d9e9e89e936f6812938ae98a..3abec1a5f53dd2c897230896e38a443eebd4ce4d 100644
--- a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/RequestMapperTest.java
+++ b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/Osi2RequestMapperTest.java
@@ -23,9 +23,9 @@ import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.OutSendMessageRequestV2;
 import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.V1EidasLevel;
 import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.V1ReplyBehavior;
 
-class RequestMapperTest {
+class Osi2RequestMapperTest {
 
-	private final RequestMapper mapper = Mappers.getMapper(RequestMapper.class);
+	private final Osi2RequestMapper mapper = Mappers.getMapper(Osi2RequestMapper.class);
 
 	@DisplayName("map mailbox id")
 	@Nested
diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/ResponseMapperTest.java b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/Osi2ResponseMapperTest.java
similarity index 93%
rename from src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/ResponseMapperTest.java
rename to src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/Osi2ResponseMapperTest.java
index d4c8706356d03230611e185f639484e124b2601d..54586de660f6dacc6967dff94bdf70e6f3871d79 100644
--- a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/ResponseMapperTest.java
+++ b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/Osi2ResponseMapperTest.java
@@ -13,14 +13,14 @@ import org.mapstruct.factory.Mappers;
 import org.mockito.InjectMocks;
 
 import de.ozgcloud.nachrichten.postfach.PostfachNachricht;
-import de.ozgcloud.nachrichten.postfach.osiv2.factory.V1ReplyMessageFactory;
+import de.ozgcloud.nachrichten.postfach.osiv2.factory.V1ReplyMessageTestFactory;
 import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.V1ReplyMessage;
 
-class ResponseMapperTest {
+class Osi2ResponseMapperTest {
 
 	@InjectMocks
-	private ResponseMapper mapper = Mappers.getMapper(ResponseMapper.class);
-	private V1ReplyMessage message = V1ReplyMessageFactory.create();
+	private Osi2ResponseMapper mapper = Mappers.getMapper(Osi2ResponseMapper.class);
+	private V1ReplyMessage message = V1ReplyMessageTestFactory.create();
 
 	@DisplayName("map V1ReplyMessage to PostfachNachricht")
 	@Nested
diff --git a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeServiceTest.java b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeServiceTest.java
index 139ba192c9394ddb55d2657e094a2d9d15765866..c1abebba22f3e88935c0465e0bba99d6840a07e5 100644
--- a/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeServiceTest.java
+++ b/src/test/java/de/ozgcloud/nachrichten/postfach/osiv2/transfer/PostfachApiFacadeServiceTest.java
@@ -32,10 +32,10 @@ class PostfachApiFacadeServiceTest {
 	MessageExchangeApi messageExchangeApi;
 
 	@Mock
-	RequestMapper requestMapper;
+	Osi2RequestMapper osi2RequestMapper;
 
 	@Mock
-	ResponseMapper responseMapper;
+	Osi2ResponseMapper osi2ResponseMapper;
 
 	@DisplayName("send message")
 	@Nested
@@ -51,8 +51,8 @@ class PostfachApiFacadeServiceTest {
 
 		@BeforeEach
 		void mock() {
-			when(requestMapper.mapMailboxId(nachricht)).thenReturn(MAILBOX_ID);
-			when(requestMapper.mapOutSendMessageRequestV2(nachricht)).thenReturn(outSendMessageRequestV2);
+			when(osi2RequestMapper.mapMailboxId(nachricht)).thenReturn(MAILBOX_ID);
+			when(osi2RequestMapper.mapOutSendMessageRequestV2(nachricht)).thenReturn(outSendMessageRequestV2);
 			when(messageExchangeApi.sendMessage(any(), any())).thenReturn(messageExchangeSendMessageResponse);
 		}
 
@@ -107,17 +107,17 @@ class PostfachApiFacadeServiceTest {
 		@Test
 		void shouldCallResponseMapper(){
 			when(messageExchangeApi.getMessage(any())).thenReturn(replyMessage);
-			when(responseMapper.toPostfachNachricht(any())).thenReturn(PostfachNachrichtTestFactory.create());
+			when(osi2ResponseMapper.toPostfachNachricht(any())).thenReturn(PostfachNachrichtTestFactory.create());
 
 			postfachApiFacadeService.fetchMessageByGuid(receiveMessage);
 
-			verify(responseMapper).toPostfachNachricht(any());
+			verify(osi2ResponseMapper).toPostfachNachricht(any());
 		}
 
 		@Test
 		void shouldReturnPostfachNachricht(){
 			when(messageExchangeApi.getMessage(any())).thenReturn(replyMessage);
-			when(responseMapper.toPostfachNachricht(any())).thenReturn(PostfachNachrichtTestFactory.create());
+			when(osi2ResponseMapper.toPostfachNachricht(any())).thenReturn(PostfachNachrichtTestFactory.create());
 
 			var postfachNachricht = postfachApiFacadeService.fetchMessageByGuid(receiveMessage);
 
diff --git a/src/test/resources/application-itcase.yml b/src/test/resources/application-itcase.yml
index dcbea65d1bba45b8c4882d109a07064f09581a61..41e84786e9e76db63c2d6671a55ae56dddae6ea7 100644
--- a/src/test/resources/application-itcase.yml
+++ b/src/test/resources/application-itcase.yml
@@ -1,3 +1,6 @@
+ozgcloud:
+  osiv2:
+    enabled: true
 logging:
   level:
     de.ozgcloud.nachrichten.postfach.osiv2: DEBUG