diff --git a/pom.xml b/pom.xml
index 936b09e1df9175f5393b78446501b528c4fb395b..495c3be485b9b30d8823593c76ef1f9203c30c79 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
 	<parent>
 		<groupId>de.ozgcloud.common</groupId>
 		<artifactId>ozgcloud-common-parent</artifactId>
-		<version>4.6.0</version>
+		<version>4.9.0-SNAPSHOT</version>
 	</parent>
 
 	<groupId>de.ozgcloud.osiv2</groupId>
@@ -42,13 +42,23 @@
 		</dependency>
 		<dependency>
 			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-starter-oauth2-client</artifactId>
+			<artifactId>spring-boot-starter-security</artifactId>
 		</dependency>
 		<dependency>
 			<groupId>org.springframework.boot</groupId>
-			<artifactId>spring-boot-starter-webflux</artifactId>
+			<artifactId>spring-boot-starter-oauth2-client</artifactId>
 		</dependency>
 
+
+<!--		<dependency>-->
+<!--			<groupId>org.springframework.boot</groupId>-->
+<!--			<artifactId>spring-boot-starter-oauth2-client</artifactId>-->
+<!--		</dependency>-->
+<!--		<dependency>-->
+<!--			<groupId>org.springframework.boot</groupId>-->
+<!--			<artifactId>spring-boot-starter-security</artifactId>-->
+<!--		</dependency>-->
+
 		<dependency>
 			<groupId>org.mapstruct</groupId>
 			<artifactId>mapstruct</artifactId>
@@ -95,8 +105,6 @@
 			<groupId>org.apache.httpcomponents.client5</groupId>
 			<artifactId>httpclient5</artifactId>
 		</dependency>
-
-
 		<!-- used by generated code -->
 		<!-- @Nullable annotation -->
 		<dependency>
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 4fad50c977fdf20a3bddfe5f72fe7dfa5063ae25..df03b3f970eef27b799fc8a471a85ca531c83e10 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
@@ -2,7 +2,6 @@ package de.ozgcloud.nachrichten.postfach.osiv2.config;
 
 import org.apache.hc.client5.http.auth.AuthScope;
 import org.apache.hc.client5.http.auth.UsernamePasswordCredentials;
-import org.apache.hc.client5.http.classic.HttpClient;
 import org.apache.hc.client5.http.impl.auth.BasicCredentialsProvider;
 import org.apache.hc.client5.http.impl.classic.HttpClientBuilder;
 import org.apache.hc.core5.http.HttpHost;
@@ -12,19 +11,9 @@ import org.springframework.context.annotation.Configuration;
 import org.springframework.http.client.ClientHttpRequestFactory;
 import org.springframework.http.client.ClientHttpRequestInterceptor;
 import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
-import org.springframework.http.client.reactive.ReactorClientHttpConnector;
-import org.springframework.security.oauth2.client.AuthorizedClientServiceReactiveOAuth2AuthorizedClientManager;
-import org.springframework.security.oauth2.client.InMemoryReactiveOAuth2AuthorizedClientService;
 import org.springframework.security.oauth2.client.OAuth2AuthorizedClientManager;
-import org.springframework.security.oauth2.client.ReactiveOAuth2AuthorizedClientProvider;
-import org.springframework.security.oauth2.client.ReactiveOAuth2AuthorizedClientProviderBuilder;
-import org.springframework.security.oauth2.client.endpoint.WebClientReactiveClientCredentialsTokenResponseClient;
-import org.springframework.security.oauth2.client.registration.ReactiveClientRegistrationRepository;
-import org.springframework.security.oauth2.client.web.reactive.function.client.ServerOAuth2AuthorizedClientExchangeFilterFunction;
-import org.springframework.util.LinkedMultiValueMap;
-import org.springframework.util.MultiValueMap;
+import org.springframework.security.oauth2.client.web.client.OAuth2ClientHttpRequestInterceptor;
 import org.springframework.web.client.RestClient;
