From 9f0fa316c8f7adeb3529cb4c3b2c553f085f7d95 Mon Sep 17 00:00:00 2001
From: Thomas <>
Date: Tue, 15 Jun 2021 12:14:51 +0200
Subject: add ZMR client, to some re-factoring, and a lot of bug-fixing
---
.../specific/modules/auth/eidas/v2/Constants.java | 64 +-
.../auth/eidas/v2/clients/AbstractSoapClient.java | 197 +++++
.../auth/eidas/v2/clients/szr/SzrClient.java | 469 ++++++++++
.../auth/eidas/v2/clients/szr/SzrService.java | 164 ++++
.../auth/eidas/v2/clients/zmr/IZmrClient.java | 89 ++
.../auth/eidas/v2/clients/zmr/ZmrSoapClient.java | 560 ++++++++++++
.../eidas/v2/dao/MergedRegisterSearchResult.java | 75 --
.../modules/auth/eidas/v2/dao/RegisterResult.java | 67 +-
.../modules/auth/eidas/v2/dao/SimpleEidasData.java | 28 +-
.../eidas/v2/dao/SimpleMobileSignatureData.java | 4 +-
.../auth/eidas/v2/ernp/DummyErnpClient.java | 9 +-
.../modules/auth/eidas/v2/ernp/IErnpClient.java | 4 +-
.../v2/exception/InvalidUserInputException.java | 5 +-
.../v2/exception/ManualFixNecessaryException.java | 10 +-
.../auth/eidas/v2/exception/WorkflowException.java | 65 +-
.../v2/exception/ZmrCommunicationException.java | 38 +
.../eidas/v2/handler/AbstractEidProcessor.java | 17 +-
.../CountrySpecificDetailSearchProcessor.java | 15 +-
.../handler/DeSpecificDetailSearchProcessor.java | 41 +-
.../handler/ItSpecificDetailSearchProcessor.java | 30 +-
.../eidas/v2/service/RegisterSearchService.java | 328 +++++--
.../modules/auth/eidas/v2/szr/SzrClient.java | 601 -------------
.../modules/auth/eidas/v2/szr/SzrService.java | 164 ----
.../eidas/v2/tasks/CreateIdentityLinkTask.java | 57 +-
.../eidas/v2/tasks/CreateNewErnpEntryTask.java | 25 +-
.../auth/eidas/v2/tasks/InitialSearchTask.java | 229 +++--
.../ReceiveAustrianResidenceGuiResponseTask.java | 104 ++-
.../ReceiveMobilePhoneSignatureResponseTask.java | 159 ++--
.../ReceiveOtherLoginMethodGuiResponseTask.java | 30 +-
.../auth/eidas/v2/utils/EidasResponseUtils.java | 46 +-
.../auth/eidas/v2/utils/MatchingTaskUtils.java | 88 ++
.../modules/auth/eidas/v2/utils/VersionHolder.java | 40 +
.../modules/auth/eidas/v2/zmr/DummyZmrClient.java | 50 +-
.../modules/auth/eidas/v2/zmr/IZmrClient.java | 48 --
.../resources/eIDAS.Authentication.process.xml | 100 +--
.../src/main/resources/eidas_v2_auth.beans.xml | 14 +-
.../messages/eidas_connector_message.properties | 12 +
.../src/main/resources/szr_client/SZR-1.1.WSDL | 939 ---------------------
.../src/main/resources/szr_client/SZR-1.WSDL | 901 --------------------
.../src/main/resources/szr_client/SZR_v4.0.wsdl | 441 ----------
.../src/main/resources/szr_client/pvp1.xsd | 133 ---
.../src/main/resources/szr_client/pvp19.xsd | 133 ---
.../src/main/resources/szr_client/szr.xsd | 388 ---------
.../src/main/resources/szr_client/szr_ecdsa.xsd | 30 -
.../main/resources/szr_client/szr_persondata.xsd | 54 --
.../src/main/resources/szr_client/szr_pvp_sec.xsd | 10 -
.../main/resources/szr_client/szr_v4.0-schemas.xml | 54 --
.../main/resources/szr_client/szr_v4.0-wsdl.xml | 10 -
.../src/main/resources/szr_client/szr_v4.0.xsd | 443 ----------
.../src/main/resources/szr_client/szr_xmldsig.xsd | 31 -
.../main/resources/wsdl/szr_client/SZR-1.1.WSDL | 939 +++++++++++++++++++++
.../src/main/resources/wsdl/szr_client/SZR-1.WSDL | 901 ++++++++++++++++++++
.../main/resources/wsdl/szr_client/SZR_v4.0.wsdl | 441 ++++++++++
.../src/main/resources/wsdl/szr_client/pvp1.xsd | 133 +++
.../src/main/resources/wsdl/szr_client/pvp19.xsd | 133 +++
.../src/main/resources/wsdl/szr_client/szr.xsd | 388 +++++++++
.../main/resources/wsdl/szr_client/szr_ecdsa.xsd | 30 +
.../resources/wsdl/szr_client/szr_persondata.xsd | 54 ++
.../main/resources/wsdl/szr_client/szr_pvp_sec.xsd | 10 +
.../resources/wsdl/szr_client/szr_v4.0-schemas.xml | 54 ++
.../resources/wsdl/szr_client/szr_v4.0-wsdl.xml | 10 +
.../main/resources/wsdl/szr_client/szr_v4.0.xsd | 443 ++++++++++
.../main/resources/wsdl/szr_client/szr_xmldsig.xsd | 31 +
.../resources/wsdl/zmr_client/testxml/soapenv.xsd | 125 +++
.../ablaufendeauskunftssperrenrequest.xml | 22 +
.../ablaufendeauskunftssperrenresponse.xml | 194 +++++
.../ablaufendeauskunfssperren/blaetternrequest.xml | 27 +
.../blaetternresponse.xml | 195 +++++
.../testxml/zmr/adoption/adoptionrequest.xml | 32 +
.../testxml/zmr/adoption/adoptionresponse.xml | 82 ++
.../testxml/zmr/adresssuche/adresssucherequest.xml | 32 +
.../zmr/adresssuche/adresssucheresponse.xml | 81 ++
.../behoerdenabfragerequestStufe1.xml | 33 +
.../behoerdenabfragerequestStufe2.xml | 27 +
.../behoerdenabfrageresponseStufe1.xml | 76 ++
.../behoerdenabfrageresponseStufe2.xml | 200 +++++
.../bestandsaenderungenrequest.xml | 26 +
.../bestandsaenderungenresponse.xml | 83 ++
.../testxml/zmr/bpabfrage/bpabfragerequest.xml | 31 +
.../testxml/zmr/bpabfrage/bpabfrageresponse.xml | 68 ++
.../zmr/datenabgleich/datenabgleichrequest.xml | 26 +
.../zmr/datenabgleich/datenabgleichresponse.xml | 91 ++
.../zmr/fremdenabfrage/fremdenabfragerequest.xml | 31 +
.../zmr/fremdenabfrage/fremdenabfrageresponse.xml | 45 +
.../gisadressabfrage/gisadressabfragerequest1.xml | 30 +
.../gisadressabfrage/gisadressabfragerequest2.xml | 23 +
.../gisadressabfrage/gisadressabfrageresponse1.xml | 50 ++
.../gisadressabfrage/gisadressabfrageresponse2.xml | 91 ++
.../hauseigentuemerabfragerequest.xml | 35 +
.../hauseigentuemerabfrageresponse.xml | 213 +++++
.../zmr/meldeauskunft/meldeauskunftrequest.xml | 44 +
.../zmr/meldeauskunft/meldeauskunftresponse.xml | 75 ++
.../meldebestaetigung/meldebestaetigungrequest.xml | 26 +
.../meldebestaetigungresponse.xml | 72 ++
.../zmr/militaerbehoerden/blaetternrequest.xml | 27 +
.../wehrpflichtigeAbfragenRequst.xml | 31 +
.../zmr_client/testxml/zmr/natuerlicheperson.xml | 30 +
.../zmr/personaendern/personaendernrequest1.xml | 40 +
.../zmr/personaendern/personaendernrequest2.xml | 42 +
.../zmr/personaendern/personaendernresponse1.xml | 85 ++
.../zmr/personaendern/personaendernresponse2.xml | 110 +++
.../zmr/personanlegen/personanlegenrequest.xml | 56 ++
.../zmr/personanlegen/personanlegenresponse.xml | 118 +++
.../zmr/personenabfrage/blaetternrequest.xml | 27 +
.../zmr/personenabfrage/blaetternresponse.xml | 210 +++++
.../personenabfragedruckrequest.xml | 23 +
.../personenabfragedruckresponse.xml | 51 ++
.../zmr/personenabfrage/personenabfragerequest.xml | 37 +
.../personenabfrage/personenabfrageresponse.xml | 209 +++++
.../testxml/zmr/personensuche/blaetternrequest.xml | 27 +
.../zmr/personensuche/blaetternresponse.xml | 210 +++++
.../zmr/personensuche/personensucherequest.xml | 37 +
.../zmr/personensuche/personensucheresponse.xml | 209 +++++
.../zmr/persontrennen/persontrennenrequest.xml | 37 +
.../persontrennen/persontrennensucherequest.xml | 21 +
.../personzusammenfuehrenrequest.xml | 37 +
.../personzusammenfuehrensucherequest.xml | 22 +
.../wohnsitzabmelden/wohnsitzabmeldenrequest.xml | 40 +
.../wohnsitzabmelden/wohnsitzabmeldenresponse.xml | 77 ++
.../wohnsitzanmelden/wohnsitzanmeldenrequest.xml | 48 ++
.../wohnsitzanmelden/wohnsitzanmeldenresponse.xml | 79 ++
.../wohnsitzummelden/wohnsitzummeldenrequest.xml | 60 ++
.../wohnsitzummelden/wohnsitzummeldenresponse.xml | 124 +++
.../zuzugsbestaetigungrequest.xml | 25 +
.../zuzugsbestaetigungresponse.xml | 64 ++
.../resources/wsdl/zmr_client/wsdl/Messages.xsd | 215 +++++
.../resources/wsdl/zmr_client/wsdl/Service.wsdl | 62 ++
.../main/resources/wsdl/zmr_client/wsdl/secext.xsd | 150 ++++
.../resources/wsdl/zmr_client/wsdl/secext_pvp.xsd | 152 ++++
.../wsdl/zmr_client/xsd/allgemein/Auswertungen.xsd | 200 +++++
.../zmr_client/xsd/allgemein/BasTabelleAbfrage.xsd | 176 ++++
.../xsd/allgemein/Benutzereinstellungen.xsd | 102 +++
.../xsd/allgemein/GeschaeftsprozesseAuflisten.xsd | 64 ++
.../wsdl/zmr_client/xsd/allgemein/Messages.xsd | 27 +
.../xsd/allgemein/Organisationseinstellungen.xsd | 151 ++++
.../wsdl/zmr_client/xsd/allgemein/Service.xsd | 40 +
.../zmr_client/xsd/eingebunden/AbfrageMuster.xsd | 140 +++
.../xsd/eingebunden/AkademischerGradFelder.xsd | 61 ++
.../wsdl/zmr_client/xsd/eingebunden/Blaettern.xsd | 56 ++
.../zmr_client/xsd/eingebunden/DokumentFelder.xsd | 74 ++
.../xsd/eingebunden/EingebundenProxy.xsd | 28 +
.../wsdl/zmr_client/xsd/eingebunden/Entity.xsd | 135 +++
.../zmr_client/xsd/eingebunden/InfoFachlich.xsd | 103 +++
.../zmr_client/xsd/eingebunden/InfoTechnisch.xsd | 103 +++
.../zmr_client/xsd/eingebunden/MeldungFelder.xsd | 283 +++++++
.../zmr_client/xsd/eingebunden/PersonDataZMR.xsd | 741 ++++++++++++++++
.../zmr_client/xsd/eingebunden/PersonExport.xsd | 107 +++
.../zmr_client/xsd/eingebunden/PersonFelder.xsd | 70 ++
.../zmr_client/xsd/eingebunden/Protokollierung.xsd | 496 +++++++++++
.../zmr_client/xsd/eingebunden/SimpleTypes.xsd | 173 ++++
.../zmr_client/xsd/eingebunden/W3C-XMLDSig.xsd | 274 ++++++
.../wsdl/zmr_client/xsd/eingebunden/Workflow.xsd | 200 +++++
.../xsd/eingebunden/gis-schnittstelle.xsd | 171 ++++
.../wsdl/zmr_client/xsd/eingebunden/pvp1.xsd | 174 ++++
.../wsdl/zmr_client/xsd/eingebunden/secext.xsd | 150 ++++
.../wsdl/zmr_client/xsd/eingebunden/soapenv.xsd | 129 +++
.../xsd/zmr/AblaufendeAuskunftssperrenSuche.xsd | 76 ++
.../resources/wsdl/zmr_client/xsd/zmr/Adoption.xsd | 63 ++
.../wsdl/zmr_client/xsd/zmr/Adresssuche.xsd | 128 +++
.../zmr_client/xsd/zmr/Anwendungsintegration.xsd | 97 +++
.../xsd/zmr/AnwendungsintegrationWiederholung.xsd | 117 +++
.../zmr_client/xsd/zmr/AuskunftssperreAendern.xsd | 55 ++
.../wsdl/zmr_client/xsd/zmr/AvisoAendern.xsd | 93 ++
.../wsdl/zmr_client/xsd/zmr/AvisoAnlegen.xsd | 60 ++
.../wsdl/zmr_client/xsd/zmr/AvisoFreigeben.xsd | 69 ++
.../wsdl/zmr_client/xsd/zmr/Avisosuche.xsd | 124 +++
.../wsdl/zmr_client/xsd/zmr/BKMeldeauskunft.xsd | 69 ++
.../wsdl/zmr_client/xsd/zmr/BPKPruefung.xsd | 76 ++
.../wsdl/zmr_client/xsd/zmr/Behoerdenabfrage.xsd | 126 +++
.../xsd/zmr/BehoerdenattributeAendern.xsd | 68 ++
.../zmr_client/xsd/zmr/Bestandsaenderungen.xsd | 140 +++
.../zmr_client/xsd/zmr/BusinesspartnerAnfrage.xsd | 131 +++
.../zmr_client/xsd/zmr/Businesspartnerabfrage.xsd | 94 +++
.../xsd/zmr/BusinesspartnerabfrageErweitert.xsd | 67 ++
.../wsdl/zmr_client/xsd/zmr/Datenabgleich.xsd | 280 ++++++
.../wsdl/zmr_client/xsd/zmr/ErnpAbfrage.xsd | 161 ++++
.../wsdl/zmr_client/xsd/zmr/Fremdenabfrage.xsd | 108 +++
.../wsdl/zmr_client/xsd/zmr/GISAdressabfrage.xsd | 79 ++
.../resources/wsdl/zmr_client/xsd/zmr/GISSuche.xsd | 74 ++
.../zmr_client/xsd/zmr/Gemeindeeinstellungen.xsd | 71 ++
.../xsd/zmr/Gerichtskommissaerabfrage.xsd | 93 ++
.../xsd/zmr/GleichsetzungstabelleWarten.xsd | 185 ++++
.../zmr_client/xsd/zmr/Hauseigentuemerabfrage.xsd | 117 +++
.../wsdl/zmr_client/xsd/zmr/IAPPersonenabfrage.xsd | 120 +++
.../wsdl/zmr_client/xsd/zmr/Meldeauskunft.xsd | 102 +++
.../wsdl/zmr_client/xsd/zmr/Meldebestaetigung.xsd | 127 +++
.../xsd/zmr/MeldebestaetigungenAnfordern.xsd | 55 ++
.../zmr_client/xsd/zmr/MeldungHistKorrigieren.xsd | 112 +++
.../wsdl/zmr_client/xsd/zmr/ORFGISAnforderung.xsd | 65 ++
.../xsd/zmr/ObjektsucheMindestsicherung.xsd | 88 ++
.../xsd/zmr/ObjektsucheSteuerfahndung.xsd | 91 ++
.../wsdl/zmr_client/xsd/zmr/PersonAendern.xsd | 78 ++
.../wsdl/zmr_client/xsd/zmr/PersonAnlegen.xsd | 67 ++
.../wsdl/zmr_client/xsd/zmr/PersonExport.xsd | 74 ++
.../wsdl/zmr_client/xsd/zmr/PersonKorrigieren.xsd | 74 ++
.../wsdl/zmr_client/xsd/zmr/PersonTrennen.xsd | 75 ++
.../zmr_client/xsd/zmr/PersonZusammenfuehren.xsd | 75 ++
.../wsdl/zmr_client/xsd/zmr/PersonenIndex.xsd | 73 ++
.../wsdl/zmr_client/xsd/zmr/Personenabfrage.xsd | 139 +++
.../wsdl/zmr_client/xsd/zmr/Personenlisten.xsd | 131 +++
.../wsdl/zmr_client/xsd/zmr/Personensuche.xsd | 255 ++++++
.../wsdl/zmr_client/xsd/zmr/QKZAuswertung.xsd | 82 ++
.../wsdl/zmr_client/xsd/zmr/QKZBearbeiten.xsd | 71 ++
.../wsdl/zmr_client/xsd/zmr/SZREinzelabfrage.xsd | 85 ++
.../wsdl/zmr_client/xsd/zmr/SZRPersonenbindung.xsd | 84 ++
.../wsdl/zmr_client/xsd/zmr/SZRPersonensuche.xsd | 75 ++
.../wsdl/zmr_client/xsd/zmr/SZRSammelabfrage.xsd | 54 ++
.../wsdl/zmr_client/xsd/zmr/Sperrliste.xsd | 129 +++
.../resources/wsdl/zmr_client/xsd/zmr/Storno.xsd | 146 ++++
.../wsdl/zmr_client/xsd/zmr/SzrAbfrage.xsd | 59 ++
.../wsdl/zmr_client/xsd/zmr/TechnischeAnsicht.xsd | 132 +++
.../zmr_client/xsd/zmr/Ummeldeserviceabfrage.xsd | 79 ++
.../zmr_client/xsd/zmr/WehrpflichtigeAbfragen.xsd | 99 +++
.../wsdl/zmr_client/xsd/zmr/WohnsitzAbmelden.xsd | 68 ++
.../wsdl/zmr_client/xsd/zmr/WohnsitzAnmelden.xsd | 68 ++
.../zmr_client/xsd/zmr/WohnsitzKorrigieren.xsd | 73 ++
.../wsdl/zmr_client/xsd/zmr/WohnsitzUmmelden.xsd | 126 +++
.../wsdl/zmr_client/xsd/zmr/ZMRDatenauszug.xsd | 32 +
.../resources/wsdl/zmr_client/xsd/zmr/ZMRProxy.xsd | 96 +++
.../wsdl/zmr_client/xsd/zmr/ZmrBuergerService.xsd | 373 ++++++++
.../wsdl/zmr_client/xsd/zmr/Zuzugsbestaetigung.xsd | 105 +++
.../xsd/zmr/entities/AkademischerGrad.xsd | 84 ++
.../xsd/zmr/entities/Auskunftssperre.xsd | 95 +++
.../wsdl/zmr_client/xsd/zmr/entities/Aviso.xsd | 176 ++++
.../xsd/zmr/entities/Behoerdenattribute.xsd | 67 ++
.../zmr_client/xsd/zmr/entities/ERnPAnschrift.xsd | 73 ++
.../zmr_client/xsd/zmr/entities/ERnPPerson.xsd | 114 +++
.../xsd/zmr/entities/EidasIdentitaet.xsd | 106 +++
.../xsd/zmr/entities/EidasIdentitaet.xsd.svntmp | 106 +++
.../wsdl/zmr_client/xsd/zmr/entities/Meldung.xsd | 189 +++++
.../wsdl/zmr_client/xsd/zmr/entities/Person.xsd | 233 +++++
.../xsd/zmr/entities/Qualifikationskennzeichen.xsd | 75 ++
.../zmr_client/xsd/zmr/entities/Reisedokument.xsd | 82 ++
.../xsd/zmr/entities/Staatsangehoerigkeit.xsd | 73 ++
.../xsd/zmr/entities/Standarddokument.xsd | 74 ++
235 files changed, 23749 insertions(+), 5042 deletions(-)
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/clients/AbstractSoapClient.java
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/clients/szr/SzrClient.java
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/clients/szr/SzrService.java
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/clients/zmr/IZmrClient.java
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/clients/zmr/ZmrSoapClient.java
delete mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/dao/MergedRegisterSearchResult.java
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/exception/ZmrCommunicationException.java
delete mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/szr/SzrClient.java
delete mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/szr/SzrService.java
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/utils/MatchingTaskUtils.java
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/utils/VersionHolder.java
delete mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/zmr/IZmrClient.java
delete mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/szr_client/SZR-1.1.WSDL
delete mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/szr_client/SZR-1.WSDL
delete mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/szr_client/SZR_v4.0.wsdl
delete mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/szr_client/pvp1.xsd
delete mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/szr_client/pvp19.xsd
delete mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/szr_client/szr.xsd
delete mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/szr_client/szr_ecdsa.xsd
delete mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/szr_client/szr_persondata.xsd
delete mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/szr_client/szr_pvp_sec.xsd
delete mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/szr_client/szr_v4.0-schemas.xml
delete mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/szr_client/szr_v4.0-wsdl.xml
delete mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/szr_client/szr_v4.0.xsd
delete mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/szr_client/szr_xmldsig.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/szr_client/SZR-1.1.WSDL
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/szr_client/SZR-1.WSDL
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/szr_client/SZR_v4.0.wsdl
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/szr_client/pvp1.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/szr_client/pvp19.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/szr_client/szr.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/szr_client/szr_ecdsa.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/szr_client/szr_persondata.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/szr_client/szr_pvp_sec.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/szr_client/szr_v4.0-schemas.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/szr_client/szr_v4.0-wsdl.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/szr_client/szr_v4.0.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/szr_client/szr_xmldsig.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/soapenv.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/ablaufendeauskunfssperren/ablaufendeauskunftssperrenrequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/ablaufendeauskunfssperren/ablaufendeauskunftssperrenresponse.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/ablaufendeauskunfssperren/blaetternrequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/ablaufendeauskunfssperren/blaetternresponse.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/adoption/adoptionrequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/adoption/adoptionresponse.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/adresssuche/adresssucherequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/adresssuche/adresssucheresponse.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/behoerdenabfrage/behoerdenabfragerequestStufe1.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/behoerdenabfrage/behoerdenabfragerequestStufe2.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/behoerdenabfrage/behoerdenabfrageresponseStufe1.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/behoerdenabfrage/behoerdenabfrageresponseStufe2.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/bestandsaenderungen/bestandsaenderungenrequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/bestandsaenderungen/bestandsaenderungenresponse.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/bpabfrage/bpabfragerequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/bpabfrage/bpabfrageresponse.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/datenabgleich/datenabgleichrequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/datenabgleich/datenabgleichresponse.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/fremdenabfrage/fremdenabfragerequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/fremdenabfrage/fremdenabfrageresponse.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/gisadressabfrage/gisadressabfragerequest1.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/gisadressabfrage/gisadressabfragerequest2.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/gisadressabfrage/gisadressabfrageresponse1.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/gisadressabfrage/gisadressabfrageresponse2.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/hauseigentuemerabfrage/hauseigentuemerabfragerequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/hauseigentuemerabfrage/hauseigentuemerabfrageresponse.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/meldeauskunft/meldeauskunftrequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/meldeauskunft/meldeauskunftresponse.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/meldebestaetigung/meldebestaetigungrequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/meldebestaetigung/meldebestaetigungresponse.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/militaerbehoerden/blaetternrequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/militaerbehoerden/wehrpflichtigeAbfragenRequst.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/natuerlicheperson.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/personaendern/personaendernrequest1.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/personaendern/personaendernrequest2.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/personaendern/personaendernresponse1.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/personaendern/personaendernresponse2.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/personanlegen/personanlegenrequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/personanlegen/personanlegenresponse.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/personenabfrage/blaetternrequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/personenabfrage/blaetternresponse.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/personenabfrage/personenabfragedruckrequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/personenabfrage/personenabfragedruckresponse.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/personenabfrage/personenabfragerequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/personenabfrage/personenabfrageresponse.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/personensuche/blaetternrequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/personensuche/blaetternresponse.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/personensuche/personensucherequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/personensuche/personensucheresponse.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/persontrennen/persontrennenrequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/persontrennen/persontrennensucherequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/personzusammenfuehren/personzusammenfuehrenrequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/personzusammenfuehren/personzusammenfuehrensucherequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/wohnsitzabmelden/wohnsitzabmeldenrequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/wohnsitzabmelden/wohnsitzabmeldenresponse.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/wohnsitzanmelden/wohnsitzanmeldenrequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/wohnsitzanmelden/wohnsitzanmeldenresponse.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/wohnsitzummelden/wohnsitzummeldenrequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/wohnsitzummelden/wohnsitzummeldenresponse.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/zuzugsbestaetigung/zuzugsbestaetigungrequest.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/testxml/zmr/zuzugsbestaetigung/zuzugsbestaetigungresponse.xml
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/wsdl/Messages.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/wsdl/Service.wsdl
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/wsdl/secext.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/wsdl/secext_pvp.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/allgemein/Auswertungen.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/allgemein/BasTabelleAbfrage.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/allgemein/Benutzereinstellungen.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/allgemein/GeschaeftsprozesseAuflisten.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/allgemein/Messages.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/allgemein/Organisationseinstellungen.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/allgemein/Service.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/eingebunden/AbfrageMuster.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/eingebunden/AkademischerGradFelder.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/eingebunden/Blaettern.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/eingebunden/DokumentFelder.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/eingebunden/EingebundenProxy.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/eingebunden/Entity.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/eingebunden/InfoFachlich.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/eingebunden/InfoTechnisch.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/eingebunden/MeldungFelder.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/eingebunden/PersonDataZMR.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/eingebunden/PersonExport.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/eingebunden/PersonFelder.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/eingebunden/Protokollierung.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/eingebunden/SimpleTypes.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/eingebunden/W3C-XMLDSig.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/eingebunden/Workflow.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/eingebunden/gis-schnittstelle.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/eingebunden/pvp1.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/eingebunden/secext.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/eingebunden/soapenv.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/AblaufendeAuskunftssperrenSuche.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/Adoption.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/Adresssuche.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/Anwendungsintegration.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/AnwendungsintegrationWiederholung.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/AuskunftssperreAendern.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/AvisoAendern.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/AvisoAnlegen.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/AvisoFreigeben.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/Avisosuche.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/BKMeldeauskunft.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/BPKPruefung.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/Behoerdenabfrage.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/BehoerdenattributeAendern.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/Bestandsaenderungen.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/BusinesspartnerAnfrage.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/Businesspartnerabfrage.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/BusinesspartnerabfrageErweitert.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/Datenabgleich.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/ErnpAbfrage.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/Fremdenabfrage.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/GISAdressabfrage.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/GISSuche.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/Gemeindeeinstellungen.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/Gerichtskommissaerabfrage.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/GleichsetzungstabelleWarten.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/Hauseigentuemerabfrage.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/IAPPersonenabfrage.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/Meldeauskunft.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/Meldebestaetigung.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/MeldebestaetigungenAnfordern.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/MeldungHistKorrigieren.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/ORFGISAnforderung.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/ObjektsucheMindestsicherung.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/ObjektsucheSteuerfahndung.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/PersonAendern.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/PersonAnlegen.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/PersonExport.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/PersonKorrigieren.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/PersonTrennen.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/PersonZusammenfuehren.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/PersonenIndex.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/Personenabfrage.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/Personenlisten.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/Personensuche.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/QKZAuswertung.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/QKZBearbeiten.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/SZREinzelabfrage.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/SZRPersonenbindung.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/SZRPersonensuche.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/SZRSammelabfrage.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/Sperrliste.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/Storno.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/SzrAbfrage.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/TechnischeAnsicht.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/Ummeldeserviceabfrage.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/WehrpflichtigeAbfragen.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/WohnsitzAbmelden.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/WohnsitzAnmelden.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/WohnsitzKorrigieren.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/WohnsitzUmmelden.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/ZMRDatenauszug.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/ZMRProxy.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/ZmrBuergerService.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/Zuzugsbestaetigung.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/entities/AkademischerGrad.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/entities/Auskunftssperre.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/entities/Aviso.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/entities/Behoerdenattribute.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/entities/ERnPAnschrift.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/entities/ERnPPerson.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/entities/EidasIdentitaet.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/entities/EidasIdentitaet.xsd.svntmp
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/entities/Meldung.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/entities/Person.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/entities/Qualifikationskennzeichen.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/entities/Reisedokument.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/entities/Staatsangehoerigkeit.xsd
create mode 100644 eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/zmr_client/xsd/zmr/entities/Standarddokument.xsd
(limited to 'eidas_modules/authmodule-eIDAS-v2/src/main')
diff --git a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/Constants.java b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/Constants.java
index 3a267d29..3e20a132 100644
--- a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/Constants.java
+++ b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/Constants.java
@@ -27,6 +27,9 @@ import at.gv.egiz.eaaf.core.api.data.EaafConstants;
public class Constants {
+ //TODO: should we make it configurable?
+ public static final String MATCHING_INTERNAL_BPK_TARGET = EaafConstants.URN_PREFIX_CDID + "ZP";
+
public static final String ERRORCODE_00 = "module.eidasauth.00";
public static final String DATA_REQUESTERID = "req_requesterId";
@@ -91,6 +94,42 @@ public class Constants {
public static final String FORWARD_METHOD_POST = "POST";
public static final String FORWARD_METHOD_GET = "GET";
+ // ZMR Client configuration properties
+ public static final String CONIG_PROPS_EIDAS_ZMRCLIENT = CONIG_PROPS_EIDAS_PREFIX + ".zmrclient";
+ public static final String CONIG_PROPS_EIDAS_ZMRCLIENT_ENDPOINT = CONIG_PROPS_EIDAS_ZMRCLIENT
+ + ".endpoint";
+ public static final String CONIG_PROPS_EIDAS_ZMRCLIENT_DEBUG_TRACEMESSAGES = CONIG_PROPS_EIDAS_ZMRCLIENT
+ + ".debug.logfullmessages";
+ public static final String CONIG_PROPS_EIDAS_ZMRCLIENT_TIMEOUT_CONNECTION = CONIG_PROPS_EIDAS_ZMRCLIENT
+ + ".timeout.connection";
+ public static final String CONIG_PROPS_EIDAS_ZMRCLIENT_TIMEOUT_RESPONSE = CONIG_PROPS_EIDAS_ZMRCLIENT
+ + ".timeout.response";
+ public static final String CONIG_PROPS_EIDAS_ZMRCLIENT_SSL_KEYSTORE_PATH = CONIG_PROPS_EIDAS_ZMRCLIENT
+ + ".ssl.keyStore.path";
+ public static final String CONIG_PROPS_EIDAS_ZMRCLIENT_SSL_KEYSTORE_PASSWORD = CONIG_PROPS_EIDAS_ZMRCLIENT
+ + ".ssl.keyStore.password";
+ public static final String CONIG_PROPS_EIDAS_ZMRCLIENT_SSL_KEYSTORE_TYPE = CONIG_PROPS_EIDAS_ZMRCLIENT
+ + ".ssl.keyStore.type";
+ public static final String CONIG_PROPS_EIDAS_ZMRCLIENT_SSL_KEYSTORE_NAME = CONIG_PROPS_EIDAS_ZMRCLIENT
+ + ".ssl.keyStore.name";
+ public static final String CONIG_PROPS_EIDAS_ZMRCLIENT_SSL_KEYS_ALIAS = CONIG_PROPS_EIDAS_ZMRCLIENT
+ + ".ssl.key.alias";
+ public static final String CONIG_PROPS_EIDAS_ZMRCLIENT_SSL_KEY_PASSWORD = CONIG_PROPS_EIDAS_ZMRCLIENT
+ + ".ssl.key.password";
+ public static final String CONIG_PROPS_EIDAS_ZMRCLIENT_SSL_TRUSTSTORE_PATH = CONIG_PROPS_EIDAS_ZMRCLIENT
+ + ".ssl.trustStore.path";
+ public static final String CONIG_PROPS_EIDAS_ZMRCLIENT_SSL_TRUSTSTORE_PASSWORD = CONIG_PROPS_EIDAS_ZMRCLIENT
+ + ".ssl.trustStore.password";
+ public static final String CONIG_PROPS_EIDAS_ZMRCLIENT_SSL_TRUSTSTORE_TYPE = CONIG_PROPS_EIDAS_ZMRCLIENT
+ + ".ssl.trustStore.type";
+ public static final String CONIG_PROPS_EIDAS_ZMRCLIENT_SSL_TRUSTSTORE_NAME = CONIG_PROPS_EIDAS_ZMRCLIENT
+ + ".ssl.trustStore.name";
+
+ public static final String CONIG_PROPS_EIDAS_ZMRCLIENT_REQ_ORGANIZATION_NR = CONIG_PROPS_EIDAS_ZMRCLIENT
+ + ".req.organisation.behoerdennr";
+
+
+ // SZR Client configuration properties
public static final String CONIG_PROPS_EIDAS_SZRCLIENT = CONIG_PROPS_EIDAS_PREFIX + ".szrclient";
public static final String CONIG_PROPS_EIDAS_SZRCLIENT_USETESTSERVICE = CONIG_PROPS_EIDAS_SZRCLIENT
+ ".useTestService";
@@ -112,11 +151,23 @@ public class Constants {
+ ".ssl.keyStore.path";
public static final String CONIG_PROPS_EIDAS_SZRCLIENT_SSL_KEYSTORE_PASSWORD = CONIG_PROPS_EIDAS_SZRCLIENT
+ ".ssl.keyStore.password";
+ public static final String CONIG_PROPS_EIDAS_SZRCLIENT_SSL_KEYSTORE_TYPE = CONIG_PROPS_EIDAS_SZRCLIENT
+ + ".ssl.keyStore.type";
+ public static final String CONIG_PROPS_EIDAS_SZRCLIENT_SSL_KEYSTORE_NAME = CONIG_PROPS_EIDAS_SZRCLIENT
+ + ".ssl.keyStore.name";
+ public static final String CONIG_PROPS_EIDAS_SZRCLIENT_SSL_KEYS_ALIAS = CONIG_PROPS_EIDAS_SZRCLIENT
+ + ".ssl.key.alias";
+ public static final String CONIG_PROPS_EIDAS_SZRCLIENT_SSL_KEY_PASSWORD = CONIG_PROPS_EIDAS_SZRCLIENT
+ + ".ssl.key.password";
public static final String CONIG_PROPS_EIDAS_SZRCLIENT_SSL_TRUSTSTORE_PATH = CONIG_PROPS_EIDAS_SZRCLIENT
+ ".ssl.trustStore.path";
public static final String CONIG_PROPS_EIDAS_SZRCLIENT_SSL_TRUSTSTORE_PASSWORD = CONIG_PROPS_EIDAS_SZRCLIENT
+ ".ssl.trustStore.password";
-
+ public static final String CONIG_PROPS_EIDAS_SZRCLIENT_SSL_TRUSTSTORE_TYPE = CONIG_PROPS_EIDAS_SZRCLIENT
+ + ".ssl.trustStore.type";
+ public static final String CONIG_PROPS_EIDAS_SZRCLIENT_SSL_TRUSTSTORE_NAME = CONIG_PROPS_EIDAS_SZRCLIENT
+ + ".ssl.trustStore.name";
+
public static final String CONIG_PROPS_EIDAS_SZRCLIENT_PARAMS_EDOCUMENTTYPE = CONIG_PROPS_EIDAS_SZRCLIENT
+ ".params.documenttype";
public static final String CONIG_PROPS_EIDAS_SZRCLIENT_PARAMS_VKZ = CONIG_PROPS_EIDAS_SZRCLIENT
@@ -153,7 +204,7 @@ public class Constants {
// eIDAS request parameters
public static final String eIDAS_REQ_NAMEID_FORMAT = "urn:oasis:names:tc:SAML:2.0:nameid-format:persistent";
- // eIDAS attribute names
+ // eIDAS attribute names
public static final String eIDAS_ATTR_PERSONALIDENTIFIER = "PersonIdentifier";
public static final String eIDAS_ATTR_DATEOFBIRTH = "DateOfBirth";
public static final String eIDAS_ATTR_CURRENTGIVENNAME = "FirstName";
@@ -166,6 +217,15 @@ public class Constants {
public static final String eIDAS_ATTR_LEGALPERSONIDENTIFIER = "LegalPersonIdentifier";
public static final String eIDAS_ATTR_LEGALNAME = "LegalName";
+
+ //eIDAS attribute URN
+ public static final String eIDAS_ATTRURN_PREFIX = "http://eidas.europa.eu/attributes/";
+ public static final String eIDAS_ATTRURN_PREFIX_NATURAL = eIDAS_ATTRURN_PREFIX + "naturalperson/";
+
+ public static final String eIDAS_ATTRURN_PERSONALIDENTIFIER =
+ eIDAS_ATTRURN_PREFIX_NATURAL + eIDAS_ATTR_PERSONALIDENTIFIER;
+
+
public static final String eIDAS_REQ_PARAM_SECTOR_PUBLIC = "public";
public static final String eIDAS_REQ_PARAM_SECTOR_PRIVATE = "private";
diff --git a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/clients/AbstractSoapClient.java b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/clients/AbstractSoapClient.java
new file mode 100644
index 00000000..bfdf3991
--- /dev/null
+++ b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/clients/AbstractSoapClient.java
@@ -0,0 +1,197 @@
+package at.asitplus.eidas.specific.modules.auth.eidas.v2.clients;
+
+import java.security.KeyManagementException;
+import java.security.KeyStore;
+import java.security.NoSuchAlgorithmException;
+import java.security.Provider;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import javax.net.ssl.SSLContext;
+import javax.xml.ws.BindingProvider;
+import javax.xml.ws.handler.Handler;
+
+import org.apache.commons.lang3.StringUtils;
+import org.apache.cxf.configuration.jsse.TLSClientParameters;
+import org.apache.cxf.endpoint.Client;
+import org.apache.cxf.frontend.ClientProxy;
+import org.apache.cxf.jaxws.DispatchImpl;
+import org.apache.cxf.transport.http.HTTPConduit;
+import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
+import org.apache.http.ssl.SSLContextBuilder;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.lang.Nullable;
+
+import at.asitplus.eidas.specific.modules.auth.eidas.v2.utils.LoggingHandler;
+import at.gv.egiz.eaaf.core.api.idp.IConfiguration;
+import at.gv.egiz.eaaf.core.exceptions.EaafConfigurationException;
+import at.gv.egiz.eaaf.core.exceptions.EaafException;
+import at.gv.egiz.eaaf.core.impl.credential.EaafKeyStoreFactory;
+import at.gv.egiz.eaaf.core.impl.credential.KeyStoreConfiguration;
+import at.gv.egiz.eaaf.core.impl.credential.KeyStoreConfiguration.KeyStoreType;
+import at.gv.egiz.eaaf.core.impl.data.Pair;
+import at.gv.egiz.eaaf.core.impl.http.HttpUtils;
+import lombok.Builder;
+import lombok.Getter;
+import lombok.extern.slf4j.Slf4j;
+
+@Slf4j
+public class AbstractSoapClient {
+
+ @Autowired
+ protected IConfiguration basicConfig;
+ @Autowired
+ EaafKeyStoreFactory keyStoreFactory;
+
+ @Builder
+ @Getter
+ public static class HttpClientConfig {
+
+ private final String clientName;
+
+ private final String clientUrl;
+ private final String clientType;
+
+ private final String connectionTimeout;
+ private final String responseTimeout;
+
+ private final KeyStoreConfiguration keyStoreConfig;
+ private final String keyAlias;
+ private final String keyPassword;
+
+ private final KeyStoreConfiguration trustStoreConfig;
+
+ @Builder.Default
+ private final boolean trustAll = false;
+
+ }
+
+ /**
+ * Build a validated KeyStore Configuration-Object from configuration keys.
+ *
+ * @param keyStoreTypeKey Configuration key for type
+ * @param keyStorePathKey Configuration key for path
+ * @param keyStorePasswordKey Configuration key for password
+ * @param keyStoreNameKey Configuration key for name
+ * @param friendlyName Friendlyname for logging and errorhandling
+ * @return Valid KeyStore configuration or null
if no type was
+ * defined
+ * @throws EaafConfigurationException In case of validation error
+ */
+ @Nullable
+ protected KeyStoreConfiguration buildKeyStoreConfiguration(String keyStoreTypeKey, String keyStorePathKey,
+ String keyStorePasswordKey, String keyStoreNameKey, String friendlyName)
+ throws EaafConfigurationException {
+ if (StringUtils.isNotEmpty(basicConfig.getBasicConfiguration(keyStoreTypeKey))) {
+ final KeyStoreConfiguration config = new KeyStoreConfiguration();
+ config.setFriendlyName(friendlyName);
+ config.setKeyStoreType(basicConfig.getBasicConfiguration(keyStoreTypeKey, KeyStoreType.PKCS12.name()));
+ config.setKeyStoreName(basicConfig.getBasicConfiguration(keyStoreNameKey));
+ config.setSoftKeyStoreFilePath(basicConfig.getBasicConfiguration(keyStorePathKey));
+ config.setSoftKeyStorePassword(basicConfig.getBasicConfiguration(keyStorePasswordKey));
+
+ // validate keystore configuration
+ config.validate();
+
+ return config;
+
+ } else {
+ return null;
+
+ }
+
+ }
+
+ protected void injectHttpClient(Object raw, HttpClientConfig config) {
+ // extract client from implementation
+ Client client;
+ if (raw instanceof DispatchImpl>) {
+ client = ((DispatchImpl>) raw).getClient();
+ } else if (raw instanceof Client) {
+ client = ClientProxy.getClient(raw);
+ } else {
+ throw new RuntimeException("SOAP Client for SZR connection is of UNSUPPORTED type: " + raw.getClass()
+ .getName());
+ }
+
+ // set basic connection policies
+ final HTTPConduit http = (HTTPConduit) client.getConduit();
+
+ // set timeout policy
+ final HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
+ httpClientPolicy.setConnectionTimeout(Integer.parseInt(config.getConnectionTimeout()) * 1000L);
+ httpClientPolicy.setReceiveTimeout(Integer.parseInt(config.getResponseTimeout()) * 1000L);
+ http.setClient(httpClientPolicy);
+
+ // inject SSL context in case of https
+ if (config.getClientUrl().toLowerCase().startsWith("https")) {
+ try {
+ log.debug("Adding SSLContext to client: " + config.getClientType() + " ... ");
+
+ final TLSClientParameters tlsParams = new TLSClientParameters();
+ if (config.getKeyStoreConfig() != null) {
+ final SSLContext sslContext = HttpUtils.buildSslContextWithSslClientAuthentication(
+ keyStoreFactory.buildNewKeyStore(config.getKeyStoreConfig()),
+ config.getKeyAlias(),
+ config.getKeyPassword(),
+ loadTrustStore(config.getTrustStoreConfig(), config.getClientName()),
+ config.isTrustAll(),
+ config.getClientName());
+ tlsParams.setSSLSocketFactory(sslContext.getSocketFactory());
+
+ } else {
+ log.debug(
+ "No KeyStore for SSL Client Auth. found. Initializing SSLContext for: {} without authentication ... ",
+ config.getClientName());
+ tlsParams.setSSLSocketFactory(SSLContextBuilder.create().build().getSocketFactory());
+
+ }
+
+ http.setTlsClientParameters(tlsParams);
+ log.info("SSLContext initialized for client: " + config.getClientType());
+
+ } catch (EaafException | KeyManagementException | NoSuchAlgorithmException e) {
+ log.error("SSLContext initialization FAILED.", e);
+ throw new RuntimeException("SSLContext initialization FAILED.", e);
+
+ }
+ }
+ }
+
+ private Pair loadTrustStore(KeyStoreConfiguration trustStoreConfig, String friendlyName)
+ throws EaafException {
+ if (trustStoreConfig != null) {
+ log.info("Build custom SSL truststore for: {}", friendlyName);
+ return keyStoreFactory.buildNewKeyStore(trustStoreConfig);
+
+ } else {
+ log.info("Use default SSL truststore for: {}", friendlyName);
+ return null;
+
+ }
+
+ }
+
+ protected void injectBindingProvider(BindingProvider bindingProvider, String clientType, String szrUrl,
+ boolean enableTraceLogging) {
+ final Map requestContext = bindingProvider.getRequestContext();
+ requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, szrUrl);
+
+ log.trace("Adding JAX-WS request/response trace handler to client: " + clientType);
+ List handlerList = bindingProvider.getBinding().getHandlerChain();
+ if (handlerList == null) {
+ handlerList = new ArrayList<>();
+ bindingProvider.getBinding().setHandlerChain(handlerList);
+
+ }
+
+ // add logging handler to trace messages if required
+ if (enableTraceLogging) {
+ final LoggingHandler loggingHandler = new LoggingHandler();
+ handlerList.add(loggingHandler);
+
+ }
+ bindingProvider.getBinding().setHandlerChain(handlerList);
+ }
+}
diff --git a/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/clients/szr/SzrClient.java b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/clients/szr/SzrClient.java
new file mode 100644
index 00000000..2230f30a
--- /dev/null
+++ b/eidas_modules/authmodule-eIDAS-v2/src/main/java/at/asitplus/eidas/specific/modules/auth/eidas/v2/clients/szr/SzrClient.java
@@ -0,0 +1,469 @@
+/*
+ * Copyright 2018 A-SIT Plus GmbH
+ * AT-specific eIDAS Connector has been developed in a cooperation between EGIZ,
+ * A-SIT Plus GmbH, A-SIT, and Graz University of Technology.
+ *
+ * Licensed under the EUPL, Version 1.2 or - as soon they will be approved by
+ * the European Commission - subsequent versions of the EUPL (the "License");
+ * You may not use this work except in compliance with the License.
+ * You may obtain a copy of the License at:
+ * https://joinup.ec.europa.eu/news/understanding-eupl-v12
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * This product combines work with different licenses. See the "NOTICE" text
+ * file for details on the various modules and licenses.
+ * The "NOTICE" text file is part of the distribution. Any derivative works
+ * that you distribute must include a readable copy of the "NOTICE" text file.
+ */
+
+package at.asitplus.eidas.specific.modules.auth.eidas.v2.clients.szr;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.net.URL;
+import java.nio.charset.StandardCharsets;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.PostConstruct;
+import javax.xml.XMLConstants;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.Marshaller;
+import javax.xml.namespace.QName;
+import javax.xml.transform.Source;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.stream.StreamResult;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.ws.BindingProvider;
+import javax.xml.ws.Dispatch;
+
+import org.apache.commons.lang3.StringUtils;
+import org.apache.xpath.XPathAPI;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.stereotype.Service;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import at.asitplus.eidas.specific.modules.auth.eidas.v2.Constants;
+import at.asitplus.eidas.specific.modules.auth.eidas.v2.clients.AbstractSoapClient;
+import at.asitplus.eidas.specific.modules.auth.eidas.v2.clients.AbstractSoapClient.HttpClientConfig.HttpClientConfigBuilder;
+import at.asitplus.eidas.specific.modules.auth.eidas.v2.dao.SimpleEidasData;
+import at.asitplus.eidas.specific.modules.auth.eidas.v2.exception.SzrCommunicationException;
+import at.gv.e_government.reference.namespace.persondata._20020228.AlternativeNameType;
+import at.gv.e_government.reference.namespace.persondata._20020228.PersonNameType;
+import at.gv.e_government.reference.namespace.persondata._20020228.PhysicalPersonType;
+import at.gv.egiz.eaaf.core.api.data.PvpAttributeDefinitions;
+import at.gv.egiz.eaaf.core.api.data.XmlNamespaceConstants;
+import at.gv.egiz.eaaf.core.exceptions.EaafConfigurationException;
+import at.gv.egiz.eaaf.core.impl.utils.DomUtils;
+import szrservices.GetBPK;
+import szrservices.GetBPKResponse;
+import szrservices.GetIdentityLinkEidas;
+import szrservices.GetIdentityLinkEidasResponse;
+import szrservices.IdentityLinkType;
+import szrservices.JwsHeaderParam;
+import szrservices.ObjectFactory;
+import szrservices.PersonInfoType;
+import szrservices.SZR;
+import szrservices.SZRException_Exception;
+import szrservices.SignContent;
+import szrservices.SignContentEntry;
+import szrservices.SignContentResponseType;
+import szrservices.TravelDocumentType;
+
+
+@Service("SZRClientForeIDAS")
+public class SzrClient extends AbstractSoapClient {
+ private static final Logger log = LoggerFactory.getLogger(SzrClient.class);
+
+ private static final String CLIENT_DEFAULT = "DefaultClient";
+ private static final String CLIENT_RAW = "RawClient";
+
+ private static final String ATTR_NAME_VSZ = "urn:eidgvat:attributes.vsz.value";
+ private static final String ATTR_NAME_PUBKEYS = "urn:eidgvat:attributes.user.pubkeys";
+ private static final String ATTR_NAME_STATUS = "urn:eidgvat:attributes.eid.status";
+ private static final String KEY_BC_BIND = "bcBindReq";
+ private static final String JOSE_HEADER_USERCERTPINNING_TYPE = "urn:at.gv.eid:bindtype";
+ private static final String JOSE_HEADER_USERCERTPINNING_EIDASBIND = "urn:at.gv.eid:eidasBind";
+ public static final String ATTR_NAME_MDS = "urn:eidgvat:mds";
+
+ // client for anything, without identitylink
+ private SZR szr = null;
+
+ // RAW client is needed for identitylink
+ private Dispatch