From 11520da12531f7484bc716f6c6284f65d4e5c201 Mon Sep 17 00:00:00 2001 From: Thomas <> Date: Wed, 7 Jun 2023 08:58:57 +0200 Subject: feat(ernp): switch to new ERnP REST API v2.0.3(2023) that implements "Meldegesetznovelle 2023) --- .../specific/modules/auth/eidas/v2/Constants.java | 7 +- .../auth/eidas/v2/clients/ernp/ErnpRestClient.java | 36 +- .../main/resources/wsdl/ernp_client/openapi.json | 517 +++++++++++++++++++-- .../test/clients/ErnpRestClientProductionTest.java | 1 + .../resources/data/ernp/ernp_handbook_example.json | 40 +- .../src/main/resources/application.properties | 7 +- 6 files changed, 555 insertions(+), 53 deletions(-) diff --git a/modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/Constants.java b/modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/Constants.java index 5468cd56..778739e2 100644 --- a/modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/Constants.java +++ b/modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/Constants.java @@ -215,15 +215,18 @@ public class Constants { + ".ssl.trustStore.name"; - public static final String CONIG_PROPS_EIDAS_ERNPCLIENT_TIMEOUT_CONNECTION = CONIG_PROPS_EIDAS_ERNPCLIENT + ".timeout.connection"; public static final String CONIG_PROPS_EIDAS_ERNPCLIENT_TIMEOUT_RESPONSE = CONIG_PROPS_EIDAS_ERNPCLIENT + ".timeout.response"; public static final String CONIG_PROPS_EIDAS_ERNPCLIENT_REQ_ORGANIZATION_NR = CONIG_PROPS_EIDAS_ERNPCLIENT + ".req.organisation.behoerdennr"; + public static final String CONIG_PROPS_EIDAS_ERNPCLIENT_API_ADDPERSON_GENDER = CONIG_PROPS_EIDAS_ERNPCLIENT + + ".api.person.add.gender"; + public static final String CONIG_PROPS_EIDAS_ERNPCLIENT_NEW_API_FEATURES = CONIG_PROPS_EIDAS_ERNPCLIENT + + ".api.features.2023"; - + // SZR Client configuration properties public static final String CONIG_PROPS_EIDAS_SZRCLIENT = EidasConstants.CONIG_PROPS_EIDAS_PREFIX + ".szrclient"; 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 bbb245f1..a64671ec 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 @@ -44,6 +44,7 @@ import org.springframework.web.client.RestTemplate; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.databind.SerializationFeature; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import com.google.common.collect.Lists; import at.asitplus.eidas.specific.modules.auth.eidas.v2.Constants; import at.asitplus.eidas.specific.modules.auth.eidas.v2.dao.ErnpPersonRegisterResult; @@ -134,6 +135,9 @@ public class ErnpRestClient implements IErnpClient { private static final String HEADER_PVP_TXID = "pvp-txid"; private static final String HEADER_MSG_NOT_SET = "NOT-set"; + private static final String HEADER_ERNP_FEATURE_ADDRESS_ARRAY = "Json-Anschrift-Array"; + private static final String HEADER_ERNP_FEATURE_NEW_DATETIME_FORMAT = "Json-Use-Date-Type"; + @Autowired IConfiguration basicConfig; @Autowired @@ -319,6 +323,7 @@ public class ErnpRestClient implements IErnpClient { person.setFamilienname(eidData.getFamilyName()); person.setVorname(eidData.getGivenName()); person.setGeburtsdatum(buildErnpBirthday(eidData.getDateOfBirth())); + person.setGeschlecht(buildErnpGenderType()); ernpReq.setPersonendaten(person); buildNewEidasDocumens(ernpReq, eidData); @@ -387,6 +392,11 @@ public class ErnpRestClient implements IErnpClient { } + private String buildErnpGenderType() { + return basicConfig.getBasicConfiguration(Constants.CONIG_PROPS_EIDAS_ERNPCLIENT_API_ADDPERSON_GENDER); + + } + @Nonnull private ErnpRegisterResult processErnpResponse(SuchenResponse resp, @Nonnull String citizenCountryCode, boolean forceSinglePersonMatch, @Nonnull String processStepFiendlyname) @@ -772,8 +782,7 @@ public class ErnpRestClient implements IErnpClient { } if (input.getGeschlecht() != null) { - person.setGeschlecht( - Personendaten.GeschlechtEnum.fromValue(input.getGeschlecht().getValue())); + person.setGeschlecht(input.getGeschlecht()); } return person; @@ -894,11 +903,32 @@ public class ErnpRestClient implements IErnpClient { final RestTemplate springClient = new RestTemplate(requestFactory); springClient.setErrorHandler(buildErrorHandler()); springClient.getMessageConverters().add(0, buildCustomJacksonObjectMapper()); - springClient.setInterceptors(Collections.singletonList(buildTransactionIdInterceptor())); + springClient.setInterceptors(Lists.newArrayList( + buildErnpFeatureHeaderInterceptor(), + buildTransactionIdInterceptor())); return springClient; } + private ClientHttpRequestInterceptor buildErnpFeatureHeaderInterceptor() { + return new ClientHttpRequestInterceptor() { + + @Override + public ClientHttpResponse intercept(HttpRequest request, byte[] body, + ClientHttpRequestExecution execution) throws IOException { + boolean ernpApi2023Enabled = basicConfig.getBasicConfigurationBoolean( + Constants.CONIG_PROPS_EIDAS_ERNPCLIENT_NEW_API_FEATURES, true); + if (ernpApi2023Enabled) { + log.debug("Injecting HTTP headers to enable new ERnP features ... "); + request.getHeaders().add(HEADER_ERNP_FEATURE_ADDRESS_ARRAY, String.valueOf(ernpApi2023Enabled)); + request.getHeaders().add(HEADER_ERNP_FEATURE_NEW_DATETIME_FORMAT, String.valueOf(ernpApi2023Enabled)); + } + + return execution.execute(request, body); + } + }; + } + private ClientHttpRequestInterceptor buildTransactionIdInterceptor() { return new ClientHttpRequestInterceptor() { diff --git a/modules/authmodule-eIDAS-v2/src/main/resources/wsdl/ernp_client/openapi.json b/modules/authmodule-eIDAS-v2/src/main/resources/wsdl/ernp_client/openapi.json index 9e09240f..3a4ed480 100644 --- a/modules/authmodule-eIDAS-v2/src/main/resources/wsdl/ernp_client/openapi.json +++ b/modules/authmodule-eIDAS-v2/src/main/resources/wsdl/ernp_client/openapi.json @@ -60,7 +60,7 @@ }, { "name" : "Client-Request-Id", "in" : "header", - "description" : "Client-Request ID (um Systemübergreifende Fehlersuche zu vereinfache)", + "description" : "Client-Request ID (um Systemübergreifende Fehlersuche zu vereinfachen)", "schema" : { "type" : "string" } @@ -158,7 +158,7 @@ }, { "name" : "Client-Request-Id", "in" : "header", - "description" : "Client-Request ID (um Systemübergreifende Fehlersuche zu vereinfache)", + "description" : "Client-Request ID (um Systemübergreifende Fehlersuche zu vereinfachen)", "schema" : { "type" : "string" } @@ -242,6 +242,260 @@ } } }, + "/eidas/info" : { + "get" : { + "operationId" : "getInfo", + "parameters" : [ { + "name" : "Client-Request-Time", + "in" : "header", + "description" : "Client-Requestzeit im ISO-8601 Format mit optionaler Zeitzone (zb '2016-10-27T16:36:08.993')", + "schema" : { + "type" : "string", + "format" : "date-time" + } + }, { + "name" : "Client-Request-Id", + "in" : "header", + "description" : "Client-Request ID (um Systemübergreifende Fehlersuche zu vereinfachen)", + "schema" : { + "type" : "string" + } + }, { + "name" : "Client-Behkz", + "in" : "header", + "description" : "Client-Behördenkennzeichen", + "required" : true, + "schema" : { + "type" : "string" + } + }, { + "name" : "Client-Name", + "in" : "header", + "description" : "Client-Name bzw Applikationskürzel und Version des aufrufenden Systems (zb 'ZMR 3.4.5')", + "required" : true, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "default" : { + "description" : "Erfolgreicher Response hat Status 200 wenn Responsepayload vorhanden, sonst 204", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceInfoResponse" + } + }, + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/ServiceInfoResponse" + } + } + } + }, + "4XX" : { + "description" : "Client Fehler (kann vom Client behoben werden)", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/Fault" + } + }, + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/Fault" + } + } + } + }, + "5XX" : { + "description" : "Server Fehler (normalerweise nicht vom Client behebbar)", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/Fault" + } + }, + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/Fault" + } + } + } + } + } + } + }, + "/eidas/person/loeschen" : { + "post" : { + "operationId" : "loeschen", + "parameters" : [ { + "name" : "Client-Request-Time", + "in" : "header", + "description" : "Client-Requestzeit im ISO-8601 Format mit optionaler Zeitzone (zb '2016-10-27T16:36:08.993')", + "schema" : { + "type" : "string", + "format" : "date-time" + } + }, { + "name" : "Client-Request-Id", + "in" : "header", + "description" : "Client-Request ID (um Systemübergreifende Fehlersuche zu vereinfachen)", + "schema" : { + "type" : "string" + } + }, { + "name" : "Client-Behkz", + "in" : "header", + "description" : "Client-Behördenkennzeichen", + "required" : true, + "schema" : { + "type" : "string" + } + }, { + "name" : "Client-Name", + "in" : "header", + "description" : "Client-Name bzw Applikationskürzel und Version des aufrufenden Systems (zb 'ZMR 3.4.5')", + "required" : true, + "schema" : { + "type" : "string" + } + }, { + "name" : "id", + "in" : "query", + "schema" : { + "type" : "array", + "items" : { + "type" : "integer", + "format" : "int64" + } + } + } ], + "responses" : { + "default" : { + "description" : "Erfolgreicher Response hat Status 200 wenn Responsepayload vorhanden, sonst 204" + }, + "4XX" : { + "description" : "Client Fehler (kann vom Client behoben werden)", + "content" : { + "*/*" : { + "schema" : { + "$ref" : "#/components/schemas/Fault" + } + } + } + }, + "5XX" : { + "description" : "Server Fehler (normalerweise nicht vom Client behebbar)", + "content" : { + "*/*" : { + "schema" : { + "$ref" : "#/components/schemas/Fault" + } + } + } + } + } + } + }, + "/eidas/person/stornieren" : { + "post" : { + "operationId" : "stornieren", + "parameters" : [ { + "name" : "Client-Request-Time", + "in" : "header", + "description" : "Client-Requestzeit im ISO-8601 Format mit optionaler Zeitzone (zb '2016-10-27T16:36:08.993')", + "schema" : { + "type" : "string", + "format" : "date-time" + } + }, { + "name" : "Client-Request-Id", + "in" : "header", + "description" : "Client-Request ID (um Systemübergreifende Fehlersuche zu vereinfachen)", + "schema" : { + "type" : "string" + } + }, { + "name" : "Client-Behkz", + "in" : "header", + "description" : "Client-Behördenkennzeichen", + "required" : true, + "schema" : { + "type" : "string" + } + }, { + "name" : "Client-Name", + "in" : "header", + "description" : "Client-Name bzw Applikationskürzel und Version des aufrufenden Systems (zb 'ZMR 3.4.5')", + "required" : true, + "schema" : { + "type" : "string" + } + } ], + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/StornierenRequestPerson" + } + }, + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/StornierenRequestPerson" + } + } + } + }, + "responses" : { + "default" : { + "description" : "Erfolgreicher Response hat Status 200 wenn Responsepayload vorhanden, sonst 204", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/StornierenResponse" + } + }, + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/StornierenResponse" + } + } + } + }, + "4XX" : { + "description" : "Client Fehler (kann vom Client behoben werden)", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/Fault" + } + }, + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/Fault" + } + } + } + }, + "5XX" : { + "description" : "Server Fehler (normalerweise nicht vom Client behebbar)", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/Fault" + } + }, + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/Fault" + } + } + } + } + } + } + }, "/eidas/person/suchen" : { "post" : { "operationId" : "suchen", @@ -256,7 +510,7 @@ }, { "name" : "Client-Request-Id", "in" : "header", - "description" : "Client-Request ID (um Systemübergreifende Fehlersuche zu vereinfache)", + "description" : "Client-Request ID (um Systemübergreifende Fehlersuche zu vereinfachen)", "schema" : { "type" : "string" } @@ -468,7 +722,7 @@ } }, "Anschrift" : { - "required" : [ "staat", "strasse", "type" ], + "required" : [ "kennzeichen", "staat", "strasse", "type" ], "type" : "object", "properties" : { "entityId" : { @@ -539,6 +793,15 @@ "kontaktinformationen" : { "$ref" : "#/components/schemas/Kontaktinformationen" }, + "kennzeichen" : { + "type" : "array", + "xml" : { + "name" : "AnschriftKennzeichen" + }, + "items" : { + "type" : "string" + } + }, "type" : { "type" : "string" } @@ -548,7 +811,7 @@ } }, "AnschriftInland" : { - "required" : [ "gemeinde", "hausnummer", "ort", "postleitzahl", "staat", "strasse" ], + "required" : [ "gemeinde", "hausnummer", "kennzeichen", "ort", "postleitzahl", "staat", "strasse" ], "type" : "object", "allOf" : [ { "$ref" : "#/components/schemas/Anschrift" @@ -599,7 +862,7 @@ } ] }, "AnschriftInlandAgs" : { - "required" : [ "gemeinde", "hausnummer", "ort", "postleitzahl", "staat", "strasse" ], + "required" : [ "gemeinde", "hausnummer", "kennzeichen", "ort", "postleitzahl", "staat", "strasse" ], "type" : "object", "allOf" : [ { "$ref" : "#/components/schemas/Anschrift" @@ -663,6 +926,12 @@ "xml" : { "name" : "Gebaeudeeigenschaft" } + }, + "identAdresse" : { + "type" : "string", + "xml" : { + "name" : "IdentAdresse" + } } } } ] @@ -917,6 +1186,12 @@ "xml" : { "attribute" : true } + }, + "grund" : { + "type" : "string", + "xml" : { + "attribute" : true + } } } }, @@ -948,7 +1223,7 @@ } }, "Person" : { - "required" : [ "letzteOperation", "personendaten", "type" ], + "required" : [ "letzteOperation", "personendaten", "qkz", "type" ], "type" : "object", "properties" : { "letzteOperation" : { @@ -958,7 +1233,13 @@ "$ref" : "#/components/schemas/PersonendatenErgebnis" }, "anschrift" : { - "$ref" : "#/components/schemas/Anschrift" + "type" : "array", + "xml" : { + "name" : "Anschrift" + }, + "items" : { + "$ref" : "#/components/schemas/Anschrift" + } }, "akademischerGrad" : { "type" : "array", @@ -1005,6 +1286,15 @@ "$ref" : "#/components/schemas/Eidas" } }, + "qkz" : { + "type" : "array", + "xml" : { + "name" : "Qkz" + }, + "items" : { + "type" : "string" + } + }, "gueltigAb" : { "type" : "string", "format" : "date-time", @@ -1082,6 +1372,12 @@ "name" : "Vorname" } }, + "sonstigerName" : { + "type" : "string", + "xml" : { + "name" : "SonstigerName" + } + }, "geburtsbundesland" : { "type" : "string", "xml" : { @@ -1103,10 +1399,10 @@ }, "geschlecht" : { "type" : "string", + "description" : "Die derzeit erlaubten Werte stehen im Ernp.xsd", "xml" : { "name" : "Geschlecht" - }, - "enum" : [ "Männlich", "Weiblich" ] + } }, "basiszahl" : { "type" : "string", @@ -1138,7 +1434,7 @@ } }, "Reisedokument" : { - "required" : [ "art" ], + "required" : [ "art", "nummer" ], "type" : "object", "properties" : { "entityId" : { @@ -1292,15 +1588,6 @@ "xml" : { "name" : "Auskunftssperre" } - }, - "qkz" : { - "type" : "array", - "xml" : { - "name" : "Qkz" - }, - "items" : { - "type" : "string" - } } } } ] @@ -1312,7 +1599,13 @@ "$ref" : "#/components/schemas/Personendaten" }, "anschrift" : { - "$ref" : "#/components/schemas/Anschrift" + "type" : "array", + "xml" : { + "name" : "Anschrift" + }, + "items" : { + "$ref" : "#/components/schemas/Anschrift" + } }, "akademischerGrad" : { "type" : "array", @@ -1365,7 +1658,13 @@ "type" : "object", "properties" : { "anschrift" : { - "$ref" : "#/components/schemas/Anschrift" + "type" : "array", + "xml" : { + "name" : "Anschrift" + }, + "items" : { + "$ref" : "#/components/schemas/Anschrift" + } }, "akademischerGrad" : { "type" : "array", @@ -1510,6 +1809,12 @@ "name" : "Vorname" } }, + "sonstigerName" : { + "type" : "string", + "xml" : { + "name" : "SonstigerName" + } + }, "geburtsbundesland" : { "type" : "string", "xml" : { @@ -1531,10 +1836,10 @@ }, "geschlecht" : { "type" : "string", + "description" : "Die derzeit erlaubten Werte stehen im Ernp.xsd", "xml" : { "name" : "Geschlecht" - }, - "enum" : [ "Männlich", "Weiblich" ] + } } } }, @@ -1551,7 +1856,7 @@ } }, "PersonAnlegen" : { - "required" : [ "anschrift", "begruendung", "personendaten" ], + "required" : [ "begruendung", "personendaten" ], "type" : "object", "properties" : { "begruendung" : { @@ -1564,7 +1869,13 @@ "$ref" : "#/components/schemas/Personendaten" }, "anschrift" : { - "$ref" : "#/components/schemas/Anschrift" + "type" : "array", + "xml" : { + "name" : "Anschrift" + }, + "items" : { + "$ref" : "#/components/schemas/Anschrift" + } }, "akademischerGrad" : { "type" : "array", @@ -1616,6 +1927,75 @@ "name" : "PersonAnlegen" } }, + "ServiceInfo" : { + "type" : "object", + "properties" : { + "datum" : { + "type" : "string", + "format" : "date", + "xml" : { + "attribute" : true + } + }, + "nachricht" : { + "type" : "string", + "xml" : { + "attribute" : true + } + } + } + }, + "ServiceInfoResponse" : { + "type" : "object", + "properties" : { + "info" : { + "type" : "array", + "xml" : { + "name" : "Info" + }, + "items" : { + "$ref" : "#/components/schemas/ServiceInfo" + } + } + }, + "xml" : { + "name" : "ServiceInfoResponse" + } + }, + "StornierenResponse" : { + "required" : [ "person" ], + "type" : "object", + "properties" : { + "person" : { + "$ref" : "#/components/schemas/Person" + } + }, + "xml" : { + "name" : "StornierenResponse" + } + }, + "StornierenRequestPerson" : { + "required" : [ "entityId", "version" ], + "type" : "object", + "properties" : { + "entityId" : { + "type" : "string", + "xml" : { + "attribute" : true + } + }, + "version" : { + "type" : "string", + "format" : "date-time", + "xml" : { + "attribute" : true + } + } + }, + "xml" : { + "name" : "StornierenRequestPerson" + } + }, "SuchenResponse" : { "type" : "object", "properties" : { @@ -1633,6 +2013,84 @@ "name" : "SuchenResponse" } }, + "Ergebnisoptionen" : { + "type" : "object", + "properties" : { + "lieferePersonendaten" : { + "type" : "string", + "xml" : { + "name" : "LieferePersonendaten" + }, + "default" : "Alle", + "enum" : [ "Alle", "AlleOhneMeta", "AlleOhneMetaUndId", "SuchdatenPlusEines", "Mds", "EntityId", "Keine" ] + }, + "liefereBasiszahlen" : { + "type" : "boolean", + "xml" : { + "name" : "LiefereBasiszahlen" + }, + "default" : false + }, + "liefereBasiszahlenErnpGeprueft" : { + "type" : "boolean", + "xml" : { + "name" : "LiefereBasiszahlenErnpGeprueft" + }, + "default" : false + }, + "trefferLimit" : { + "type" : "integer", + "format" : "int32", + "xml" : { + "name" : "TrefferLimit" + }, + "default" : 150 + }, + "angehaengteZustaende" : { + "type" : "array", + "xml" : { + "name" : "AngehaengteZustaende" + }, + "items" : { + "type" : "string", + "xml" : { + "name" : "AngehaengteZustaende" + }, + "enum" : [ "Anschrift", "AkademischerGrad", "Reisedokument", "SonstigesDokument", "Staatsangehoerigkeit", "Eidas" ] + } + }, + "angehaengteMeldungZmr" : { + "type" : "string", + "xml" : { + "name" : "AngehaengteMeldungZmr" + }, + "default" : "JuengsterHwsAktuell", + "enum" : [ "JuengsterHwsAktuell", "JuengsterHws", "HierarchischAktuell", "Hierarchisch", "HierarchischAktuellOhneAuskunftssperren", "HierarchischOhneAuskunftssperren" ] + }, + "historischePersonen" : { + "type" : "string", + "xml" : { + "name" : "HistorischePersonen" + }, + "default" : "Alle", + "enum" : [ "Alle", "KeinAmtBeendetBzwAbgeschlossen", "Keine" ] + }, + "ungeprueftePersonen" : { + "type" : "boolean", + "xml" : { + "name" : "UngeprueftePersonen" + }, + "default" : true + }, + "kitverfolgung" : { + "type" : "boolean", + "xml" : { + "name" : "Kitverfolgung" + }, + "default" : true + } + } + }, "PersonSuchen" : { "required" : [ "begruendung", "suchdaten", "suchoptionen" ], "type" : "object", @@ -1646,6 +2104,9 @@ "suchoptionen" : { "$ref" : "#/components/schemas/Suchoptionen" }, + "ergebnisoptionen" : { + "$ref" : "#/components/schemas/Ergebnisoptionen" + }, "suchdaten" : { "$ref" : "#/components/schemas/Suchdaten" } @@ -1869,10 +2330,10 @@ }, "geschlecht" : { "type" : "string", + "description" : "Die derzeit erlaubten Werte stehen im Ernp.xsd", "xml" : { "name" : "Geschlecht" - }, - "enum" : [ "Männlich", "Weiblich" ] + } }, "anschrift" : { "$ref" : "#/components/schemas/SuchAnschrift" diff --git a/modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/clients/ErnpRestClientProductionTest.java b/modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/clients/ErnpRestClientProductionTest.java index c44fda55..19476f9a 100644 --- a/modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/clients/ErnpRestClientProductionTest.java +++ b/modules/authmodule-eIDAS-v2/src/test/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/test/clients/ErnpRestClientProductionTest.java @@ -119,6 +119,7 @@ public class ErnpRestClientProductionTest { } @Test + @Ignore @SneakyThrows public void searchWithMdsElga() { final String personalIdentifierFirst = "7cEYWithDEElementsasdfsafsaf4CDVzNT4E7cjkU4VqForjUnit"; diff --git a/modules/authmodule-eIDAS-v2/src/test/resources/data/ernp/ernp_handbook_example.json b/modules/authmodule-eIDAS-v2/src/test/resources/data/ernp/ernp_handbook_example.json index f4485ff7..05cd8afe 100644 --- a/modules/authmodule-eIDAS-v2/src/test/resources/data/ernp/ernp_handbook_example.json +++ b/modules/authmodule-eIDAS-v2/src/test/resources/data/ernp/ernp_handbook_example.json @@ -2,25 +2,27 @@ "person": [ { "type": "Person", - "anschrift": { - "type": "AnschriftInland", - "adressstatus": "XXXXXXXXX", - "codes": { - "gemeindekennziffer": "09988", - "strassenkennziffer": "T80001" - }, - "entityId": 33069800000171092, - "gemeinde": "Testgemeinde", - "gueltigAb": "2011-09-06T11:23:55.306+02:00", - "hausnummer": "99", - "postleitzahl": "0077", - "postort": "Testpostort 77 mit maximalmögl. Längen", - "staat": { - "isoCode3": "AUT", - "name": "Österreich" - }, - "strasse": "Testgasse" - }, + "anschrift": [ + { + "type": "AnschriftInland", + "adressstatus": "XXXXXXXXX", + "codes": { + "gemeindekennziffer": "09988", + "strassenkennziffer": "T80001" + }, + "entityId": 33069800000171092, + "gemeinde": "Testgemeinde", + "gueltigAb": "2011-09-06T11:23:55.306+02:00", + "hausnummer": "99", + "postleitzahl": "0077", + "postort": "Testpostort 77 mit maximalmögl. Längen", + "staat": { + "isoCode3": "AUT", + "name": "Österreich" + }, + "strasse": "Testgasse" + } + ], "entityId": 33069800000171080, "gueltigAb": "2011-09-06T11:23:55.306+02:00", "letzteOperation": { diff --git a/ms_specific_connector/src/main/resources/application.properties b/ms_specific_connector/src/main/resources/application.properties index 2c37ffba..83fccab4 100644 --- a/ms_specific_connector/src/main/resources/application.properties +++ b/ms_specific_connector/src/main/resources/application.properties @@ -170,13 +170,18 @@ eidas.ms.auth.eIDAS.zmrclient.debug.logfullmessages=false # ERnP communication #eidas.ms.auth.eIDAS.ernpclient.endpoint=http://localhost:1718/demoernp -#eidas.ms.auth.eIDAS.ernpclient.req.organisation.behoerdennr=jUnit123456 #eidas.ms.auth.eIDAS.ernpclient.ssl.keyStore.type=jks #eidas.ms.auth.eIDAS.ernpclient.ssl.keyStore.path=../keystore/junit_test.jks #eidas.ms.auth.eIDAS.ernpclient.ssl.keyStore.password=password #eidas.ms.auth.eIDAS.ernpclient.ssl.key.alias=meta #eidas.ms.auth.eIDAS.ernpclient.ssl.key.password=password +#eidas.ms.auth.eIDAS.ernpclient.req.organisation.behoerdennr=jUnit123456 +eidas.ms.auth.eIDAS.ernpclient.api.person.add.gender=Keine Angabe +eidas.ms.auth.eIDAS.ernpclient.api.features.2023=false + + + # SAML2 ID Austria client for matching #eidas.ms.modules.idaustriaclient.keystore.type=jks #eidas.ms.modules.idaustriaclient.keystore.path= -- cgit v1.2.3