diff --git a/pom.xml b/pom.xml
index 98b1ecff1c0d8418ad4c151bfe8f68edf624549c..4bc431cb6fd4f1a43dd75af5f15b3a03d75b628b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -63,7 +63,6 @@
 		<jaxb2-plugin.version>0.15.2</jaxb2-plugin.version>
 		<jaxb3-plugin.version>0.15.0</jaxb3-plugin.version>
 		<mojo-jaxb2-plugin.version>3.1.0</mojo-jaxb2-plugin.version>
-		<grpcmock.version>0.13.0</grpcmock.version>
 		<okio.version>3.9.0</okio.version>
 	</properties>
 
@@ -124,12 +123,6 @@
 				<type>test-jar</type>
 				<scope>test</scope>
 			</dependency>
-			<dependency>
-				<groupId>org.grpcmock</groupId>
-				<artifactId>grpcmock-spring-boot</artifactId>
-				<version>${grpcmock.version}</version>
-				<scope>test</scope>
-			</dependency>
 			<dependency>
 				<groupId>com.squareup.okio</groupId>
 				<artifactId>okio</artifactId>
diff --git a/xta-adapter/pom.xml b/xta-adapter/pom.xml
index 94e51b759534e9cb78c2ee0607c0a5f2c7da04c4..ffa56164004b164c8726efc70193d405de2af09b 100644
--- a/xta-adapter/pom.xml
+++ b/xta-adapter/pom.xml
@@ -87,11 +87,6 @@
 			<artifactId>mockwebserver</artifactId>
 			<scope>test</scope>
 		</dependency>
-		<dependency>
-			<groupId>org.grpcmock</groupId>
-			<artifactId>grpcmock-spring-boot</artifactId>
-			<scope>test</scope>
-		</dependency>
 		<dependency>
 			<groupId>de.ozgcloud.eingang</groupId>
 			<artifactId>common</artifactId>
diff --git a/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java b/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java
index 5782d7f62ea31d194c09e1b93095c05e3499d097..2b5ded74d92e6aad3dbd5d23e997808b0c8e1259 100644
--- a/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java
+++ b/xta-adapter/src/test/java/de/ozgcloud/eingang/xta/XtaITCase.java
@@ -1,43 +1,39 @@
 package de.ozgcloud.eingang.xta;
 
 import static org.assertj.core.api.Assertions.*;
-import static org.grpcmock.GrpcMock.*;
+import static org.mockito.Mockito.*;
 
 import java.lang.annotation.ElementType;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 import java.util.List;
-import java.util.function.Predicate;
+import java.util.Optional;
 
-import org.grpcmock.springboot.AutoConfigureGrpcMock;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
 import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.ValueSource;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Captor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.boot.test.mock.mockito.MockBean;
 import org.springframework.context.annotation.Bean;
 import org.springframework.test.context.ActiveProfiles;
 
 import de.ozgcloud.eingang.Application;
-import de.ozgcloud.vorgang.grpc.binaryFile.BinaryFileServiceGrpc;
-import de.ozgcloud.vorgang.grpc.binaryFile.GrpcUploadBinaryFileRequest;
-import de.ozgcloud.vorgang.grpc.binaryFile.GrpcUploadBinaryFileResponse;
-import de.ozgcloud.vorgang.vorgang.GrpcCreateVorgangRequest;
-import de.ozgcloud.vorgang.vorgang.GrpcCreateVorgangResponse;
+import de.ozgcloud.eingang.common.formdata.FormData;
+import de.ozgcloud.eingang.router.VorgangRemoteService;
 import de.ozgcloud.vorgang.vorgang.GrpcEingang;
-import de.ozgcloud.vorgang.vorgang.GrpcFinishCreationResponse;
-import de.ozgcloud.vorgang.vorgang.VorgangServiceGrpc;
 
 @SpringBootTest(classes = {
 		Application.class,
 		XtaITCase.ActivateXTARunnerConfig.class
 })
 @ActiveProfiles({ "itcase" })
