From 21e6b59f0a110ceb052189d63842f869d010ae3c Mon Sep 17 00:00:00 2001
From: Thomas <>
Date: Tue, 17 May 2022 18:30:32 +0200
Subject: refact(ernp): use unique transactionId without suffix for ERnP
 communication

---
 .../auth/eidas/v2/clients/ernp/ErnpRestClient.java | 31 ++++++++++++++++------
 1 file changed, 23 insertions(+), 8 deletions(-)

(limited to 'modules/authmodule-eIDAS-v2/src')

diff --git a/modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/clients/ernp/ErnpRestClient.java b/modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/clients/ernp/ErnpRestClient.java
index 6a732a0d..119a7c60 100644
--- a/modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/clients/ernp/ErnpRestClient.java
+++ b/modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/clients/ernp/ErnpRestClient.java
@@ -135,7 +135,7 @@ public class ErnpRestClient implements IErnpClient {
       throws EidasSAuthenticationException {
     try {
       // build generic request metadata
-      final GenericRequestParams generic = buildGenericRequestParameters("stepId");
+      final GenericRequestParams generic = buildGenericRequestParameters();
 
       // build search request
       final SuchEidas eidasInfos = new SuchEidas();
@@ -177,7 +177,7 @@ public class ErnpRestClient implements IErnpClient {
       String citizenCountryCode) throws EidasSAuthenticationException {
     try {
       // build generic request metadata
-      final GenericRequestParams generic = buildGenericRequestParameters("stepMDS");
+      final GenericRequestParams generic = buildGenericRequestParameters();
 
       // build search request
       final Suchdaten searchInfos = new Suchdaten();
@@ -218,7 +218,7 @@ public class ErnpRestClient implements IErnpClient {
     
     try {            
       // build generic request metadata
-      final GenericRequestParams generic = buildGenericRequestParameters("stepCC");
+      final GenericRequestParams generic = buildGenericRequestParameters();
 
       // build search request            
       final PersonSuchen personSuchen = new PersonSuchen();
@@ -291,7 +291,7 @@ public class ErnpRestClient implements IErnpClient {
   public ErnpRegisterResult add(SimpleEidasData eidData) throws EidasSAuthenticationException {
     try {
       // build generic request metadata
-      final GenericRequestParams generic = buildGenericRequestParameters("stepNew");
+      final GenericRequestParams generic = buildGenericRequestParameters();
       
       // build update request
       PersonAnlegen ernpReq = new PersonAnlegen();
@@ -459,7 +459,7 @@ public class ErnpRestClient implements IErnpClient {
       Collection<? extends Eidas> eidasDocumentToAdd, SimpleEidasData mdsToUpdate, String citizenCountryCode) 
           throws ServiceFault {
     // build generic request metadata
-    final GenericRequestParams generic = buildGenericRequestParameters("stepKittUpdate");
+    final GenericRequestParams generic = buildGenericRequestParameters();
     
     // build update request
     PersonAendern ernpReq = new PersonAendern();
@@ -562,7 +562,7 @@ public class ErnpRestClient implements IErnpClient {
   
   private Person searchPersonForUpdate(RegisterResult registerResult) throws WorkflowException {
     // build generic request metadata
-    final GenericRequestParams generic = buildGenericRequestParameters("stepKittSearch");
+    final GenericRequestParams generic = buildGenericRequestParameters();
 
     // build search request
     final Suchdaten searchInfos = new Suchdaten();
@@ -762,10 +762,25 @@ public class ErnpRestClient implements IErnpClient {
     final RestTemplate springClient = new RestTemplate(requestFactory);
     springClient.setErrorHandler(buildErrorHandler());
     springClient.getMessageConverters().add(0, buildCustomJacksonObjectMapper());
+    //springClient.getInterceptors().add(buildTransactionIdInterceptor());
     return springClient;
 
   }
 
+
+  //private ClientHttpRequestInterceptor buildTransactionIdInterceptor() {
+  //  return new ClientHttpRequestInterceptor() {
+  //    
+  //    @Override
+  //    public ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution)
+  //        throws IOException {
+  //      request.getHeaders().add("dfafsafafsaf", TransactionIdUtils.getTransactionId()); 
+  //      return execution.execute(request, body);
+  //      
+  //    }
+  //  };
+  //}
+
   private HttpMessageConverter<?> buildCustomJacksonObjectMapper() {
     final MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
     converter.setSupportedMediaTypes(Collections.singletonList(MediaType.APPLICATION_JSON));
@@ -833,13 +848,13 @@ public class ErnpRestClient implements IErnpClient {
 
   }
 
-  private GenericRequestParams buildGenericRequestParameters(String operationIdentifier) {
+  private GenericRequestParams buildGenericRequestParameters() {
     return GenericRequestParams.builder()
         .clientBehkz(basicConfig.getBasicConfiguration(
             Constants.CONIG_PROPS_EIDAS_ZMRCLIENT_REQ_ORGANIZATION_NR))
         .clientName(MessageFormat.format(Constants.CLIENT_INFO, versionHolder.getVersion()))
         .clientRequestTime(OffsetDateTime.now())
-        .clientRequestId(TransactionIdUtils.getTransactionId() + "_" + operationIdentifier)
+        .clientRequestId(TransactionIdUtils.getTransactionId())
         .build();
 
   }
-- 
cgit v1.2.3