-import org.springframework.web.reactive.function.client.WebClient;
 
 import de.ozgcloud.nachrichten.postfach.osiv2.gen.ApiClient;
 import de.ozgcloud.nachrichten.postfach.osiv2.gen.api.MessageExchangeApi;
@@ -73,86 +62,86 @@ public class ApiClientConfiguration {
 	}
 
 	private ClientHttpRequestInterceptor createOAuth2Interceptor(OAuth2AuthorizedClientManager authorizedClientManager) {
-		OAuth2ClientHttpRequestInterceptor interceptor = new OAuth2ClientHttpRequestInterceptor(authorizedClientManager);
-
-	}
-
-
-	@Bean
-	ApiClient apiClient(ReactiveClientRegistrationRepository clientRegistrations) {
-		return new ApiClient(osi2PostfachWebClient(clientRegistrations))
-				.setBasePath(apiConfiguration.getUrl());
-	}
-
-	private WebClient osi2PostfachWebClient(
-			ReactiveClientRegistrationRepository clientRegistrations) {
-		return WebClient.builder()
-				.clientConnector(new ReactorClientHttpConnector(httpClient()))
-				.filter(serverOAuth2AuthorizedClientExchangeFilterFunction(clientRegistrations))
-				.build();
-	}
-
-	@SuppressWarnings("ConstantConditions")
-	private HttpClient httpClient() {
-		var webClient = HttpClient.create();
-		return proxyConfiguration.isEnabled() ? webClient
-				.proxy(proxy -> proxy
-						.type(ProxyProvider.Proxy.HTTP)
-						.host(proxyConfiguration.getHost())
-						.port(proxyConfiguration.getPort())
-						.username(proxyConfiguration.getUsername())
-						.password(username -> proxyConfiguration.getPassword())
-				) : webClient;
-	}
-
-	private ServerOAuth2AuthorizedClientExchangeFilterFunction serverOAuth2AuthorizedClientExchangeFilterFunction(
-			ReactiveClientRegistrationRepository clientRegistrations) {
-
-		var oauth = new ServerOAuth2AuthorizedClientExchangeFilterFunction(authorizedClientManager(clientRegistrations));
-		oauth.setDefaultClientRegistrationId("osi2");
-		return oauth;
-	}
-
-	private AuthorizedClientServiceReactiveOAuth2AuthorizedClientManager authorizedClientManager(
-			ReactiveClientRegistrationRepository clientRegistrations) {
-		var clientService = new InMemoryReactiveOAuth2AuthorizedClientService(
-				clientRegistrations);
-		var authorizedClientManager = new AuthorizedClientServiceReactiveOAuth2AuthorizedClientManager(
-				clientRegistrations, clientService);
-
-		authorizedClientManager.setAuthorizedClientProvider(authorizedClientProvider());
-
-		return authorizedClientManager;
+		var interceptor = new OAuth2ClientHttpRequestInterceptor(authorizedClientManager);
+		return interceptor;
 	}
 
-	private ReactiveOAuth2AuthorizedClientProvider authorizedClientProvider() {
-		return ReactiveOAuth2AuthorizedClientProviderBuilder.builder()
-				.clientCredentials(builder ->
-						builder.accessTokenResponseClient(clientCredentialsTokenResponseClient())
-				)
-				.build();
-	}
 