-@AutoConfigureGrpcMock(name = "vorgang-manager-itcase", useInProcessServer = true)
 class XtaITCase {
 
 	@Autowired
@@ -46,64 +42,29 @@ class XtaITCase {
 	@Autowired
 	private XtaRunner runner;
 
+	@MockBean
+	private VorgangRemoteService vorgangRemoteService;
+
+	@Captor
+	private ArgumentCaptor<FormData> formDataArgumentCaptor;
+
+	@Captor
+	private ArgumentCaptor<GrpcEingang> eingangArgumentCaptor;
+
+	@Captor
+	private ArgumentCaptor<Optional<String>> organisationseinheitenIdArgumentCaptor;
+
 	@DisplayName("run get xta messages")
 	@Nested
 	class TestRunGetXtaMessages {
 		@BeforeEach
 		void setup() {
-			mockStartVorgangCreation();
-			mockUploadBinaryFiles();
-			mockFinishVorgangCreation();
-		}
-
-		private void mockStartVorgangCreation() {
-			stubFor(
-					unaryMethod(VorgangServiceGrpc.getStartCreationMethod())
-							.willReturn(GrpcCreateVorgangResponse.getDefaultInstance()));
-		}
-
-		private void mockUploadBinaryFiles() {
-			stubFor(
-					clientStreamingMethod(BinaryFileServiceGrpc.getUploadBinaryFileAsStreamMethod())
-							.willReturn(GrpcUploadBinaryFileResponse.getDefaultInstance()));
-		}
-
-		private void mockFinishVorgangCreation() {
-			stubFor(
-					unaryMethod(VorgangServiceGrpc.getFinishCreationMethod())
-							.willReturn(GrpcFinishCreationResponse.getDefaultInstance()));
+			when(vorgangRemoteService.createVorgang(any(), any(), any())).thenReturn("vorgangId(unused)");
 		}
 
 		@AfterEach
 		void teardown() {
-			try {
-				expectOneVorgangCreateAndFinishCall();
-				expectTwoUploadCallsForXmlRepresentations();
-			} finally {
-				xtaMocker.teardownServer();
-				resetMappings();
-			}
-		}
-
-		private void expectOneVorgangCreateAndFinishCall() {
-			verifyThat(
-					calledMethod(VorgangServiceGrpc.getStartCreationMethod())
-							.withRequest(GrpcCreateVorgangRequest::hasEingang),
-					times(1));
-			verifyThat(
-					calledMethod(VorgangServiceGrpc.getFinishCreationMethod()),
-					times(1));
-		}
-
-		private void expectTwoUploadCallsForXmlRepresentations() {
-			Predicate<GrpcUploadBinaryFileRequest> hasXMLContentType = request -> request.hasMetadata() && request
-					.getMetadata()
-					.getContentType()
-					.contains("xml");
-			verifyThat(
-					calledMethod(BinaryFileServiceGrpc.getUploadBinaryFileAsStreamMethod())
-							.withRequestsContaining(hasXMLContentType),
-					times(2));
+			xtaMocker.teardownServer();
 		}
 
 		@DisplayName("should have three representations with pdf")
@@ -194,12 +155,18 @@ class XtaITCase {
 		}
 
 		private GrpcEingang captureEingang() {
-			return capturedRequestsFor(
-					calledMethod(VorgangServiceGrpc.getStartCreationMethod()))
-							.getFirst()
-							.requests()
-							.getFirst()
-							.getEingang();
+			verify(vorgangRemoteService, times(1))
+					.createVorgang(
+							formDataArgumentCaptor.capture(),
+							eingangArgumentCaptor.capture(),
+							organisationseinheitenIdArgumentCaptor.capture()
+					);
+
+			assertThat(formDataArgumentCaptor.getValue()).isNotNull();
+			assertThat(eingangArgumentCaptor.getValue()).isNotNull();
+			assertThat(organisationseinheitenIdArgumentCaptor.getValue()).isPresent();
+
+			return eingangArgumentCaptor.getValue();
 		}
 	}