diff options
| author | Thomas <> | 2022-02-02 18:01:06 +0100 | 
|---|---|---|
| committer | Thomas <> | 2022-02-08 09:35:52 +0100 | 
| commit | feaa0a61527f0eb29ce33fb9e1aa1ddb0703779d (patch) | |
| tree | b925c5ba0b9a7fac4aa5f25a34b78c18f78eca51 /eidas_modules | |
| parent | b81ef7a782278cb941d3b424ccbe1ccc976c54f3 (diff) | |
| download | National_eIDAS_Gateway-feaa0a61527f0eb29ce33fb9e1aa1ddb0703779d.tar.gz National_eIDAS_Gateway-feaa0a61527f0eb29ce33fb9e1aa1ddb0703779d.tar.bz2 National_eIDAS_Gateway-feaa0a61527f0eb29ce33fb9e1aa1ddb0703779d.zip | |
feature(ernp): generate ERnP client from openAPI specification
Diffstat (limited to 'eidas_modules')
| -rw-r--r-- | eidas_modules/authmodule-eIDAS-v2/pom.xml | 48 | ||||
| -rw-r--r-- | eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/ernp_client/openapi.json | 1886 | 
2 files changed, 1933 insertions, 1 deletions
| diff --git a/eidas_modules/authmodule-eIDAS-v2/pom.xml b/eidas_modules/authmodule-eIDAS-v2/pom.xml index 5a24b67f..3ee16b0c 100644 --- a/eidas_modules/authmodule-eIDAS-v2/pom.xml +++ b/eidas_modules/authmodule-eIDAS-v2/pom.xml @@ -145,6 +145,16 @@        <scope>compile</scope>      </dependency>      <dependency> +      <groupId>org.openapitools</groupId> +      <artifactId>jackson-databind-nullable</artifactId> +    </dependency> +     +    <dependency> +      <groupId>io.swagger.parser.v3</groupId> +      <artifactId>swagger-parser</artifactId> +    </dependency> +     +    <dependency>        <groupId>org.bitbucket.b_c</groupId>        <artifactId>jose4j</artifactId>      </dependency> @@ -229,6 +239,9 @@        <resource>          <directory>target/generated-sources/cxf</directory>        </resource> +      <resource> +        <directory>target/generated-sources/swagger</directory> +      </resource>            </resources>      <plugins> @@ -262,7 +275,7 @@          </dependencies>          <executions>            <execution> -            <id>generate-sources</id> +            <id>generate-sources-soap</id>              <phase>generate-sources</phase>              <configuration>                <sourceRoot>${project.build.directory}/generated/cxf</sourceRoot> @@ -303,6 +316,39 @@        </plugin>        <plugin> +        <groupId>org.openapitools</groupId> +        <artifactId>openapi-generator-maven-plugin</artifactId> +        <executions> +          <execution> +            <id>generate-sources-json</id> +            <phase>generate-sources</phase> +            <configuration> +              <skip>false</skip> +              <skipOverwrite>false</skipOverwrite> +              <inputSpec>${project.basedir}/src/main/resources/wsdl/ernp_client/openapi.json</inputSpec> +              <generatorName>java</generatorName> +              <output>${project.build.directory}/generated/swagger</output> +              <apiPackage>at.asitplus.eidas.specific.modules.auth.eidas.v2.dao.ernp.api</apiPackage> +              <modelPackage>at.asitplus.eidas.specific.modules.auth.eidas.v2.dao.ernp.model</modelPackage> +              <invokerPackage>at.asitplus.eidas.specific.modules.auth.eidas.v2.dao.ernp.invoker</invokerPackage> +              <configOptions> +                <configPackage>at.asitplus.eidas.specific.modules.auth.eidas.v2.clients.ernp</configPackage> +                <delegatePattern>true</delegatePattern> +                <basePackage>at.asitplus.eidas.specific.modules.auth.eidas.v2</basePackage> +                <java8>true</java8> +                <dateLibrary>java8</dateLibrary> +                <serializationLibrary>jackson</serializationLibrary> +                <library>resttemplate</library> +              </configOptions> +            </configuration> +            <goals> +              <goal>generate</goal> +            </goals>             +          </execution> +        </executions> +      </plugin> + +      <plugin>          <groupId>com.github.spotbugs</groupId>          <artifactId>spotbugs-maven-plugin</artifactId>          <version>${spotbugs-maven-plugin.version}</version> 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 new file mode 100644 index 00000000..c8276f3a --- /dev/null +++ b/eidas_modules/authmodule-eIDAS-v2/src/main/resources/wsdl/ernp_client/openapi.json @@ -0,0 +1,1886 @@ +{ +  "openapi" : "3.0.1", +  "info" : { +    "title" : "ERNP", +    "version" : "1.0.0" +  }, +  "servers" : [ { +    "url" : "https://stportal.bmi.intra.gv.at/at.gv.bmi.erpsrv-p/srv/rest/", +    "description" : "Produktion", +    "variables" : { } +  }, { +    "url" : "https://stportal.bmi.intra.gv.at/at.gv.bmi.erpsrv-e/srv/rest/", +    "description" : "Entwicklung", +    "variables" : { } +  }, { +    "url" : "https://stportal.bmi.intra.gv.at/at.gv.bmi.erpsrv-t/srv/rest/", +    "description" : "Interne Test", +    "variables" : { } +  }, { +    "url" : "https://stportal.bmi.intra.gv.at/at.gv.bmi.erpsrv-a/srv/rest/", +    "description" : "Externe Test", +    "variables" : { } +  }, { +    "url" : "https://stportal.bmi.intra.gv.at/at.gv.bmi.erpsrv-b/srv/rest/", +    "description" : "Businespartner Test", +    "variables" : { } +  }, { +    "url" : "http://localhost:29200/at.gv.bmi.erpv01-d/srv/rest/", +    "description" : "Lokal", +    "variables" : { } +  }, { +    "url" : "http://localhost:29200/at.gv.bmi.erpv01-e/srv/rest/", +    "description" : "Entwicklung (kein Portal)", +    "variables" : { } +  }, { +    "url" : "http://localhost:29200/at.gv.bmi.erpv01-t/srv/rest/", +    "description" : "Interne Test (kein Portal)", +    "variables" : { } +  }, { +    "url" : "http://localhost:29200/at.gv.bmi.erpv01-a/srv/rest/", +    "description" : "Externe Test (kein Portal)", +    "variables" : { } +  }, { +    "url" : "http://localhost:29200/at.gv.bmi.erpv11-a/srv/rest/", +    "description" : "Businespartner Test (kein Portal)", +    "variables" : { } +  } ], +  "paths" : { +    "/eidas/person/aendern" : { +      "post" : { +        "operationId" : "aendern", +        "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 vereinfache)", +          "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/xml" : { +              "schema" : { +                "$ref" : "#/components/schemas/PersonAendern" +              } +            } +          } +        }, +        "responses" : { +          "default" : { +            "description" : "Erfolgreicher Response hat Status 200 wenn Responsepayload vorhanden, sonst 204", +            "content" : { +              "application/xml" : { +                "schema" : { +                  "$ref" : "#/components/schemas/AendernResponse" +                } +              } +            } +          }, +          "4XX" : { +            "description" : "Client Fehler (kann vom Client behoben werden)", +            "content" : { +              "application/xml" : { +                "schema" : { +                  "$ref" : "#/components/schemas/Fault" +                } +              } +            } +          }, +          "5XX" : { +            "description" : "Server Fehler (normalerweise nicht vom Client behebbar)", +            "content" : { +              "application/xml" : { +                "schema" : { +                  "$ref" : "#/components/schemas/Fault" +                } +              } +            } +          } +        } +      } +    }, +    "/eidas/person/anlegen" : { +      "post" : { +        "operationId" : "anlegen", +        "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 vereinfache)", +          "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/xml" : { +              "schema" : { +                "$ref" : "#/components/schemas/PersonAnlegen" +              } +            } +          } +        }, +        "responses" : { +          "default" : { +            "description" : "Erfolgreicher Response hat Status 200 wenn Responsepayload vorhanden, sonst 204", +            "content" : { +              "application/xml" : { +                "schema" : { +                  "$ref" : "#/components/schemas/AnlegenResponse" +                } +              } +            } +          }, +          "4XX" : { +            "description" : "Client Fehler (kann vom Client behoben werden)", +            "content" : { +              "application/xml" : { +                "schema" : { +                  "$ref" : "#/components/schemas/Fault" +                } +              } +            } +          }, +          "5XX" : { +            "description" : "Server Fehler (normalerweise nicht vom Client behebbar)", +            "content" : { +              "application/xml" : { +                "schema" : { +                  "$ref" : "#/components/schemas/Fault" +                } +              } +            } +          } +        } +      } +    }, +    "/eidas/person/suchen" : { +      "post" : { +        "operationId" : "suchen", +        "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 vereinfache)", +          "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/xml" : { +              "schema" : { +                "$ref" : "#/components/schemas/PersonSuchen" +              } +            } +          } +        }, +        "responses" : { +          "default" : { +            "description" : "Erfolgreicher Response hat Status 200 wenn Responsepayload vorhanden, sonst 204", +            "content" : { +              "application/xml" : { +                "schema" : { +                  "$ref" : "#/components/schemas/SuchenResponse" +                } +              } +            } +          }, +          "4XX" : { +            "description" : "Client Fehler (kann vom Client behoben werden)", +            "content" : { +              "application/xml" : { +                "schema" : { +                  "$ref" : "#/components/schemas/Fault" +                } +              } +            } +          }, +          "5XX" : { +            "description" : "Server Fehler (normalerweise nicht vom Client behebbar)", +            "content" : { +              "application/xml" : { +                "schema" : { +                  "$ref" : "#/components/schemas/Fault" +                } +              } +            } +          } +        } +      } +    } +  }, +  "components" : { +    "schemas" : { +      "Fault" : { +        "required" : [ "message" ], +        "type" : "object", +        "properties" : { +          "message" : { +            "type" : "string", +            "xml" : { +              "name" : "Message" +            } +          }, +          "faultDetails" : { +            "$ref" : "#/components/schemas/FaultDetails" +          } +        }, +        "xml" : { +          "name" : "Fault" +        } +      }, +      "FaultDetails" : { +        "required" : [ "fault" ], +        "type" : "object", +        "properties" : { +          "faultNumber" : { +            "type" : "integer", +            "format" : "int32", +            "xml" : { +              "name" : "FaultNumber" +            } +          }, +          "fault" : { +            "type" : "array", +            "xml" : { +              "name" : "Fault" +            }, +            "items" : { +              "$ref" : "#/components/schemas/FaultDetailsEntry" +            } +          } +        } +      }, +      "FaultDetailsEntry" : { +        "type" : "object", +        "properties" : { +          "key" : { +            "type" : "string", +            "xml" : { +              "attribute" : true +            } +          }, +          "message" : { +            "type" : "string", +            "xml" : { +              "attribute" : true +            } +          } +        } +      }, +      "AendernResponse" : { +        "required" : [ "person" ], +        "type" : "object", +        "properties" : { +          "person" : { +            "$ref" : "#/components/schemas/Person" +          } +        }, +        "xml" : { +          "name" : "AendernResponse" +        } +      }, +      "AkademischerGrad" : { +        "required" : [ "ebene", "kurzerName", "langerName", "stellung" ], +        "type" : "object", +        "properties" : { +          "entityId" : { +            "type" : "string", +            "xml" : { +              "attribute" : true +            } +          }, +          "gueltigAb" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "attribute" : true +            } +          }, +          "gueltigBis" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "attribute" : true +            } +          }, +          "ausgestelltVon" : { +            "$ref" : "#/components/schemas/AusgestelltVon" +          }, +          "ebene" : { +            "type" : "string", +            "xml" : { +              "name" : "Ebene" +            }, +            "enum" : [ "0", "1", "2", "2/3", "3" ] +          }, +          "stellung" : { +            "type" : "string", +            "xml" : { +              "name" : "Stellung" +            }, +            "enum" : [ "Vorangestellt", "Nachgestellt" ] +          }, +          "langerName" : { +            "type" : "string", +            "xml" : { +              "name" : "LangerName" +            } +          }, +          "kurzerName" : { +            "type" : "string", +            "xml" : { +              "name" : "KurzerName" +            } +          } +        } +      }, +      "Anschrift" : { +        "required" : [ "staat", "strasse", "type" ], +        "type" : "object", +        "properties" : { +          "entityId" : { +            "type" : "string", +            "xml" : { +              "attribute" : true +            } +          }, +          "gueltigAb" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "attribute" : true +            } +          }, +          "gueltigBis" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "attribute" : true +            } +          }, +          "staat" : { +            "$ref" : "#/components/schemas/Staat" +          }, +          "gemeinde" : { +            "type" : "string", +            "xml" : { +              "name" : "Gemeinde" +            } +          }, +          "strasse" : { +            "type" : "string", +            "xml" : { +              "name" : "Strasse" +            } +          }, +          "postleitzahl" : { +            "type" : "string", +            "xml" : { +              "name" : "Postleitzahl" +            } +          }, +          "hausnummer" : { +            "type" : "string", +            "xml" : { +              "name" : "Hausnummer" +            } +          }, +          "adresszusatz" : { +            "type" : "string", +            "xml" : { +              "name" : "Adresszusatz" +            } +          }, +          "stiege" : { +            "type" : "string", +            "xml" : { +              "name" : "Stiege" +            } +          }, +          "tuer" : { +            "type" : "string", +            "xml" : { +              "name" : "Tuer" +            } +          }, +          "kontaktinformationen" : { +            "$ref" : "#/components/schemas/Kontaktinformationen" +          }, +          "type" : { +            "type" : "string" +          } +        }, +        "discriminator" : { +          "propertyName" : "type" +        } +      }, +      "AnschriftInland" : { +        "required" : [ "gemeinde", "hausnummer", "ort", "postleitzahl", "staat", "strasse" ], +        "type" : "object", +        "allOf" : [ { +          "$ref" : "#/components/schemas/Anschrift" +        }, { +          "type" : "object", +          "properties" : { +            "adressstatus" : { +              "type" : "string", +              "xml" : { +                "name" : "Adressstatus" +              } +            }, +            "ort" : { +              "type" : "string", +              "xml" : { +                "name" : "Ort" +              } +            }, +            "ortZweisprachig" : { +              "type" : "string", +              "xml" : { +                "name" : "OrtZweisprachig" +              } +            }, +            "postort" : { +              "type" : "string", +              "xml" : { +                "name" : "Postort" +              } +            }, +            "codes" : { +              "$ref" : "#/components/schemas/Anschriftcodes" +            }, +            "auskunftssperre" : { +              "type" : "boolean", +              "xml" : { +                "name" : "Auskunftssperre" +              } +            }, +            "wohnsitzqualitaet" : { +              "type" : "string", +              "xml" : { +                "name" : "Wohnsitzqualitaet" +              }, +              "enum" : [ "H", "N", "O" ] +            } +          } +        } ] +      }, +      "AnschriftInlandAgs" : { +        "required" : [ "gemeinde", "hausnummer", "ort", "postleitzahl", "staat", "strasse" ], +        "type" : "object", +        "allOf" : [ { +          "$ref" : "#/components/schemas/Anschrift" +        }, { +          "type" : "object", +          "properties" : { +            "adressstatus" : { +              "type" : "string", +              "xml" : { +                "name" : "Adressstatus" +              } +            }, +            "ort" : { +              "type" : "string", +              "xml" : { +                "name" : "Ort" +              } +            }, +            "ortZweisprachig" : { +              "type" : "string", +              "xml" : { +                "name" : "OrtZweisprachig" +              } +            }, +            "postort" : { +              "type" : "string", +              "xml" : { +                "name" : "Postort" +              } +            }, +            "codes" : { +              "$ref" : "#/components/schemas/Anschriftcodes" +            }, +            "auskunftssperre" : { +              "type" : "boolean", +              "xml" : { +                "name" : "Auskunftssperre" +              } +            }, +            "wohnsitzqualitaet" : { +              "type" : "string", +              "xml" : { +                "name" : "Wohnsitzqualitaet" +              }, +              "enum" : [ "H", "N", "O" ] +            }, +            "detailgrad" : { +              "type" : "string", +              "xml" : { +                "name" : "Detailgrad" +              } +            }, +            "nutzungsartCode" : { +              "type" : "string", +              "xml" : { +                "name" : "NutzungsartCode" +              } +            }, +            "gebaeudeeigenschaft" : { +              "type" : "string", +              "xml" : { +                "name" : "Gebaeudeeigenschaft" +              } +            } +          } +        } ] +      }, +      "Anschriftcodes" : { +        "type" : "object", +        "properties" : { +          "adresscode" : { +            "type" : "string", +            "xml" : { +              "name" : "Adresscode", +              "attribute" : true +            } +          }, +          "subcode" : { +            "type" : "string", +            "xml" : { +              "name" : "Subcode", +              "attribute" : true +            } +          }, +          "ortskennziffer" : { +            "type" : "string", +            "xml" : { +              "name" : "Ortskennziffer", +              "attribute" : true +            } +          }, +          "strassenkennziffer" : { +            "type" : "string", +            "xml" : { +              "name" : "Strassenkennziffer", +              "attribute" : true +            } +          }, +          "objektnummer" : { +            "type" : "string", +            "xml" : { +              "name" : "Objektnummer", +              "attribute" : true +            } +          }, +          "nutzungseinheitlaufnummer" : { +            "type" : "string", +            "xml" : { +              "name" : "Nutzungseinheitlaufnummer", +              "attribute" : true +            } +          }, +          "adrRefkey" : { +            "type" : "string", +            "xml" : { +              "name" : "AdrRefkey", +              "attribute" : true +            } +          }, +          "gbrRefkey" : { +            "type" : "string", +            "xml" : { +              "name" : "GbrRefkey", +              "attribute" : true +            } +          }, +          "gemeindekennziffer" : { +            "type" : "string", +            "xml" : { +              "name" : "Gemeindekennziffer", +              "attribute" : true +            } +          } +        } +      }, +      "AusgestelltVon" : { +        "required" : [ "behoerde", "datum", "staat" ], +        "type" : "object", +        "properties" : { +          "datum" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "name" : "Datum" +            } +          }, +          "behoerde" : { +            "type" : "string", +            "xml" : { +              "name" : "Behoerde" +            } +          }, +          "staat" : { +            "$ref" : "#/components/schemas/Staat" +          } +        } +      }, +      "Benutzer" : { +        "required" : [ "benutzer" ], +        "type" : "object", +        "properties" : { +          "benutzer" : { +            "type" : "string", +            "xml" : { +              "attribute" : true +            } +          }, +          "behoerdenkennzeichen" : { +            "type" : "string", +            "xml" : { +              "attribute" : true +            } +          } +        } +      }, +      "Eidas" : { +        "type" : "object", +        "properties" : { +          "entityId" : { +            "type" : "string", +            "xml" : { +              "attribute" : true +            } +          }, +          "gueltigAb" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "attribute" : true +            } +          }, +          "gueltigBis" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "attribute" : true +            } +          }, +          "art" : { +            "type" : "string", +            "xml" : { +              "name" : "Art" +            } +          }, +          "wert" : { +            "type" : "string", +            "xml" : { +              "name" : "Wert" +            } +          }, +          "ausstellDatum" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "name" : "AusstellDatum" +            } +          }, +          "ablaufDatum" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "name" : "AblaufDatum" +            } +          }, +          "ausstellBehoerde" : { +            "type" : "string", +            "xml" : { +              "name" : "AusstellBehoerde" +            } +          }, +          "staatscode2" : { +            "type" : "string", +            "xml" : { +              "name" : "Staatscode2" +            } +          }, +          "image" : { +            "type" : "array", +            "xml" : { +              "name" : "Image" +            }, +            "items" : { +              "type" : "string", +              "format" : "byte", +              "xml" : { +                "name" : "Image" +              } +            } +          } +        } +      }, +      "Kontaktinformationen" : { +        "type" : "object", +        "properties" : { +          "firmenname1" : { +            "type" : "string", +            "xml" : { +              "name" : "Firmenname1" +            } +          }, +          "firmenname2" : { +            "type" : "string", +            "xml" : { +              "name" : "Firmenname2" +            } +          }, +          "ansprechpartner" : { +            "type" : "string", +            "xml" : { +              "name" : "Ansprechpartner" +            } +          }, +          "telefon" : { +            "type" : "string", +            "xml" : { +              "name" : "Telefon" +            } +          }, +          "mobil" : { +            "type" : "string", +            "xml" : { +              "name" : "Mobil" +            } +          }, +          "fax" : { +            "type" : "string", +            "xml" : { +              "name" : "Fax" +            } +          }, +          "email" : { +            "type" : "string", +            "xml" : { +              "name" : "Email" +            } +          }, +          "postfach" : { +            "type" : "string", +            "xml" : { +              "name" : "Postfach" +            } +          } +        } +      }, +      "LetzteOperation" : { +        "required" : [ "begruendung", "durchgefuehrtVon" ], +        "type" : "object", +        "properties" : { +          "begruendung" : { +            "type" : "string", +            "xml" : { +              "name" : "Begruendung" +            } +          }, +          "durchgefuehrtVon" : { +            "$ref" : "#/components/schemas/Benutzer" +          }, +          "vorgang" : { +            "type" : "string", +            "xml" : { +              "attribute" : true +            } +          }, +          "zeitpunkt" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "attribute" : true +            } +          } +        } +      }, +      "PartialDate" : { +        "required" : [ "jahr" ], +        "type" : "object", +        "properties" : { +          "jahr" : { +            "type" : "integer", +            "format" : "int32", +            "xml" : { +              "attribute" : true +            } +          }, +          "monat" : { +            "type" : "integer", +            "format" : "int32", +            "xml" : { +              "attribute" : true +            } +          }, +          "tag" : { +            "type" : "integer", +            "format" : "int32", +            "xml" : { +              "attribute" : true +            } +          } +        } +      }, +      "Person" : { +        "required" : [ "letzteOperation", "personendaten", "type" ], +        "type" : "object", +        "properties" : { +          "letzteOperation" : { +            "$ref" : "#/components/schemas/LetzteOperation" +          }, +          "personendaten" : { +            "$ref" : "#/components/schemas/PersonendatenErgebnis" +          }, +          "anschrift" : { +            "$ref" : "#/components/schemas/Anschrift" +          }, +          "akademischerGrad" : { +            "type" : "array", +            "xml" : { +              "name" : "AkademischerGrad" +            }, +            "items" : { +              "$ref" : "#/components/schemas/AkademischerGrad" +            } +          }, +          "reisedokument" : { +            "type" : "array", +            "xml" : { +              "name" : "Reisedokument" +            }, +            "items" : { +              "$ref" : "#/components/schemas/Reisedokument" +            } +          }, +          "sonstigesDokument" : { +            "type" : "array", +            "xml" : { +              "name" : "SonstigesDokument" +            }, +            "items" : { +              "$ref" : "#/components/schemas/SonstigesDokument" +            } +          }, +          "staatsangehoerigkeit" : { +            "type" : "array", +            "xml" : { +              "name" : "Staatsangehoerigkeit" +            }, +            "items" : { +              "$ref" : "#/components/schemas/Staatsangehoerigkeit" +            } +          }, +          "eidas" : { +            "type" : "array", +            "xml" : { +              "name" : "Eidas" +            }, +            "items" : { +              "$ref" : "#/components/schemas/Eidas" +            } +          }, +          "gueltigAb" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "attribute" : true +            } +          }, +          "gueltigBis" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "attribute" : true +            } +          }, +          "entityId" : { +            "type" : "string", +            "xml" : { +              "attribute" : true +            } +          }, +          "version" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "attribute" : true +            } +          }, +          "type" : { +            "type" : "string" +          } +        }, +        "discriminator" : { +          "propertyName" : "type" +        } +      }, +      "PersonendatenErgebnis" : { +        "required" : [ "basiszahl", "familienname", "geburtsdatum", "vorname" ], +        "type" : "object", +        "properties" : { +          "entityId" : { +            "type" : "string", +            "xml" : { +              "attribute" : true +            } +          }, +          "gueltigAb" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "attribute" : true +            } +          }, +          "gueltigBis" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "attribute" : true +            } +          }, +          "familienname" : { +            "type" : "string", +            "xml" : { +              "name" : "Familienname" +            } +          }, +          "nameVorEhe" : { +            "type" : "string", +            "xml" : { +              "name" : "NameVorEhe" +            } +          }, +          "vorname" : { +            "type" : "string", +            "xml" : { +              "name" : "Vorname" +            } +          }, +          "geburtsbundesland" : { +            "type" : "string", +            "xml" : { +              "name" : "Geburtsbundesland" +            }, +            "enum" : [ "Burgenland", "Kärnten", "Niederösterreich", "Oberösterreich", "Salzburg", "Steiermark", "Tirol", "Vorarlberg", "Wien" ] +          }, +          "geburtsort" : { +            "type" : "string", +            "xml" : { +              "name" : "Geburtsort" +            } +          }, +          "geburtsstaat" : { +            "$ref" : "#/components/schemas/Staat" +          }, +          "geburtsdatum" : { +            "$ref" : "#/components/schemas/PartialDate" +          }, +          "geschlecht" : { +            "type" : "string", +            "xml" : { +              "name" : "Geschlecht" +            }, +            "enum" : [ "Männlich", "Weiblich" ] +          }, +          "basiszahl" : { +            "type" : "string", +            "xml" : { +              "name" : "Basiszahl" +            } +          }, +          "kitquelle" : { +            "type" : "string", +            "xml" : { +              "name" : "Kitquelle" +            } +          }, +          "bpkZp" : { +            "type" : "string", +            "xml" : { +              "name" : "BpkZp" +            } +          }, +          "sterbedatum" : { +            "$ref" : "#/components/schemas/PartialDate" +          }, +          "geprueft" : { +            "type" : "boolean", +            "xml" : { +              "name" : "Geprueft" +            } +          } +        } +      }, +      "Reisedokument" : { +        "required" : [ "art" ], +        "type" : "object", +        "properties" : { +          "entityId" : { +            "type" : "string", +            "xml" : { +              "attribute" : true +            } +          }, +          "gueltigAb" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "attribute" : true +            } +          }, +          "gueltigBis" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "attribute" : true +            } +          }, +          "ausgestelltVon" : { +            "$ref" : "#/components/schemas/AusgestelltVon" +          }, +          "art" : { +            "type" : "string", +            "xml" : { +              "name" : "Art" +            }, +            "enum" : [ "Asylwerber", "Dienstpass", "Elektronisch", "Fremdenpass", "Konventionspass", "Personalausweis", "Reisepass", "Staatenlos", "Sonstiges" ] +          }, +          "nummer" : { +            "type" : "string", +            "xml" : { +              "name" : "Nummer" +            } +          } +        } +      }, +      "SonstigesDokument" : { +        "required" : [ "art", "nummer" ], +        "type" : "object", +        "properties" : { +          "entityId" : { +            "type" : "string", +            "xml" : { +              "attribute" : true +            } +          }, +          "gueltigAb" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "attribute" : true +            } +          }, +          "gueltigBis" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "attribute" : true +            } +          }, +          "ausgestelltVon" : { +            "$ref" : "#/components/schemas/AusgestelltVon" +          }, +          "art" : { +            "type" : "string", +            "xml" : { +              "name" : "Art" +            }, +            "enum" : [ "Führerschein", "Geburtsurkunde", "Heiratsurkunde", "Sonstiges", "Staatsbürgerschaftsnachweis", "Sterbeurkunde", "Todeserklärung" ] +          }, +          "lichtbildausweis" : { +            "type" : "boolean", +            "xml" : { +              "name" : "Lichtbildausweis" +            } +          }, +          "nummer" : { +            "type" : "string", +            "xml" : { +              "name" : "Nummer" +            } +          }, +          "name" : { +            "type" : "string", +            "xml" : { +              "name" : "Name" +            } +          } +        } +      }, +      "Staat" : { +        "type" : "object", +        "properties" : { +          "isoCode3" : { +            "type" : "string", +            "xml" : { +              "attribute" : true +            } +          }, +          "name" : { +            "type" : "string", +            "xml" : { +              "attribute" : true +            } +          } +        } +      }, +      "Staatsangehoerigkeit" : { +        "required" : [ "staat" ], +        "type" : "object", +        "properties" : { +          "entityId" : { +            "type" : "string", +            "xml" : { +              "attribute" : true +            } +          }, +          "gueltigAb" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "attribute" : true +            } +          }, +          "gueltigBis" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "attribute" : true +            } +          }, +          "staat" : { +            "$ref" : "#/components/schemas/Staat" +          } +        } +      }, +      "ZmrPerson" : { +        "required" : [ "letzteOperation", "personendaten", "qkz" ], +        "type" : "object", +        "allOf" : [ { +          "$ref" : "#/components/schemas/Person" +        }, { +          "type" : "object", +          "properties" : { +            "auskunftssperre" : { +              "type" : "boolean", +              "xml" : { +                "name" : "Auskunftssperre" +              } +            }, +            "qkz" : { +              "type" : "array", +              "xml" : { +                "name" : "Qkz" +              }, +              "items" : { +                "type" : "string" +              } +            } +          } +        } ] +      }, +      "Aendern" : { +        "type" : "object", +        "properties" : { +          "personendaten" : { +            "$ref" : "#/components/schemas/Personendaten" +          }, +          "anschrift" : { +            "$ref" : "#/components/schemas/Anschrift" +          }, +          "akademischerGrad" : { +            "type" : "array", +            "xml" : { +              "name" : "AkademischerGrad" +            }, +            "items" : { +              "$ref" : "#/components/schemas/AkademischerGrad" +            } +          }, +          "reisedokument" : { +            "type" : "array", +            "xml" : { +              "name" : "Reisedokument" +            }, +            "items" : { +              "$ref" : "#/components/schemas/Reisedokument" +            } +          }, +          "sonstigesDokument" : { +            "type" : "array", +            "xml" : { +              "name" : "SonstigesDokument" +            }, +            "items" : { +              "$ref" : "#/components/schemas/SonstigesDokument" +            } +          }, +          "staatsangehoerigkeit" : { +            "type" : "array", +            "xml" : { +              "name" : "Staatsangehoerigkeit" +            }, +            "items" : { +              "$ref" : "#/components/schemas/Staatsangehoerigkeit" +            } +          }, +          "eidas" : { +            "type" : "array", +            "xml" : { +              "name" : "Eidas" +            }, +            "items" : { +              "$ref" : "#/components/schemas/Eidas" +            } +          } +        } +      }, +      "Anlegen" : { +        "type" : "object", +        "properties" : { +          "anschrift" : { +            "$ref" : "#/components/schemas/Anschrift" +          }, +          "akademischerGrad" : { +            "type" : "array", +            "xml" : { +              "name" : "AkademischerGrad" +            }, +            "items" : { +              "$ref" : "#/components/schemas/AkademischerGrad" +            } +          }, +          "reisedokument" : { +            "type" : "array", +            "xml" : { +              "name" : "Reisedokument" +            }, +            "items" : { +              "$ref" : "#/components/schemas/Reisedokument" +            } +          }, +          "sonstigesDokument" : { +            "type" : "array", +            "xml" : { +              "name" : "SonstigesDokument" +            }, +            "items" : { +              "$ref" : "#/components/schemas/SonstigesDokument" +            } +          }, +          "staatsangehoerigkeit" : { +            "type" : "array", +            "xml" : { +              "name" : "Staatsangehoerigkeit" +            }, +            "items" : { +              "$ref" : "#/components/schemas/Staatsangehoerigkeit" +            } +          }, +          "eidas" : { +            "type" : "array", +            "xml" : { +              "name" : "Eidas" +            }, +            "items" : { +              "$ref" : "#/components/schemas/Eidas" +            } +          } +        } +      }, +      "Beenden" : { +        "type" : "object", +        "properties" : { +          "entityId" : { +            "type" : "array", +            "xml" : { +              "name" : "EntityId" +            }, +            "items" : { +              "type" : "string", +              "xml" : { +                "name" : "EntityId" +              } +            } +          } +        } +      }, +      "PersonAendern" : { +        "required" : [ "begruendung", "entityId", "version" ], +        "type" : "object", +        "properties" : { +          "begruendung" : { +            "type" : "string", +            "xml" : { +              "name" : "Begruendung" +            } +          }, +          "anlegen" : { +            "$ref" : "#/components/schemas/Anlegen" +          }, +          "aendern" : { +            "$ref" : "#/components/schemas/Aendern" +          }, +          "beenden" : { +            "$ref" : "#/components/schemas/Beenden" +          }, +          "entityId" : { +            "type" : "string", +            "xml" : { +              "attribute" : true +            } +          }, +          "version" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "attribute" : true +            } +          } +        }, +        "xml" : { +          "name" : "PersonAendern" +        } +      }, +      "Personendaten" : { +        "required" : [ "familienname", "geburtsdatum", "vorname" ], +        "type" : "object", +        "properties" : { +          "entityId" : { +            "type" : "string", +            "xml" : { +              "attribute" : true +            } +          }, +          "gueltigAb" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "attribute" : true +            } +          }, +          "gueltigBis" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "attribute" : true +            } +          }, +          "familienname" : { +            "type" : "string", +            "xml" : { +              "name" : "Familienname" +            } +          }, +          "nameVorEhe" : { +            "type" : "string", +            "xml" : { +              "name" : "NameVorEhe" +            } +          }, +          "vorname" : { +            "type" : "string", +            "xml" : { +              "name" : "Vorname" +            } +          }, +          "geburtsbundesland" : { +            "type" : "string", +            "xml" : { +              "name" : "Geburtsbundesland" +            }, +            "enum" : [ "Burgenland", "Kärnten", "Niederösterreich", "Oberösterreich", "Salzburg", "Steiermark", "Tirol", "Vorarlberg", "Wien" ] +          }, +          "geburtsort" : { +            "type" : "string", +            "xml" : { +              "name" : "Geburtsort" +            } +          }, +          "geburtsstaat" : { +            "$ref" : "#/components/schemas/Staat" +          }, +          "geburtsdatum" : { +            "$ref" : "#/components/schemas/PartialDate" +          }, +          "geschlecht" : { +            "type" : "string", +            "xml" : { +              "name" : "Geschlecht" +            }, +            "enum" : [ "Männlich", "Weiblich" ] +          } +        } +      }, +      "AnlegenResponse" : { +        "required" : [ "person" ], +        "type" : "object", +        "properties" : { +          "person" : { +            "$ref" : "#/components/schemas/Person" +          } +        }, +        "xml" : { +          "name" : "AnlegenResponse" +        } +      }, +      "PersonAnlegen" : { +        "required" : [ "anschrift", "begruendung", "personendaten" ], +        "type" : "object", +        "properties" : { +          "begruendung" : { +            "type" : "string", +            "xml" : { +              "name" : "Begruendung" +            } +          }, +          "personendaten" : { +            "$ref" : "#/components/schemas/Personendaten" +          }, +          "anschrift" : { +            "$ref" : "#/components/schemas/Anschrift" +          }, +          "akademischerGrad" : { +            "type" : "array", +            "xml" : { +              "name" : "AkademischerGrad" +            }, +            "items" : { +              "$ref" : "#/components/schemas/AkademischerGrad" +            } +          }, +          "reisedokument" : { +            "type" : "array", +            "xml" : { +              "name" : "Reisedokument" +            }, +            "items" : { +              "$ref" : "#/components/schemas/Reisedokument" +            } +          }, +          "sonstigesDokument" : { +            "type" : "array", +            "xml" : { +              "name" : "SonstigesDokument" +            }, +            "items" : { +              "$ref" : "#/components/schemas/SonstigesDokument" +            } +          }, +          "staatsangehoerigkeit" : { +            "type" : "array", +            "xml" : { +              "name" : "Staatsangehoerigkeit" +            }, +            "items" : { +              "$ref" : "#/components/schemas/Staatsangehoerigkeit" +            } +          }, +          "eidas" : { +            "type" : "array", +            "xml" : { +              "name" : "Eidas" +            }, +            "items" : { +              "$ref" : "#/components/schemas/Eidas" +            } +          } +        }, +        "xml" : { +          "name" : "PersonAnlegen" +        } +      }, +      "SuchenResponse" : { +        "type" : "object", +        "properties" : { +          "person" : { +            "type" : "array", +            "xml" : { +              "name" : "Person" +            }, +            "items" : { +              "$ref" : "#/components/schemas/Person" +            } +          } +        }, +        "xml" : { +          "name" : "SuchenResponse" +        } +      }, +      "PersonSuchen" : { +        "required" : [ "begruendung", "suchdaten", "suchoptionen" ], +        "type" : "object", +        "properties" : { +          "begruendung" : { +            "type" : "string", +            "xml" : { +              "name" : "Begruendung" +            } +          }, +          "suchoptionen" : { +            "$ref" : "#/components/schemas/Suchoptionen" +          }, +          "suchdaten" : { +            "$ref" : "#/components/schemas/Suchdaten" +          } +        }, +        "xml" : { +          "name" : "PersonSuchen" +        } +      }, +      "SuchAnschrift" : { +        "type" : "object", +        "properties" : { +          "staat" : { +            "$ref" : "#/components/schemas/Staat" +          }, +          "gemeinde" : { +            "type" : "string", +            "xml" : { +              "name" : "Gemeinde" +            } +          }, +          "strasse" : { +            "type" : "string", +            "xml" : { +              "name" : "Strasse" +            } +          }, +          "ort" : { +            "type" : "string", +            "xml" : { +              "name" : "Ort" +            } +          }, +          "postleitzahl" : { +            "type" : "string", +            "xml" : { +              "name" : "Postleitzahl" +            } +          }, +          "hausnummer" : { +            "type" : "string", +            "xml" : { +              "name" : "Hausnummer" +            } +          }, +          "adresszusatz" : { +            "type" : "string", +            "xml" : { +              "name" : "Adresszusatz" +            } +          }, +          "stiege" : { +            "type" : "string", +            "xml" : { +              "name" : "Stiege" +            } +          }, +          "tuer" : { +            "type" : "string", +            "xml" : { +              "name" : "Tuer" +            } +          }, +          "postfach" : { +            "type" : "string", +            "xml" : { +              "name" : "Postfach" +            } +          } +        } +      }, +      "SuchAusgestelltVon" : { +        "type" : "object", +        "properties" : { +          "datum" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "name" : "Datum" +            } +          }, +          "behoerde" : { +            "type" : "string", +            "xml" : { +              "name" : "Behoerde" +            } +          }, +          "staat" : { +            "$ref" : "#/components/schemas/Staat" +          } +        } +      }, +      "SuchEidas" : { +        "type" : "object", +        "properties" : { +          "art" : { +            "type" : "string", +            "xml" : { +              "name" : "Art" +            } +          }, +          "wert" : { +            "type" : "string", +            "xml" : { +              "name" : "Wert" +            } +          }, +          "ausstellDatum" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "name" : "AusstellDatum" +            } +          }, +          "ablaufDatum" : { +            "type" : "string", +            "format" : "date-time", +            "xml" : { +              "name" : "AblaufDatum" +            } +          }, +          "ausstellBehoerde" : { +            "type" : "string", +            "xml" : { +              "name" : "AusstellBehoerde" +            } +          }, +          "staatscode2" : { +            "type" : "string", +            "xml" : { +              "name" : "Staatscode2" +            } +          } +        } +      }, +      "SuchReisedokument" : { +        "type" : "object", +        "properties" : { +          "art" : { +            "type" : "string", +            "xml" : { +              "name" : "Art" +            }, +            "enum" : [ "Asylwerber", "Dienstpass", "Elektronisch", "Fremdenpass", "Konventionspass", "Personalausweis", "Reisepass", "Staatenlos", "Sonstiges" ] +          }, +          "ausgestelltVon" : { +            "$ref" : "#/components/schemas/SuchAusgestelltVon" +          }, +          "nummer" : { +            "type" : "string", +            "xml" : { +              "name" : "Nummer" +            } +          } +        } +      }, +      "SuchStaatsangehoerigkeit" : { +        "type" : "object", +        "properties" : { +          "staat" : { +            "$ref" : "#/components/schemas/Staat" +          } +        } +      }, +      "Suchdaten" : { +        "required" : [ "familienname", "vorname" ], +        "type" : "object", +        "properties" : { +          "basiszahl" : { +            "type" : "string", +            "xml" : { +              "name" : "Basiszahl" +            } +          }, +          "bpkZp" : { +            "type" : "string", +            "xml" : { +              "name" : "BpkZp" +            } +          }, +          "fremdBpkBmiZp" : { +            "type" : "string", +            "xml" : { +              "name" : "FremdBpkBmiZp" +            } +          }, +          "entityId" : { +            "type" : "string", +            "xml" : { +              "name" : "EntityId" +            } +          }, +          "familienname" : { +            "type" : "string", +            "xml" : { +              "name" : "Familienname" +            } +          }, +          "nameVorEhe" : { +            "type" : "string", +            "xml" : { +              "name" : "NameVorEhe" +            } +          }, +          "vorname" : { +            "type" : "string", +            "xml" : { +              "name" : "Vorname" +            } +          }, +          "geburtsdatum" : { +            "$ref" : "#/components/schemas/PartialDate" +          }, +          "geburtsort" : { +            "type" : "string", +            "xml" : { +              "name" : "Geburtsort" +            } +          }, +          "geburtsstaat" : { +            "$ref" : "#/components/schemas/Staat" +          }, +          "geschlecht" : { +            "type" : "string", +            "xml" : { +              "name" : "Geschlecht" +            }, +            "enum" : [ "Männlich", "Weiblich" ] +          }, +          "anschrift" : { +            "$ref" : "#/components/schemas/SuchAnschrift" +          }, +          "reisedokument" : { +            "$ref" : "#/components/schemas/SuchReisedokument" +          }, +          "staatsangehoerigkeit" : { +            "$ref" : "#/components/schemas/SuchStaatsangehoerigkeit" +          }, +          "eidas" : { +            "$ref" : "#/components/schemas/SuchEidas" +          } +        } +      }, +      "Suchoptionen" : { +        "required" : [ "historisch" ], +        "type" : "object", +        "properties" : { +          "historisch" : { +            "type" : "string", +            "xml" : { +              "name" : "Historisch" +            }, +            "enum" : [ "Aktuell", "AktuellDannHistorisch", "AktuellUndHistorisch" ] +          }, +          "formalisiert" : { +            "type" : "boolean", +            "xml" : { +              "name" : "Formalisiert" +            } +          }, +          "sucheMitNamensteilen" : { +            "type" : "boolean", +            "xml" : { +              "name" : "SucheMitNamensteilen" +            } +          }, +          "suchwizard" : { +            "type" : "boolean", +            "xml" : { +              "name" : "Suchwizard" +            } +          }, +          "zmr" : { +            "type" : "boolean", +            "xml" : { +              "name" : "Zmr" +            } +          } +        }, +        "xml" : { +          "name" : "Suchoptionen", +          "namespace" : "http://bmi.gv.at/ernp" +        } +      } +    } +  } +}
\ No newline at end of file | 