-	private WebClientReactiveClientCredentialsTokenResponseClient clientCredentialsTokenResponseClient() {
-		var client = new WebClientReactiveClientCredentialsTokenResponseClient();
-		configureHttpClientForTokenRequests(client);
-		configureParametersForTokenRequests(client);
-		return client;
-	}
-
-	private void configureHttpClientForTokenRequests(WebClientReactiveClientCredentialsTokenResponseClient client) {
-		client.setWebClient(WebClient.builder()
-				.clientConnector(new ReactorClientHttpConnector(httpClient()))
-				.build());
-	}
-
-	private void configureParametersForTokenRequests(WebClientReactiveClientCredentialsTokenResponseClient client) {
-		client.addParametersConverter(source -> {
-			MultiValueMap<String, String> parameters = new LinkedMultiValueMap<>();
-			// Pass a resource indicator parameter https://datatracker.ietf.org/doc/html/rfc8707
-			parameters.add("resource", apiConfiguration.getResource());
-			return parameters;
-		});
-	}
+//	@Bean
+//	ApiClient apiClient(ReactiveClientRegistrationRepository clientRegistrations) {
+//		return new ApiClient(osi2PostfachWebClient(clientRegistrations))
+//				.setBasePath(apiConfiguration.getUrl());
+//	}
+
+//	private WebClient osi2PostfachWebClient(
+//			ReactiveClientRegistrationRepository clientRegistrations) {
+//		return WebClient.builder()
+//				.clientConnector(new ReactorClientHttpConnector(httpClient()))
+//				.filter(serverOAuth2AuthorizedClientExchangeFilterFunction(clientRegistrations))
+//				.build();
+//	}
+//
+//	@SuppressWarnings("ConstantConditions")
+//	private HttpClient httpClient() {
+//		var webClient = HttpClient.create();
+//		return proxyConfiguration.isEnabled() ? webClient
+//				.proxy(proxy -> proxy
+//						.type(ProxyProvider.Proxy.HTTP)
+//						.host(proxyConfiguration.getHost())
+//						.port(proxyConfiguration.getPort())
+//						.username(proxyConfiguration.getUsername())
+//						.password(username -> proxyConfiguration.getPassword())
+//				) : webClient;
+//	}
+//
+//	private ServerOAuth2AuthorizedClientExchangeFilterFunction serverOAuth2AuthorizedClientExchangeFilterFunction(
+//			ReactiveClientRegistrationRepository clientRegistrations) {
+//
+//		var oauth = new ServerOAuth2AuthorizedClientExchangeFilterFunction(authorizedClientManager(clientRegistrations));
+//		oauth.setDefaultClientRegistrationId("osi2");
+//		return oauth;
+//	}
+//
+//	private AuthorizedClientServiceReactiveOAuth2AuthorizedClientManager authorizedClientManager(
+//			ReactiveClientRegistrationRepository clientRegistrations) {
+//		var clientService = new InMemoryReactiveOAuth2AuthorizedClientService(
+//				clientRegistrations);
+//		var authorizedClientManager = new AuthorizedClientServiceReactiveOAuth2AuthorizedClientManager(
+//				clientRegistrations, clientService);
+//
+//		authorizedClientManager.setAuthorizedClientProvider(authorizedClientProvider());
+//
+//		return authorizedClientManager;
+//	}
+//
+//	private ReactiveOAuth2AuthorizedClientProvider authorizedClientProvider() {
+//		return ReactiveOAuth2AuthorizedClientProviderBuilder.builder()
+//				.clientCredentials(builder ->
+//						builder.accessTokenResponseClient(clientCredentialsTokenResponseClient())
+//				)
+//				.build();
+//	}
+//
+//	private WebClientReactiveClientCredentialsTokenResponseClient clientCredentialsTokenResponseClient() {
+//		var client = new WebClientReactiveClientCredentialsTokenResponseClient();
+//		configureHttpClientForTokenRequests(client);
+//		configureParametersForTokenRequests(client);
+//		return client;
+//	}
+//
+//	private void configureHttpClientForTokenRequests(WebClientReactiveClientCredentialsTokenResponseClient client) {
+//		client.setWebClient(WebClient.builder()
+//				.clientConnector(new ReactorClientHttpConnector(httpClient()))
+//				.build());
+//	}
+//
+//	private void configureParametersForTokenRequests(WebClientReactiveClientCredentialsTokenResponseClient client) {
+//		client.addParametersConverter(source -> {
+//			MultiValueMap<String, String> parameters = new LinkedMultiValueMap<>();
+//			// Pass a resource indicator parameter https://datatracker.ietf.org/doc/html/rfc8707
+//			parameters.add("resource", apiConfiguration.getResource());
+//			return parameters;
+//		});
+//	}
 
 }
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 f8a3c19c34125ece0bf242dea493888a2fd2050c..139ba192c9394ddb55d2657e094a2d9d15765866 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
@@ -22,7 +22,6 @@ import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.MessageExchangeReceiveMe
 import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.MessageExchangeSendMessageResponse;
 import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.OutSendMessageRequestV2;
 import de.ozgcloud.nachrichten.postfach.osiv2.gen.model.V1ReplyMessage;
