diff options
Diffstat (limited to 'eidas_modules/authmodule-eIDAS-v2/src')
2 files changed, 89 insertions, 18 deletions
diff --git a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/clients/ernp/ErnpRestClient.java b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/clients/ernp/ErnpRestClient.java index 3822da01..45a4010b 100644 --- a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/clients/ernp/ErnpRestClient.java +++ b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/clients/ernp/ErnpRestClient.java @@ -62,6 +62,7 @@ import at.asitplus.eidas.specific.modules.auth.eidas.v2.exception.ErnpRestCommun import at.asitplus.eidas.specific.modules.auth.eidas.v2.exception.WorkflowException; import at.asitplus.eidas.specific.modules.auth.eidas.v2.utils.VersionHolder; import at.gv.bmi.namespace.zmr_su.base._20040201_.ServiceFault; +import at.gv.bmi.namespace.zmr_su.zmr._20040201.EidasSuchdatenType; import at.gv.bmi.namespace.zmr_su.zmr._20040201.PersonSuchenRequest; import at.gv.egiz.eaaf.core.api.idp.IConfiguration; import at.gv.egiz.eaaf.core.exceptions.EaafAuthenticationException; @@ -142,7 +143,7 @@ public class ErnpRestClient implements IErnpClient { personSuchen.setSuchoptionen(generateSearchParameters()); personSuchen.setBegruendung(PROCESS_SEARCH_PERSONAL_IDENTIFIER); final Suchdaten searchInfos = new Suchdaten(); - searchInfos.setEidas(eidasInfos); + searchInfos.setEidas(Arrays.asList(eidasInfos)); personSuchen.setSuchdaten(searchInfos); // request ERnP @@ -429,9 +430,11 @@ public class ErnpRestClient implements IErnpClient { searchInfos.setVorname(personSearchDao.getNatuerlichePerson().getPersonenName().getVorname()); searchInfos.setGeburtsdatum(buildErnpBirthday(personSearchDao.getNatuerlichePerson().getGeburtsdatum())); - //TODO: search eIDAS has to be a LIST!!!!!! - SuchEidas eidasInfos = new SuchEidas(); - searchInfos.setEidas(eidasInfos); + // map all eIDAS documents into ERnP format + searchInfos.setEidas(personSearchDao.getEidasSuchdaten().stream() + .map(el -> buildErnpEidasDocument(el)) + .collect(Collectors.toList())); + return searchInfos; } @@ -669,6 +672,20 @@ public class ErnpRestClient implements IErnpClient { } /** + * Map eIDAS search-data from ZMR model into ERnP model. + * + * @param daten eIDAS document as ZMR model + * @return the same eIDAS document as an ERnP model + */ + private SuchEidas buildErnpEidasDocument(EidasSuchdatenType daten) { + return new SuchEidas() + .art(daten.getEidasArt()) + .wert(daten.getEidasWert()) + .staatscode2(daten.getStaatscode2()); + } + + + /** * Build AT specific Date String 'yyyy-MM-dd' from ERnP birthday representation. * * <p> diff --git a/eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/ernp_client/openapi.json b/eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/ernp_client/openapi.json index fef86c1b..9e09240f 100644 --- a/eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/ernp_client/openapi.json +++ b/eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/ernp_client/openapi.json @@ -87,6 +87,11 @@ "schema" : { "$ref" : "#/components/schemas/PersonAendern" } + }, + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/PersonAendern" + } } } }, @@ -98,6 +103,11 @@ "schema" : { "$ref" : "#/components/schemas/AendernResponse" } + }, + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/AendernResponse" + } } } }, @@ -108,6 +118,11 @@ "schema" : { "$ref" : "#/components/schemas/Fault" } + }, + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/Fault" + } } } }, @@ -118,6 +133,11 @@ "schema" : { "$ref" : "#/components/schemas/Fault" } + }, + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/Fault" + } } } } @@ -165,6 +185,11 @@ "schema" : { "$ref" : "#/components/schemas/PersonAnlegen" } + }, + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/PersonAnlegen" + } } } }, @@ -176,6 +201,11 @@ "schema" : { "$ref" : "#/components/schemas/AnlegenResponse" } + }, + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/AnlegenResponse" + } } } }, @@ -186,6 +216,11 @@ "schema" : { "$ref" : "#/components/schemas/Fault" } + }, + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/Fault" + } } } }, @@ -196,6 +231,11 @@ "schema" : { "$ref" : "#/components/schemas/Fault" } + }, + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/Fault" + } } } } @@ -243,6 +283,11 @@ "schema" : { "$ref" : "#/components/schemas/PersonSuchen" } + }, + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/PersonSuchen" + } } } }, @@ -254,6 +299,11 @@ "schema" : { "$ref" : "#/components/schemas/SuchenResponse" } + }, + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/SuchenResponse" + } } } }, @@ -264,6 +314,11 @@ "schema" : { "$ref" : "#/components/schemas/Fault" } + }, + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/Fault" + } } } }, @@ -274,6 +329,11 @@ "schema" : { "$ref" : "#/components/schemas/Fault" } + }, + "application/xml" : { + "schema" : { + "$ref" : "#/components/schemas/Fault" + } } } } @@ -716,6 +776,7 @@ } }, "Eidas" : { + "required" : [ "art", "staatscode2", "wert" ], "type" : "object", "properties" : { "entityId" : { @@ -775,19 +836,6 @@ "xml" : { "name" : "Staatscode2" } - }, - "image" : { - "type" : "array", - "xml" : { - "name" : "Image" - }, - "items" : { - "type" : "string", - "format" : "byte", - "xml" : { - "name" : "Image" - } - } } } }, @@ -1836,7 +1884,13 @@ "$ref" : "#/components/schemas/SuchStaatsangehoerigkeit" }, "eidas" : { - "$ref" : "#/components/schemas/SuchEidas" + "type" : "array", + "xml" : { + "name" : "Eidas" + }, + "items" : { + "$ref" : "#/components/schemas/SuchEidas" + } } } }, |