-import reactor.core.publisher.Mono;
 
 class PostfachApiFacadeServiceTest {
 
@@ -52,10 +51,9 @@ class PostfachApiFacadeServiceTest {
 
 		@BeforeEach
 		void mock() {
-			var responseMono = Mono.just(messageExchangeSendMessageResponse);
 			when(requestMapper.mapMailboxId(nachricht)).thenReturn(MAILBOX_ID);
 			when(requestMapper.mapOutSendMessageRequestV2(nachricht)).thenReturn(outSendMessageRequestV2);
-			when(messageExchangeApi.sendMessage(any(), any())).thenReturn(responseMono);
+			when(messageExchangeApi.sendMessage(any(), any())).thenReturn(messageExchangeSendMessageResponse);
 		}
 
 		@DisplayName("should call sendMessage")
@@ -77,8 +75,7 @@ class PostfachApiFacadeServiceTest {
 
 		@BeforeEach
 		void mock(){
-			var responseMono = Mono.just(messageExchangeReceiveMessagesResponse);
-			when(messageExchangeApi.receiveMessages(anyInt(),anyInt())).thenReturn(responseMono);
+			when(messageExchangeApi.receiveMessages(anyInt(),anyInt())).thenReturn(messageExchangeReceiveMessagesResponse);
 		}
 
 		@Test
@@ -100,8 +97,7 @@ class PostfachApiFacadeServiceTest {
 
 		@Test
 		void shouldCallGetMessage(){
-			var replyMono = Mono.just(replyMessage);
-			when(messageExchangeApi.getMessage(any())).thenReturn(replyMono);
+			when(messageExchangeApi.getMessage(any())).thenReturn(replyMessage);
 
 			postfachApiFacadeService.fetchMessageByGuid(receiveMessage);
 
@@ -110,8 +106,7 @@ class PostfachApiFacadeServiceTest {
 
 		@Test
 		void shouldCallResponseMapper(){
-			var replyMono = Mono.just(replyMessage);
-			when(messageExchangeApi.getMessage(any())).thenReturn(replyMono);
+			when(messageExchangeApi.getMessage(any())).thenReturn(replyMessage);
 			when(responseMapper.toPostfachNachricht(any())).thenReturn(PostfachNachrichtTestFactory.create());
 
 			postfachApiFacadeService.fetchMessageByGuid(receiveMessage);
@@ -121,8 +116,7 @@ class PostfachApiFacadeServiceTest {
 
 		@Test
 		void shouldReturnPostfachNachricht(){
-			var replyMono = Mono.just(replyMessage);
-			when(messageExchangeApi.getMessage(any())).thenReturn(replyMono);
+			when(messageExchangeApi.getMessage(any())).thenReturn(replyMessage);
 			when(responseMapper.toPostfachNachricht(any())).thenReturn(PostfachNachrichtTestFactory.create());
 
 			var postfachNachricht = postfachApiFacadeService.fetchMessageByGuid(receiveMessage);
@@ -139,8 +133,7 @@ class PostfachApiFacadeServiceTest {
 
 		@Test
 		void shouldCallDeleteMessage(){
-			var replyMono = Mono.just(replyMessage);
-			when(messageExchangeApi.deleteMessage(any())).thenReturn(replyMono);
+			when(messageExchangeApi.deleteMessage(any())).thenReturn(replyMessage);
 
 			postfachApiFacadeService.deleteMessage(UUID.randomUUID().toString());