summaryrefslogtreecommitdiff
path: root/src/main/resources
diff options
context:
space:
mode:
authorThomas Lenz <thomas.lenz@egiz.gv.at>2013-12-20 12:35:28 +0100
committerThomas Lenz <thomas.lenz@egiz.gv.at>2013-12-20 12:35:28 +0100
commitdefceef8afef538555c13d33e344a89a828a3d97 (patch)
tree24b44f970f161d5b139dde501ca0f5d883f9fdea /src/main/resources
downloadegovutils-defceef8afef538555c13d33e344a89a828a3d97.tar.gz
egovutils-defceef8afef538555c13d33e344a89a828a3d97.tar.bz2
egovutils-defceef8afef538555c13d33e344a89a828a3d97.zip
inital
Diffstat (limited to 'src/main/resources')
-rw-r--r--src/main/resources/log4j.properties12
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/12-09-04 ERsB Webservices v0.4.docxbin0 -> 235370 bytes
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/CustomFault.xsd18
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/ErsbService.wsdl45
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/PersonData_Ersb.xsd420
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/PersonData_URSuche.xsd505
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/ersb-types.xsd58
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/examples/example_SucheUnternehmenNachId_ERsB_Request.xml38
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/examples/example_SucheUnternehmenNachId_ERsB_Response.xml141
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/examples/example_SucheUnternehmenNachId_Response.xml132
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/examples/example_SucheUnternehmenNachMerkmalen_Request.xml35
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/examples/example_SucheUnternehmenNachMerkmalen_Response.xml125
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/examples/example_aend_adr.xml46
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/examples/example_aend_evb.xml28
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/examples/example_aend_fktregel.xml43
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/examples/example_aend_persadr.xml53
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/examples/example_aend_persdata.xml46
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/examples/example_aend_person.xml51
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/examples/example_aend_pfunkt.xml34
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/examples/example_aend_rechtsform.xml23
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/examples/example_aend_untname.xml22
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/examples/example_neuanlage.xml96
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/examples/example_neuanlage_response.xml127
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/schema/PersonData_Ersb.xsd420
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/schema/PersonData_URSuche.xsd505
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/schema/ersb-types.xsd58
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/schema/specific/CustomFault.xsd18
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/schema/ur-basicTypes.xsd281
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/schema/ur-basicTypesErsb.xsd125
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/schema/ur-simpleTypes.xsd442
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/ur-basicTypes.xsd281
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/ur-basicTypesErsb.xsd125
-rw-r--r--src/main/resources/wsdl/ERsB/0.4/ur-simpleTypes.xsd442
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/13-03-15 ERsB Webservices v1.1.pdfbin0 -> 797884 bytes
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/CustomFault.xsd18
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/ErsbService.wsdl45
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/PersonData_Ersb.xsd438
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/PersonData_URSuche.xsd511
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/ersb-types.xsd62
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/examples/example_aend_adr.xml47
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/examples/example_aend_best_zr.xml26
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/examples/example_aend_bnw.xml20
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/examples/example_aend_evb.xml29
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/examples/example_aend_fktregel.xml44
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/examples/example_aend_pers_rt.xml50
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/examples/example_aend_persadr.xml54
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/examples/example_aend_persdata.xml47
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/examples/example_aend_person.xml52
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/examples/example_aend_pfunkt.xml35
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/examples/example_aend_rechtsform.xml24
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/examples/example_aend_untname.xml23
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/examples/example_aend_vertretung.xml20
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/examples/example_neuanlage.xml97
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/examples/example_neuanlage_response.xml129
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/schema/PersonData_Ersb.xsd438
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/schema/PersonData_URSuche.xsd511
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/schema/ersb-types.xsd62
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/schema/specific/CustomFault.xsd18
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/schema/ur-basicTypes.xsd309
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/schema/ur-basicTypesErsb.xsd133
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/schema/ur-simpleTypes.xsd443
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/ur-basicTypes.xsd309
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/ur-basicTypesErsb.xsd105
-rw-r--r--src/main/resources/wsdl/ERsB/1.1/ur-simpleTypes.xsd443
-rw-r--r--src/main/resources/wsdl/MOA-ID-1.x.wsdl41
-rw-r--r--src/main/resources/wsdl/MOA-SPSS-1.3.wsdl117
-rw-r--r--src/main/resources/wsdl/MOA-SPSS-1.3.xsd469
-rw-r--r--src/main/resources/wsdl/PersonData_20_en_moaWID.xsd1229
-rw-r--r--src/main/resources/wsdl/W3C-XMLDSig.xsd265
-rw-r--r--src/main/resources/wsdl/cs-sstc-schema-assertion-01.xsd194
-rw-r--r--src/main/resources/wsdl/cs-sstc-schema-protocol-01.xsd127
-rw-r--r--src/main/resources/wsdl/custom-bindings/ersb-schemas.xml46
-rw-r--r--src/main/resources/wsdl/custom-bindings/ersb-wsdl.xml8
-rw-r--r--src/main/resources/wsdl/custom-bindings/mandate-schemas.xml31
-rw-r--r--src/main/resources/wsdl/custom-bindings/mis-schemas.xml14
-rw-r--r--src/main/resources/wsdl/custom-bindings/mis-usp-schemas.xml14
-rw-r--r--src/main/resources/wsdl/custom-bindings/mis-usp-wsdl.xml8
-rw-r--r--src/main/resources/wsdl/custom-bindings/mis-wsdl.xml8
-rw-r--r--src/main/resources/wsdl/custom-bindings/misstork-schemas.xml29
-rw-r--r--src/main/resources/wsdl/custom-bindings/misstork-wsdl.xml8
-rw-r--r--src/main/resources/wsdl/custom-bindings/mms-schemas.xml14
-rw-r--r--src/main/resources/wsdl/custom-bindings/mms-wsdl.xml8
-rw-r--r--src/main/resources/wsdl/custom-bindings/moa-schemas.xml48
-rw-r--r--src/main/resources/wsdl/custom-bindings/moa-wsdl.xml15
-rw-r--r--src/main/resources/wsdl/custom-bindings/mzs-schemas.xml22
-rw-r--r--src/main/resources/wsdl/custom-bindings/mzs-wsdl.xml8
-rw-r--r--src/main/resources/wsdl/custom-bindings/omsp-schemas.xml23
-rw-r--r--src/main/resources/wsdl/custom-bindings/sl-schemas.xml23
-rw-r--r--src/main/resources/wsdl/custom-bindings/szr-schemas.xml54
-rw-r--r--src/main/resources/wsdl/custom-bindings/szr-wsdl.xml8
-rw-r--r--src/main/resources/wsdl/custom-bindings/szrgw-schemas.xml46
-rw-r--r--src/main/resources/wsdl/custom-bindings/szrgw-wsdl.xml8
-rw-r--r--src/main/resources/wsdl/custom-bindings/ur-schemas.xml46
-rw-r--r--src/main/resources/wsdl/custom-bindings/ur-wsdl.xml8
-rw-r--r--src/main/resources/wsdl/custom-bindings/ur_V2-schemas.xml54
-rw-r--r--src/main/resources/wsdl/custom-bindings/ur_V2-wsdl.xml8
-rw-r--r--src/main/resources/wsdl/custom-bindings/zkopf-schemas.xml30
-rw-r--r--src/main/resources/wsdl/custom-bindings/zkopf-wsdl.xml8
-rw-r--r--src/main/resources/wsdl/custom-bindings/zuserech-schemas.xml14
-rw-r--r--src/main/resources/wsdl/custom-bindings/zuserech-wsdl.xml8
-rw-r--r--src/main/resources/wsdl/custom-bindings/zusespec-schemas.xml22
-rw-r--r--src/main/resources/wsdl/mandate/ContactMethod-1_0.xsd93
-rw-r--r--src/main/resources/wsdl/mandate/Mandate_1.0.0.xsd267
-rw-r--r--src/main/resources/wsdl/mandate/OnlineAddress-1_0.xsd53
-rw-r--r--src/main/resources/wsdl/mandate/PersonData.xsd426
-rw-r--r--src/main/resources/wsdl/mandate/PersonName-1_2.xsd115
-rw-r--r--src/main/resources/wsdl/mandate/PostalAddress-1_2.xsd95
-rw-r--r--src/main/resources/wsdl/mandate/TelcomNumber-1_0.xsd89
-rw-r--r--src/main/resources/wsdl/mandate/W3C-XMLDSig.xsd271
-rw-r--r--src/main/resources/wsdl/mis/mis-1.0.3.wsdl43
-rw-r--r--src/main/resources/wsdl/mis/mis-1.0.3.xsd96
-rw-r--r--src/main/resources/wsdl/mis/usp/mis-usp-1.0.2.wsdl43
-rw-r--r--src/main/resources/wsdl/mis/usp/mis-usp-1.0.2.xsd66
-rw-r--r--src/main/resources/wsdl/misstork/misstork-1.0.xsd77
-rw-r--r--src/main/resources/wsdl/misstork/misstork.wsdl44
-rw-r--r--src/main/resources/wsdl/mms/mms-1.0.xsd47
-rw-r--r--src/main/resources/wsdl/mms/mms.wsdl43
-rw-r--r--src/main/resources/wsdl/mzs/app2mzs.wsdl46
-rw-r--r--src/main/resources/wsdl/mzs/app2mzs.xsd307
-rw-r--r--src/main/resources/wsdl/mzs/mzs_mypersondata_en.xsd267
-rw-r--r--src/main/resources/wsdl/omsp/W3C-XMLDSig.xsd271
-rw-r--r--src/main/resources/wsdl/omsp/omsp.xsd62
-rw-r--r--src/main/resources/wsdl/sl/W3C-XMLDSig.xsd271
-rw-r--r--src/main/resources/wsdl/sl/sl-1.2.xsd974
-rw-r--r--src/main/resources/wsdl/szr/SZR_v2.0.wsdl269
-rw-r--r--src/main/resources/wsdl/szr/szr_ecdsa.xsd30
-rw-r--r--src/main/resources/wsdl/szr/szr_persondata.xsd57
-rw-r--r--src/main/resources/wsdl/szr/szr_pvp.xsd126
-rw-r--r--src/main/resources/wsdl/szr/szr_pvp_sec.xsd11
-rw-r--r--src/main/resources/wsdl/szr/szr_v2.0.xsd282
-rw-r--r--src/main/resources/wsdl/szr/szr_xmldsig.xsd31
-rw-r--r--src/main/resources/wsdl/szrgw/old/SZR-GW-0.0.1.xsd108
-rw-r--r--src/main/resources/wsdl/szrgw/old/SZR-GW-0.0.2.xsd127
-rw-r--r--src/main/resources/wsdl/szrgw/stork.xsd51
-rw-r--r--src/main/resources/wsdl/szrgw/szr-gw-0.0.3.xsd66
-rw-r--r--src/main/resources/wsdl/szrgw/szrgw.wsdl38
-rw-r--r--src/main/resources/wsdl/ur/PersonData_20_dt.xsd378
-rw-r--r--src/main/resources/wsdl/ur/URSucheService.wsdl124
-rw-r--r--src/main/resources/wsdl/ur/specific/CustomFault.xsd18
-rw-r--r--src/main/resources/wsdl/ur/unternehmenssuche.xsd326
-rw-r--r--src/main/resources/wsdl/ur/ur-simpleTypes.xsd304
-rw-r--r--src/main/resources/wsdl/ur/xml-sw.xsd289
-rw-r--r--src/main/resources/wsdl/ur_V2/PersonData_URSuche.xsd512
-rw-r--r--src/main/resources/wsdl/ur_V2/URSucheService.wsdl96
-rw-r--r--src/main/resources/wsdl/ur_V2/schema/PersonData_URSuche.xsd512
-rw-r--r--src/main/resources/wsdl/ur_V2/schema/specific/CustomFault.xsd18
-rw-r--r--src/main/resources/wsdl/ur_V2/schema/ur-basicTypes.xsd287
-rw-r--r--src/main/resources/wsdl/ur_V2/schema/ur-simpleTypes.xsd443
-rw-r--r--src/main/resources/wsdl/ur_V2/schema/ur-suche.xsd243
-rw-r--r--src/main/resources/wsdl/ur_V2/schema/xml-sw.xsd327
-rw-r--r--src/main/resources/wsdl/ur_V2/specific/CustomFault.xsd18
-rw-r--r--src/main/resources/wsdl/ur_V2/ur-basicTypes.xsd287
-rw-r--r--src/main/resources/wsdl/ur_V2/ur-simpleTypes.xsd443
-rw-r--r--src/main/resources/wsdl/ur_V2/ur-suche.xsd163
-rw-r--r--src/main/resources/wsdl/ur_V2/xml-sw.xsd327
-rw-r--r--src/main/resources/wsdl/ur_V4/13-11 URV Webservices zur Unternehmenssuche v4.0.pdfbin0 -> 479498 bytes
-rw-r--r--src/main/resources/wsdl/ur_V4/URSucheService.wsdl148
-rw-r--r--src/main/resources/wsdl/ur_V4/schema/specific/urs-v4-CustomFault.xsd24
-rw-r--r--src/main/resources/wsdl/ur_V4/schema/urs-v4-PersonData.xsd510
-rw-r--r--src/main/resources/wsdl/ur_V4/schema/urs-v4-basicTypes.xsd299
-rw-r--r--src/main/resources/wsdl/ur_V4/schema/urs-v4-simpleTypes.xsd464
-rw-r--r--src/main/resources/wsdl/ur_V4/schema/urs-v4-suche.xsd217
-rw-r--r--src/main/resources/wsdl/ur_V4/schema/urs-v4-xml-sw.xsd321
-rw-r--r--src/main/resources/wsdl/zkopf/W3C-XMLDSig.xsd265
-rw-r--r--src/main/resources/wsdl/zkopf/zkopf.wsdl41
-rw-r--r--src/main/resources/wsdl/zkopf/zkopf.xsd221
-rw-r--r--src/main/resources/wsdl/zkopf/zkopf_mypersondata_en.xsd379
-rw-r--r--src/main/resources/wsdl/zkopf/zuserech.wsdl70
-rw-r--r--src/main/resources/wsdl/zkopf/zuserech.xsd98
-rw-r--r--src/main/resources/wsdl/zusespec/W3C-XMLDSig.xsd265
-rw-r--r--src/main/resources/wsdl/zusespec/recipientnotification.xsd100
171 files changed, 26219 insertions, 0 deletions
diff --git a/src/main/resources/log4j.properties b/src/main/resources/log4j.properties
new file mode 100644
index 0000000..dd063e6
--- /dev/null
+++ b/src/main/resources/log4j.properties
@@ -0,0 +1,12 @@
+# commons-logging setup
+org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.Log4jFactory
+
+# define log4j root loggers
+log4j.rootLogger=warn, stdout
+log4j.logger.at.gv.util=trace, stdout
+log4j.additivity.at.gv.util=false
+
+# configure the stdout appender
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%5p | %d{dd HH:mm:ss} | %20c | %m%n \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/0.4/12-09-04 ERsB Webservices v0.4.docx b/src/main/resources/wsdl/ERsB/0.4/12-09-04 ERsB Webservices v0.4.docx
new file mode 100644
index 0000000..c648cee
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/12-09-04 ERsB Webservices v0.4.docx
Binary files differ
diff --git a/src/main/resources/wsdl/ERsB/0.4/CustomFault.xsd b/src/main/resources/wsdl/ERsB/0.4/CustomFault.xsd
new file mode 100644
index 0000000..c73d667
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/CustomFault.xsd
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <xs:element name="Message" type="CustomFaultType"/>
+
+ <xs:complexType name="CustomFaultType" final="extension">
+ <xs:annotation>
+ <xs:documentation>CustomFault reporting structure</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Code" type="xs:integer"/>
+ <xs:element name="Reason" type="xs:string" maxOccurs="unbounded"/>
+ <xs:element name="Help" type="xs:string" minOccurs="0"/>
+ <xs:element name="Detail" type="xs:anyType" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+</xs:schema>
diff --git a/src/main/resources/wsdl/ERsB/0.4/ErsbService.wsdl b/src/main/resources/wsdl/ERsB/0.4/ErsbService.wsdl
new file mode 100644
index 0000000..6ed699d
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/ErsbService.wsdl
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:sch0="http://statistik.at/namespace/ersb/1#" xmlns:sch1="http://statistik.at/namespace/ur/simpleTypes/2#" xmlns:sch2="http://statistik.at/namespace/ur/stammdaten/2#" xmlns:sch3="http://reference.e-government.gv.at/namespace/persondata/de/20040201#" xmlns:sch4="http://statistik.at/namespace/ersb/persondata/1#" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://statistik.at/namespace/ersb/1#" targetNamespace="http://statistik.at/namespace/ersb/1#">
+ <wsdl:types>
+ <xsd:schema>
+ <xsd:import namespace="http://statistik.at/namespace/ersb/1#" schemaLocation="ersb-types.xsd"/>
+ <xsd:import namespace="http://statistik.at/namespace/ur/simpleTypes/2#" schemaLocation="ur-simpleTypes.xsd"/>
+ <xsd:import namespace="http://statistik.at/namespace/ur/stammdaten/2#" schemaLocation="ur-basicTypes.xsd"/>
+ <xsd:import namespace="http://reference.e-government.gv.at/namespace/persondata/de/20040201#" schemaLocation="PersonData_URSuche.xsd"/>
+ <xsd:import namespace="http://statistik.at/namespace/ersb/persondata/1#" schemaLocation="PersonData_Ersb.xsd"/>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="ErsbResponse">
+ <wsdl:part name="ErsbResponse" element="sch0:ErsbResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="ErsbRequest">
+ <wsdl:part name="ErsbRequest" element="sch0:ErsbRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="ErsbService">
+ <wsdl:operation name="Ersb">
+ <wsdl:input name="ErsbRequest" message="sch0:ErsbRequest">
+ </wsdl:input>
+ <wsdl:output name="ErsbResponse" message="sch0:ErsbResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="ErsbServiceSoap11" type="sch0:ErsbService">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="Ersb">
+ <soap:operation soapAction=""/>
+ <wsdl:input name="ErsbRequest">
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="ErsbResponse">
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="ErsbServiceService">
+ <wsdl:port name="ErsbServiceSoap11" binding="sch0:ErsbServiceSoap11">
+ <soap:address location="/services/ErsbService"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/src/main/resources/wsdl/ERsB/0.4/PersonData_Ersb.xsd b/src/main/resources/wsdl/ERsB/0.4/PersonData_Ersb.xsd
new file mode 100644
index 0000000..920456e
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/PersonData_Ersb.xsd
@@ -0,0 +1,420 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Paul (thx) -->
+<!-- edited with XML Spy v4.1 U (http://www.xmlspy.com) by Peter Reichstädter (CIO) -->
+<!--Generisches Schema zum Speichern und Austauschen von Personendaten
+ (c) 2001-2002 Chief Information Office Austria, Stabsstelle IKT-Strategie des Bundes, BMÖLS
+ Kontakt: Peter Reichstädter (peter.reichstaedter@cio.gv.at), Arno Hollosi (arno.hollosi@cio.gv.at)
+ Die freie Verwendung dieses Schemas in Applikationen (behördenintern, kommerziell, privat) ist erlaubt und erwünscht.
+-->
+<!--
+ Adaptierung URV URSuche v3.0 für Ersb Schnittstelle
+ ===================================================
+ 2012-09-03 sml IdentificationType um ErsbAttributes erweitert
+ 2012-08-07 sml kein mixed Content bei den Zusatzdaten mehr möglich
+ 2012-07-05 sml Any-Attribute und Any-Elemente nach AGII-Empfehlung durch die konkreten ersetzt.
+ 2012-06-14 sml Affix wieder auf unbounded (vgl. URSucheService UDB)
+ -->
+<?xml-stylesheet type="text/xsl" href="getelementnames.xslt"?>
+
+<xs:schema targetNamespace="http://statistik.at/namespace/ersb/persondata/1#"
+ xmlns="http://statistik.at/namespace/ersb/persondata/1#"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:uri="http://statistik.at/namespace/ersb/1#"
+ xmlns:urs="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0.0">
+
+ <!-- Import der ERSB-suche -->
+
+ <xs:import namespace="http://statistik.at/namespace/ersb/1#"
+ schemaLocation="ersb-types.xsd" />
+
+
+ <!-- Import UR Suche -->
+ <xs:import namespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ schemaLocation="ur-basicTypes.xsd" />
+
+
+ <xs:annotation>
+ <xs:documentation>This version of person deploys only global elements. All types derived from abstract types have been replaced by substitution groups</xs:documentation>
+ </xs:annotation>
+ <!-- ### signed structure of a person ### -->
+ <xs:element name="AbstractPersonData" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes PersonenDaten Element, nur auf englisch verfügbar, nicht direkt benützen sondern PersonenDaten benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="PersonenDaten" type="PersonenDatenTyp" substitutionGroup="AbstractPersonData">
+ <xs:annotation>
+ <xs:documentation>Signierte Personendatenstruktur</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- ### base type for person data ### -->
+ <xs:element name="Person" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Personen Element, nur auf englisch verfügbar, nicht direkt benützen sondern NatuerlichePerson o. NichtNatuerlichePerson benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- ### physical person and corporate body ### -->
+ <xs:element name="NatuerlichePerson" type="NatuerlichePersonTyp" substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>Natuerliche Person entspricht PhysicalPerson, ist eine Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="NichtNatuerlichePerson" type="NichtNatuerlichePersonTyp" substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>NichtNatuerlichePerson entspricht CorporatzeBody, ist Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### complex child elements of person, also available as standalone ###-->
+ <xs:element name="PersonenName" type="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>Container für diverse Namensbestandteile, entspricht Name in der englischen Version</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+
+ <!-- ### adress data for various types of communications ### -->
+ <xs:element name="Address" type="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Address Element, nur auf Englisch verfügbar, nicht direkt benützen sondern PostAdresse, InternetAdresse, etc benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PostAdresse" type="PostAdresseTyp" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Post oder ZMR Adresse, entspricht PostalAddress, ist Ableitung von Address (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="TypisiertePostAdresse" type="TypisiertePostAdresseTyp" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Typisierte Post oder ZMRAdresse, entspricht TypedPostalAddress, ist Ableitung von Address (abstract) </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### elements of simple type ####-->
+ <xs:element name="Geburtsdatum" type="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>Geburtsdatum, entspricht DateOfBirth</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <!--### Complex types ###-->
+
+
+ <!-- UR Spezialisierung des PersonenDatenTyp -->
+ <xs:complexType name="PersonenDatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="NichtNatuerlichePerson"/>
+
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0" maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" minOccurs="0">
+ <xs:complexType mixed="false">
+ <xs:sequence minOccurs="0">
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:Bestandszeitraum" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Bestandsnachweis" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Vertretung" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element name="PersonenDaten" type="PersonenDatenZusatzdatenTyp" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <!-- UR Spezialisierung für natürliche und nichtnatürliche Personen in den Zusatzdaten-->
+ <xs:complexType name="PersonenDatenZusatzdatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:choice minOccurs="0">
+ <xs:element ref="NichtNatuerlichePerson"/>
+ <xs:element ref="NatuerlichePerson"/>
+ </xs:choice>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0" maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" minOccurs="0">
+ <xs:complexType mixed="false">
+
+ <xs:sequence minOccurs="0">
+ <!-- Erweiterung UR -->
+ <xs:element ref="urs:EvbStatus" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Funktion" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+<xs:complexType name="IdentificationType">
+ <xs:annotation>
+ <xs:documentation>Container für beliebige Identifikationsmerkmale, besteht aus Type und Value Unterelementen, aus technischen Gründen nur auf Englisch verfügbar</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Value">
+ <xs:annotation>
+ <xs:documentation>actual value of the identifier.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Type" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>type of value (eg 'ZMR', 'SV-Nummer', 'Martrikelnummer', database identification, ...)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:ErsbAttributes" />
+
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>main structure of person data</xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0">
+ <xs:element name="Identification" type="IdentificationType" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>unique identification entities</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ </xs:complexType>
+
+
+ <xs:complexType name="NatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PhysicalPersonType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PersonenName" minOccurs="0"/>
+ <xs:element ref="Geburtsdatum" minOccurs="0"/>
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:ErsbAttributes" />
+ </xs:extension>
+
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+
+ <xs:complexType name="NichtNatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht CorporateBodyType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="VollerName" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>name of corporate body (whole name)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="Rechtsform" type="xs:anyURI" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>type of company (eg AG, OHG, ...)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:UntName" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtsform" minOccurs="0" maxOccurs="unbounded" />
+
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht NameType</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Vorname" type="xs:string" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="Familienname" minOccurs="1" maxOccurs="1">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="primaer" default="undefiniert">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="wahr"/>
+ <xs:enumeration value="falsch"/>
+ <xs:enumeration value="undefiniert"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="prefix" type="xs:string"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Affix" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="typ" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="akademischerGrad"/>
+ <xs:enumeration value="Adelstitel"/>
+ <xs:enumeration value="FamiliennamenAffix"/>
+ <xs:enumeration value="Anrede"/>
+ <xs:enumeration value="Generation"/>
+ <xs:enumeration value="Qualifikation"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="position" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="prefix"/>
+ <xs:enumeration value="suffix"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Struktur des Abstrakten Address Elements</xs:documentation>
+ </xs:annotation>
+
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="TypisiertePostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht TypedPostalAddressType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PostAdresse"/>
+ <!-- Erweiterung UR -->
+ <xs:element ref="urs:Typ" minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:ErsbAttributes" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+ <xs:complexType name="PostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalAddressType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence>
+ <xs:element name="Staatscode" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Staatencode, ISO Code oder internationaler Post code, entspricht CountryCode</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{3}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Postleitzahl" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalCode</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="Gemeinde" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht Municipality</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Gemeindekennziffer" minOccurs="0"/>
+ <xs:element name="Ortschaft" type="xs:token" minOccurs="0"/>
+ <xs:element name="Zustelladresse" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Zustelladresse oder ZMRAdresse, entspricht DeliveryAddress</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Strassenname" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Bei Ortschaften ohne Straßenname steht hier Ortschaftsname, entspricht StreetName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Orientierungsnummer" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Hausnummer oder Konskriptionsnummer, z.B. 10, 124a, 78-80. Entpricht BuildingNumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <!-- ### auxiliary types ### -->
+ <xs:simpleType name="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>einfacher Datentyp für Daten (union): Tag und/oder Monta können ausgelassen werden, entspricht DayOfBirthType</xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear"/>
+ </xs:simpleType>
+
+</xs:schema>
diff --git a/src/main/resources/wsdl/ERsB/0.4/PersonData_URSuche.xsd b/src/main/resources/wsdl/ERsB/0.4/PersonData_URSuche.xsd
new file mode 100644
index 0000000..d5fd416
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/PersonData_URSuche.xsd
@@ -0,0 +1,505 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Paul (thx) -->
+<!-- edited with XML Spy v4.1 U (http://www.xmlspy.com) by Peter Reichstädter (CIO) -->
+<!--Generisches Schema zum Speichern und Austauschen von Personendaten
+ (c) 2001-2002 Chief Information Office Austria, Stabsstelle IKT-Strategie des Bundes, BMÖLS
+ Kontakt: Peter Reichstädter (peter.reichstaedter@cio.gv.at), Arno Hollosi (arno.hollosi@cio.gv.at)
+ Die freie Verwendung dieses Schemas in Applikationen (behördenintern, kommerziell, privat) ist erlaubt und erwünscht.
+-->
+<!--
+ Anpassungen für URV URSuche v3.0
+ ================================
+ 2012-08-20 hoa AdressCode/Subcode/Objektnummer hinzugefügt
+ 2012-08-08 sml Branche hinzugefügt
+ 2012-08-07 sml kein mixed Content bei den Zusatzdaten mehr möglich
+ 2012-08-06 sml eigener Namespace für UR-Persondata
+ 2012-07-05 sml Any-Attribute und Any-Elemente nach AGII-Empfehlung durch die konkreten ersetzt.
+ 2012-06-14 sml Affix wieder auf unbounded (vgl. URSucheService UDB)
+ -->
+<?xml-stylesheet type="text/xsl" href="getelementnames.xslt"?>
+
+<xs:schema targetNamespace="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns="http://reference.e-government.gv.at/namespace/persondata/de/20040201#" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:uri="http://statistik.at/namespace/ur/stammdaten/2#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
+ elementFormDefault="qualified" attributeFormDefault="unqualified"
+ version="1.0.0">
+
+ <!-- Import der UR-basic -->
+ <xs:import namespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ schemaLocation="ur-basicTypes.xsd" />
+
+
+ <xs:annotation>
+ <xs:documentation>This version of person deploys only global elements.
+ All types derived from abstract types have been replaced by
+ substitution groups</xs:documentation>
+ </xs:annotation>
+ <!-- ### signed structure of a person ### -->
+ <xs:element name="AbstractPersonData" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes PersonenDaten Element, nur auf englisch
+ verfügbar, nicht direkt benützen sondern PersonenDaten benutzen
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="PersonenDaten" type="PersonenDatenTyp"
+ substitutionGroup="AbstractPersonData">
+ <xs:annotation>
+ <xs:documentation>Signierte Personendatenstruktur</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- ### base type for person data ### -->
+ <xs:element name="Person" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Personen Element, nur auf englisch
+ verfügbar, nicht direkt benützen sondern NatuerlichePerson o.
+ NichtNatuerlichePerson benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- ### physical person and corporate body ### -->
+ <xs:element name="NatuerlichePerson" type="NatuerlichePersonTyp"
+ substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>Natuerliche Person entspricht PhysicalPerson, ist
+ eine Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="NichtNatuerlichePerson" type="NichtNatuerlichePersonTyp"
+ substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>NichtNatuerlichePerson entspricht CorporatzeBody,
+ ist Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### complex child elements of person, also available as standalone ### -->
+ <xs:element name="PersonenName" type="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>Container für diverse Namensbestandteile,
+ entspricht Name in der englischen Version</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+
+ <!-- ### adress data for various types of communications ### -->
+ <xs:element name="Address" type="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Address Element, nur auf Englisch
+ verfügbar, nicht direkt benützen sondern PostAdresse,
+ InternetAdresse, etc benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PostAdresse" type="PostAdresseTyp"
+ substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Post oder ZMR Adresse, entspricht PostalAddress,
+ ist Ableitung von Address (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="TypisiertePostAdresse" type="TypisiertePostAdresseTyp"
+ substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Typisierte Post oder ZMRAdresse, entspricht
+ TypedPostalAddress, ist Ableitung von Address (abstract)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### elements of simple type #### -->
+ <xs:element name="Geburtsdatum" type="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>Geburtsdatum, entspricht DateOfBirth
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <!--### Complex types ### -->
+
+
+ <!-- UR Spezialisierung des PersonenDatenTyp -->
+ <xs:complexType name="PersonenDatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu
+ speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="NichtNatuerlichePerson" />
+
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0"
+ maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" minOccurs="0">
+ <!-- UR Erweiterung: kein mixed Content bei den Zusatzdaten -->
+ <xs:complexType mixed="false">
+ <xs:sequence minOccurs="0">
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:AendDat" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element ref="uri:Bestandszeitraum" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Bestandsnachweis" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Vertretung" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Branche" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element name="PersonenDaten" type="PersonenDatenZusatzdatenTyp"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Vollzug" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <!-- UR Spezialisierung für natürliche und nichtnatürliche Personen in den
+ Zusatzdaten -->
+ <xs:complexType name="PersonenDatenZusatzdatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu
+ speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:choice minOccurs="0">
+ <xs:element ref="NichtNatuerlichePerson" />
+ <xs:element ref="NatuerlichePerson" />
+ </xs:choice>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0"
+ maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" minOccurs="0">
+ <!-- UR Erweiterung: kein mixed Content bei den Zusatzdaten -->
+ <xs:complexType mixed="false">
+
+ <xs:sequence minOccurs="0">
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:EvbStatus" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Funktion" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+ <xs:complexType name="IdentificationType">
+ <xs:annotation>
+ <xs:documentation>Container für beliebige Identifikationsmerkmale,
+ besteht aus Type und Value Unterelementen, aus technischen Gründen
+ nur auf Englisch verfügbar</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Value">
+ <xs:annotation>
+ <xs:documentation>actual value of the identifier.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Type" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>type of value (eg 'ZMR', 'SV-Nummer',
+ 'Martrikelnummer', database identification, ...)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:TypeText" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Beginn" minOccurs="0" maxOccurs="1" />
+ <xs:element ref="uri:Ende" minOccurs="0" maxOccurs="1" />
+
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>main structure of person data</xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0">
+ <xs:element name="Identification" type="IdentificationType"
+ minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>unique identification entities</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:complexType>
+
+
+ <xs:complexType name="NatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PhysicalPersonType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PersonenName" minOccurs="0" />
+ <xs:element ref="Geburtsdatum" minOccurs="0" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:VollzugAttributes" />
+ </xs:extension>
+
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+
+ <xs:complexType name="NichtNatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht CorporateBodyType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="VollerName" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>name of corporate body (whole name)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <xs:element name="Rechtsform" type="xs:anyURI"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>type of company (eg AG, OHG, ...)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:UntName" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtsform" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht NameType</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Vorname" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="Familienname" minOccurs="1" maxOccurs="1">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="primaer" default="undefiniert">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="wahr" />
+ <xs:enumeration value="falsch" />
+ <xs:enumeration value="undefiniert" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="prefix" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Affix" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="typ" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="akademischerGrad" />
+ <xs:enumeration value="Adelstitel" />
+ <xs:enumeration value="FamiliennamenAffix" />
+ <xs:enumeration value="Anrede" />
+ <xs:enumeration value="Generation" />
+ <xs:enumeration value="Qualifikation" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="position" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="prefix" />
+ <xs:enumeration value="suffix" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Struktur des Abstrakten Address Elements
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:complexType>
+
+
+
+ <xs:complexType name="TypisiertePostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht TypedPostalAddressType
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PostAdresse" />
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:Typ" minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:VollzugAttributes" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+ <xs:complexType name="PostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalAddressType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence>
+ <xs:element name="Staatscode" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Staatencode, ISO Code oder internationaler Post
+ code, entspricht CountryCode</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{3}" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Postleitzahl" type="xs:token"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalCode</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="Gemeinde" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht Municipality</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Gemeindekennziffer" minOccurs="0" />
+ <xs:element name="Ortschaft" type="xs:token" minOccurs="0" />
+ <xs:element name="Zustelladresse" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Zustelladresse oder ZMRAdresse, entspricht
+ DeliveryAddress</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Strassenname" type="xs:string"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Bei Ortschaften ohne Straßenname steht hier
+ Ortschaftsname, entspricht StreetName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Orientierungsnummer" type="xs:string"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Hausnummer oder Konskriptionsnummer, z.B.
+ 10, 124a, 78-80. Entpricht BuildingNumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AdressRegisterEintrag" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Addressregister database keys used to identify Addresses</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Adresscode" type="string7"/>
+ <xs:element name="Subcode" type="string3" minOccurs="0"/>
+ <xs:element name="Objektnummer" type="string7" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <!-- ### auxiliary types ### -->
+ <xs:simpleType name="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>einfacher Datentyp für Daten (union): Tag und/oder
+ Monta können ausgelassen werden, entspricht DayOfBirthType
+ </xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear" />
+ </xs:simpleType>
+
+ <!-- ### strings of defined maximum lenght for use with ZMR address #### -->
+ <xs:simpleType name="string3">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="3"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string7">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="7"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+</xs:schema>
diff --git a/src/main/resources/wsdl/ERsB/0.4/ersb-types.xsd b/src/main/resources/wsdl/ERsB/0.4/ersb-types.xsd
new file mode 100644
index 0000000..af991e9
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/ersb-types.xsd
@@ -0,0 +1,58 @@
+<!--
+ 2012-06-21 sml V0.0.1 Ersterstellung
+-->
+
+<xsd:schema targetNamespace="http://statistik.at/namespace/ersb/1#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:pdersb="http://statistik.at/namespace/ersb/persondata/1#"
+ elementFormDefault="qualified">
+
+ <xsd:import namespace="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ schemaLocation="PersonData_URSuche.xsd" />
+
+
+ <xsd:import namespace="http://statistik.at/namespace/ersb/persondata/1#"
+ schemaLocation="PersonData_Ersb.xsd" />
+
+
+ <xsd:include schemaLocation="ur-basicTypesErsb.xsd" />
+
+ <xsd:element name="ErsbRequest" type="ersb:ErsbRequest" />
+ <xsd:element name="ErsbResponse" type="ersb:ErsbResponse" />
+
+ <xsd:complexType name="ErsbRequest">
+ <xsd:sequence>
+ <xsd:element name="PersonenDaten" type="pdersb:PersonenDatenTyp"
+ minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!-- Responseelemente -->
+ <xsd:complexType name="ErsbResponse">
+ <xsd:sequence>
+ <xsd:element name="returncode" type="xsd:int" />
+ <xsd:element name="statustext" type="xsd:string" minOccurs="0" maxOccurs="1" />
+ <xsd:element name="PersonenDaten" type="pd:PersonenDatenTyp"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:integer" use="optional" />
+ </xsd:complexType>
+
+
+ <xsd:attribute name="aktion" default="NEU">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="ALT"></xsd:enumeration>
+ <xsd:enumeration value="NEU"></xsd:enumeration>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+
+ <xsd:attributeGroup name="ErsbAttributes">
+ <xsd:attribute ref="ersb:aktion" use="optional"/>
+ </xsd:attributeGroup>
+
+</xsd:schema>
diff --git a/src/main/resources/wsdl/ERsB/0.4/examples/example_SucheUnternehmenNachId_ERsB_Request.xml b/src/main/resources/wsdl/ERsB/0.4/examples/example_SucheUnternehmenNachId_ERsB_Request.xml
new file mode 100644
index 0000000..878f058
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/examples/example_SucheUnternehmenNachId_ERsB_Request.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict_soap.xsd">
+ <soapenv:Header>
+ <secExt:Security xmlns:secExt="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
+ <pvpToken version="1.8" xmlns="http://egov.gv.at/pvp1.xsd">
+ <authenticate>
+ <userPrincipal>
+ <userId>beispiel.user@portal.statistik.gv.at</userId>
+ </userPrincipal>
+ </authenticate>
+ <authorize>
+ <role value="UR-Nutzer"/>
+ </authorize>
+ </pvpToken>
+ </secExt:Security>
+ </soapenv:Header>
+ <soapenv:Body>
+ <ns2:SearchByExample
+ xmlns="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ns2="http://reference.e-government.gv.at/namespace/xml-sw/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#">
+ <ns2:SearchRequestId>96c7ec50-275a-4e9d-86c6-84a710825a77</ns2:SearchRequestId>
+ <ns2:ResultCriteria>
+ <ns2:ExtraResultCriteria>
+ <ns3:ErsbAttribute>true</ns3:ErsbAttribute>
+ </ns2:ExtraResultCriteria>
+ </ns2:ResultCriteria>
+ <ns2:SearchCriteria>
+ <ns3:SucheUnternehmenNachIdRequest xmlns="http://statistik.at/namespace/ur/stammdaten/2#">
+ <version>V3.0</version>
+ <erj>9110001021537</erj>
+ <mitHistorie>false</mitHistorie>
+ </ns3:SucheUnternehmenNachIdRequest>
+ </ns2:SearchCriteria>
+ </ns2:SearchByExample>
+ </soapenv:Body>
+</soapenv:Envelope>
diff --git a/src/main/resources/wsdl/ERsB/0.4/examples/example_SucheUnternehmenNachId_ERsB_Response.xml b/src/main/resources/wsdl/ERsB/0.4/examples/example_SucheUnternehmenNachId_ERsB_Response.xml
new file mode 100644
index 0000000..7fdbaba
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/examples/example_SucheUnternehmenNachId_ERsB_Response.xml
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#"
+ xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict_soap.xsd">
+
+
+ <soapenv:Body>
+ <ns2:SearchResponse
+ xmlns="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ns2="http://reference.e-government.gv.at/namespace/xml-sw/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#">
+ <ns2:SearchRequestId>96c7ec50-275a-4e9d-86c6-84a710825a77</ns2:SearchRequestId>
+ <ns2:ResultInfo>
+ <ns2:FoundRecords>1</ns2:FoundRecords>
+ <ns2:ReturnedRecords>1</ns2:ReturnedRecords>
+ </ns2:ResultInfo>
+ <ns2:ResultRecords>
+ <ns2:ResultRecord id="3343621710471672029696195">
+
+ <PersonenDaten>
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value>
+ <Type>ERJ</Type>
+ <ns3:TypeText>Ordnungsnummer aus dem ERsB</ns3:TypeText>
+ </Identification>
+ <Identification>
+ <Value>R011S390Q</Value>
+ <Type>KUR</Type>
+ <ns3:TypeText>Kennziffer des Unternehmensregisters</ns3:TypeText>
+ </Identification>
+ <Identification>
+ <Value>0002074662</Value>
+ <Type>SID</Type>
+ <ns3:TypeText>Subjektidentifikationsnummer</ns3:TypeText>
+ </Identification>
+ <VollerName>Maxima Musterfrau</VollerName>
+ <Rechtsform>Einzelunternehmen</Rechtsform>
+ <ns3:UntName ns3:vollzugBeginn="v2">
+ <ns3:VollerName>Maxima Musterfrau</ns3:VollerName>
+ </ns3:UntName>
+ <ns3:Rechtsform ns3:vollzugBeginn="v1">
+ <ns3:ReForm>1</ns3:ReForm>
+ <ns3:ReFormText>Einzelunternehmen</ns3:ReFormText>
+ <ns3:ReFormExtern>Einzelunternehmen</ns3:ReFormExtern>
+ </ns3:Rechtsform>
+ </NichtNatuerlichePerson>
+ <TypisiertePostAdresse ns3:vollzugBeginn="v1">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1220</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Prandaugasse</Strassenname>
+ <Orientierungsnummer>10/2</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>SITZ</ns3:Typ>
+ </TypisiertePostAdresse>
+ <Zusatzdaten>
+ <ns3:Bestandszeitraum ns3:vollzugBeginn="v1">
+ <ns3:BestandVon>2010-06-12</ns3:BestandVon>
+ </ns3:Bestandszeitraum>
+ <ns3:Bestandsnachweis ns3:vollzugBeginn="v1">test</ns3:Bestandsnachweis>
+ <ns3:Vertretung ns3:vollzugBeginn="v1">test</ns3:Vertretung>
+ <ns3:Rechtstatsachen ns3:vollzugBeginn="v1">
+ <ns3:RT_Nummer>001</ns3:RT_Nummer>
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zum Unternehmen</ns3:RT_Text>
+ </ns3:Rechtstatsachen>
+ <PersonenDaten>
+ <NatuerlichePerson ns3:vollzugBeginn="v2">
+ <Identification>
+ <Value>A</Value>
+ <Type>PNR</Type>
+ <ns3:TypeText>Personennummer</ns3:TypeText>
+ </Identification>
+ <PersonenName>
+ <Vorname>Maxima</Vorname>
+ <Familienname>Musterfrau</Familienname>
+ <Affix position="prefix">Mag.Dr.</Affix>
+ </PersonenName>
+ <Geburtsdatum>1950-08-01</Geburtsdatum>
+ </NatuerlichePerson>
+ <TypisiertePostAdresse ns3:vollzugBeginn="v2">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1050</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Brandmayergasse</Strassenname>
+ <Orientierungsnummer>2/10</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>ZUSTELLADRESSE</ns3:Typ>
+ </TypisiertePostAdresse>
+ <Zusatzdaten>
+ <ns3:EvbStatus>J</ns3:EvbStatus>
+ <ns3:Funktion ns3:vollzugBeginn="v2">
+ <ns3:FktName>101</ns3:FktName>
+ <ns3:FktNameText>Inhaber</ns3:FktNameText>
+ <ns3:FktRegel ns3:vollzugBeginn="v2">
+ <ns3:FktRegelVon>2010-06-12</ns3:FktRegelVon>
+ <ns3:FktRegelBis>2999-12-31</ns3:FktRegelBis>
+ <ns3:FktRegelText>Vertritt seit 18.12.2010 selbständig</ns3:FktRegelText>
+ </ns3:FktRegel>
+ <ns3:Rechtstatsachen ns3:vollzugBeginn="v2">
+ <ns3:RT_Nummer>001</ns3:RT_Nummer>
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zur Funktion</ns3:RT_Text>
+ </ns3:Rechtstatsachen>
+ </ns3:Funktion>
+ <ns3:Rechtstatsachen ns3:vollzugBeginn="v2">
+ <ns3:RT_Nummer>001</ns3:RT_Nummer>
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zur Person</ns3:RT_Text>
+ </ns3:Rechtstatsachen>
+ </Zusatzdaten>
+ </PersonenDaten>
+ <ns3:Vollzug id="v1" nummer="001" status="V">
+ <ns3:Antrag quelle="XYZ" quText="Quellenname">2012-06-01+01:00</ns3:Antrag>
+ <ns3:Vollzug quelle="XYZ" quText="Quellenname">2012-06-01+01:00</ns3:Vollzug>
+ </ns3:Vollzug>
+ <ns3:Vollzug id="v2" nummer="002" status="V">
+ <ns3:Antrag quelle="XYZ" quText="Quellenname">2012-06-15+01:00</ns3:Antrag>
+ <ns3:Vollzug quelle="XYZ" quText="Quellenname">2012-06-15+01:00</ns3:Vollzug>
+ </ns3:Vollzug>
+ </Zusatzdaten>
+ </PersonenDaten>
+ </ns2:ResultRecord>
+ </ns2:ResultRecords>
+ </ns2:SearchResponse>
+ </soapenv:Body>
+</soapenv:Envelope>
diff --git a/src/main/resources/wsdl/ERsB/0.4/examples/example_SucheUnternehmenNachId_Response.xml b/src/main/resources/wsdl/ERsB/0.4/examples/example_SucheUnternehmenNachId_Response.xml
new file mode 100644
index 0000000..1d6e840
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/examples/example_SucheUnternehmenNachId_Response.xml
@@ -0,0 +1,132 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict_soap.xsd">
+
+ <soapenv:Body>
+ <ns2:SearchResponse
+ xmlns="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ns2="http://reference.e-government.gv.at/namespace/xml-sw/1#"
+ xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#">
+ <ns2:SearchRequestId>96c7ec50-275a-4e9d-86c6-84a710825a77</ns2:SearchRequestId>
+ <ns2:ResultInfo>
+ <ns2:FoundRecords>1</ns2:FoundRecords>
+ <ns2:ReturnedRecords>1</ns2:ReturnedRecords>
+ </ns2:ResultInfo>
+ <ns2:ResultRecords>
+ <ns2:ResultRecord id="3343621710471672029696195">
+
+ <PersonenDaten xmlns="http://reference.e-government.gv.at/namespace/persondata/de/20040201#">
+
+ <NichtNatuerlichePerson>
+
+ <Identification>
+ <Value>9110001021537</Value>
+ <Type>ERJ</Type>
+ <ns3:TypeText>Ordnungsnummer aus dem ERsB</ns3:TypeText>
+ </Identification>
+ <Identification>
+ <Value>R011S390Q</Value>
+ <Type>KUR</Type>
+ <ns3:TypeText>Kennziffer des Unternehmensregisters</ns3:TypeText>
+ </Identification>
+ <Identification>
+ <Value>0002074662</Value>
+ <Type>SID</Type>
+ <ns3:TypeText>Subjektidentifikationsnummer</ns3:TypeText>
+ </Identification>
+
+ <VollerName>Maxima Musterfrau</VollerName>
+ <Rechtsform>Einzelunternehmen</Rechtsform>
+
+ <ns3:UntName ns3:vollzugBeginn="v2">
+ <ns3:VollerName>Maxima Musterfrau</ns3:VollerName>
+ </ns3:UntName>
+ <ns3:Rechtsform ns3:vollzugBeginn="v1">
+ <ns3:ReForm>1</ns3:ReForm>
+ <ns3:ReFormText>Einzelunternehmen</ns3:ReFormText>
+ <ns3:ReFormExtern>Einzelunternehmen</ns3:ReFormExtern>
+ </ns3:Rechtsform>
+
+ </NichtNatuerlichePerson>
+
+ <TypisiertePostAdresse ns3:vollzugBeginn="v1">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1220</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Prandaugasse</Strassenname>
+ <Orientierungsnummer>10/2</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>SITZ</ns3:Typ>
+ </TypisiertePostAdresse>
+
+ <Zusatzdaten>
+
+ <PersonenDaten>
+
+ <NatuerlichePerson ns3:vollzugBeginn="v2">
+ <Identification>
+ <Value>A</Value>
+ <Type>PNR</Type>
+ <ns3:TypeText>Personennummer</ns3:TypeText>
+ </Identification>
+ <PersonenName>
+ <Vorname>Maxima</Vorname>
+ <Familienname>Musterfrau</Familienname>
+ <Affix position="prefix">Mag.Dr.</Affix>
+ </PersonenName>
+ <Geburtsdatum>1950-08-01</Geburtsdatum>
+ </NatuerlichePerson>
+
+ <TypisiertePostAdresse ns3:vollzugBeginn="v2">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1050</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Brandmayergasse</Strassenname>
+ <Orientierungsnummer>2/10</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>ZUSTELLADRESSE</ns3:Typ>
+ </TypisiertePostAdresse>
+
+ <Zusatzdaten>
+ <ns3:EvbStatus>J</ns3:EvbStatus>
+ <ns3:Funktion ns3:vollzugBeginn="v2">
+ <ns3:FktName>101</ns3:FktName>
+ <ns3:FktNameText>Inhaber</ns3:FktNameText>
+ <ns3:FktRegel ns3:vollzugBeginn="v2">
+ <ns3:FktRegelVon>2012-06-15</ns3:FktRegelVon>
+ <ns3:FktRegelBis>2999-12-31</ns3:FktRegelBis>
+ <ns3:FktRegelText>vertritt seit 15.06.2012 selbständig</ns3:FktRegelText>
+ </ns3:FktRegel>
+ </ns3:Funktion>
+ </Zusatzdaten>
+
+ </PersonenDaten>
+
+ <ns3:Vollzug id="v1" nummer="001" status="V">
+ <ns3:Antrag quelle="XYZ" quText="Quellenname">2012-06-01+01:00</ns3:Antrag>
+ <ns3:Vollzug quelle="XYZ" quText="Quellenname">2012-06-01+01:00</ns3:Vollzug>
+ </ns3:Vollzug>
+ <ns3:Vollzug id="v2" nummer="002" status="V">
+ <ns3:Antrag quelle="XYZ" quText="Quellenname">2012-06-15+01:00</ns3:Antrag>
+ <ns3:Vollzug quelle="XYZ" quText="Quellenname">2012-06-15+01:00</ns3:Vollzug>
+ </ns3:Vollzug>
+
+ </Zusatzdaten>
+ </PersonenDaten>
+
+ </ns2:ResultRecord>
+ </ns2:ResultRecords>
+ </ns2:SearchResponse>
+ </soapenv:Body>
+</soapenv:Envelope>
diff --git a/src/main/resources/wsdl/ERsB/0.4/examples/example_SucheUnternehmenNachMerkmalen_Request.xml b/src/main/resources/wsdl/ERsB/0.4/examples/example_SucheUnternehmenNachMerkmalen_Request.xml
new file mode 100644
index 0000000..ba4f77d
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/examples/example_SucheUnternehmenNachMerkmalen_Request.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict_soap.xsd">
+ <soapenv:Header>
+ <secExt:Security xmlns:secExt="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
+ <pvpToken version="1.8" xmlns="http://egov.gv.at/pvp1.xsd">
+ <authenticate>
+ <userPrincipal>
+ <userId>beispiel.user@portal.statistik.gv.at</userId>
+ </userPrincipal>
+ </authenticate>
+ <authorize>
+ <role value="UR-Nutzer"/>
+ </authorize>
+ </pvpToken>
+ </secExt:Security>
+ </soapenv:Header>
+ <soapenv:Body>
+ <ns2:SearchByExample
+ xmlns="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ns2="http://reference.e-government.gv.at/namespace/xml-sw/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#">
+ <ns2:SearchRequestId>96c7ec50-275a-4e9d-86c6-84a710825a77</ns2:SearchRequestId>
+ <ns2:SearchCriteria>
+ <ns3:SucheUnternehmenRequest xmlns="http://statistik.at/namespace/ur/stammdaten/2#">
+ <unternehmensdaten>
+ <phonetisch>true</phonetisch>
+ <untName>austrian*</untName>
+ <rechtsform>1</rechtsform>
+ </unternehmensdaten>
+ </ns3:SucheUnternehmenRequest>
+ </ns2:SearchCriteria>
+ </ns2:SearchByExample>
+ </soapenv:Body>
+</soapenv:Envelope>
diff --git a/src/main/resources/wsdl/ERsB/0.4/examples/example_SucheUnternehmenNachMerkmalen_Response.xml b/src/main/resources/wsdl/ERsB/0.4/examples/example_SucheUnternehmenNachMerkmalen_Response.xml
new file mode 100644
index 0000000..13c8db5
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/examples/example_SucheUnternehmenNachMerkmalen_Response.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict_soap.xsd">
+ <soapenv:Body>
+ <ns2:SearchResponse
+ xmlns="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ns2="http://reference.e-government.gv.at/namespace/xml-sw/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#">
+ <ns2:SearchRequestId>96c7ec50-275a-4e9d-86c6-84a710825a77</ns2:SearchRequestId>
+ <ns2:ResultInfo>
+ <ns2:FoundRecords>4</ns2:FoundRecords>
+ <ns2:ReturnedRecords>4</ns2:ReturnedRecords>
+ </ns2:ResultInfo>
+ <ns2:ResultRecords>
+ <ns2:ResultRecord id="3343621710471672029696195">
+ <PersonenDaten>
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>R012W1121</Value>
+ <Type>KUR</Type>
+ </Identification>
+ <Identification>
+ <Value>034109k</Value>
+ <Type>FBN</Type>
+ </Identification>
+ <VollerName>ams AG</VollerName>
+ <Rechtsform>AG</Rechtsform>
+ </NichtNatuerlichePerson>
+ <TypisiertePostAdresse>
+ <PostAdresse>
+ <Postleitzahl>8141</Postleitzahl>
+ <Ortschaft>Unterpremstätten</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Tobelbader Straße</Strassenname>
+ <Orientierungsnummer>30</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>SITZ</ns3:Typ>
+ </TypisiertePostAdresse>
+ </PersonenDaten>
+ </ns2:ResultRecord>
+ <ns2:ResultRecord id="2389290935010361844224180">
+ <PersonenDaten>
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>R009Y717F</Value>
+ <Type>KUR</Type>
+ </Identification>
+ <Identification>
+ <Value>111000k</Value>
+ <Type>FBN</Type>
+ </Identification>
+ <VollerName>Austrian Airlines AG</VollerName>
+ <Rechtsform>AG</Rechtsform>
+ </NichtNatuerlichePerson>
+ <TypisiertePostAdresse>
+ <PostAdresse>
+ <Postleitzahl>1300</Postleitzahl>
+ <Ortschaft>Wien-Flughafen</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Office Park 2</Strassenname>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>SITZ</ns3:Typ>
+ </TypisiertePostAdresse>
+ </PersonenDaten>
+ </ns2:ResultRecord>
+ <ns2:ResultRecord id="2852693322323432477184195">
+ <PersonenDaten>
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>R025H153A</Value>
+ <Type>KUR</Type>
+ </Identification>
+ <Identification>
+ <Value>301642t</Value>
+ <Type>FBN</Type>
+ </Identification>
+ <VollerName>Austrian Equities Industrie- beteiligungen AG</VollerName>
+ <Rechtsform>AG</Rechtsform>
+ </NichtNatuerlichePerson>
+ <TypisiertePostAdresse>
+ <PostAdresse>
+ <Postleitzahl>1010</Postleitzahl>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Kohlmarkt</Strassenname>
+ <Orientierungsnummer>3</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>SITZ</ns3:Typ>
+ </TypisiertePostAdresse>
+ </PersonenDaten>
+ </ns2:ResultRecord>
+ <ns2:ResultRecord id="4134669977825882403328180">
+ <PersonenDaten>
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>R015S386C</Value>
+ <Type>KUR</Type>
+ </Identification>
+ <Identification>
+ <Value>177696v</Value>
+ <Type>FBN</Type>
+ </Identification>
+ <VollerName>Austrian Power Grid AG</VollerName>
+ <Rechtsform>AG</Rechtsform>
+ </NichtNatuerlichePerson>
+ <TypisiertePostAdresse>
+ <PostAdresse>
+ <Postleitzahl>1220</Postleitzahl>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Wagramer Straße</Strassenname>
+ <Orientierungsnummer>19</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>SITZ</ns3:Typ>
+ </TypisiertePostAdresse>
+ </PersonenDaten>
+ </ns2:ResultRecord>
+ </ns2:ResultRecords>
+ </ns2:SearchResponse>
+ </soapenv:Body>
+</soapenv:Envelope>
diff --git a/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_adr.xml b/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_adr.xml
new file mode 100644
index 0000000..7fbf37a
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_adr.xml
@@ -0,0 +1,46 @@
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:pdersb="http://statistik.at/namespace/ersb/persondata/1#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#"
+ xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <TypisiertePostAdresse ersb:aktion="ALT">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1220</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Prandaugasse</Strassenname>
+ <Orientierungsnummer>10/2</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>SITZ</ns3:Typ>
+ </TypisiertePostAdresse>
+ <TypisiertePostAdresse ersb:aktion="NEU">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1050</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Brandmayergasse</Strassenname>
+ <Orientierungsnummer>2/10</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>SITZ</ns3:Typ>
+ </TypisiertePostAdresse>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_evb.xml b/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_evb.xml
new file mode 100644
index 0000000..0ff99ac
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_evb.xml
@@ -0,0 +1,28 @@
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <PersonenDaten>
+ <NatuerlichePerson>
+ <Identification>
+ <Value>B</Value> <!-- Identifikation der Person -->
+ <Type>PNR</Type>
+ </Identification>
+ </NatuerlichePerson>
+ <Zusatzdaten>
+ <ns3:EvbStatus>N</ns3:EvbStatus>
+ </Zusatzdaten>
+ </PersonenDaten>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_fktregel.xml b/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_fktregel.xml
new file mode 100644
index 0000000..9ad06ce
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_fktregel.xml
@@ -0,0 +1,43 @@
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <PersonenDaten>
+ <NatuerlichePerson>
+ <Identification>
+ <Value>B</Value> <!-- Identifikation der Person -->
+ <Type>PNR</Type>
+ </Identification>
+ </NatuerlichePerson>
+ <Zusatzdaten>
+ <ersb:Funktion>
+ <ns3:FktName>101</ns3:FktName> <!-- Identifikation der Fkt -->
+ <ersb:FktRegel ersb:aktion="ALT">
+ <ns3:FktRegelVon>2010-06-12</ns3:FktRegelVon>
+ <ns3:FktRegelBis>2999-12-31</ns3:FktRegelBis>
+ <ns3:FktRegelText>vertritt seit 18.12.2010 selbständig</ns3:FktRegelText>
+ </ersb:FktRegel>
+ </ersb:Funktion>
+ <ersb:Funktion>
+ <ns3:FktName>101</ns3:FktName> <!-- Identifikation der Fkt -->
+ <ersb:FktRegel ersb:aktion="NEU">
+ <ns3:FktRegelVon>2010-06-12</ns3:FktRegelVon>
+ <ns3:FktRegelBis>2999-12-31</ns3:FktRegelBis>
+ <ns3:FktRegelText>vertritt seit 07.12.2011 gemeinsam mit einem Prokurist</ns3:FktRegelText>
+ </ersb:FktRegel>
+ </ersb:Funktion>
+ </Zusatzdaten>
+ </PersonenDaten>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_persadr.xml b/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_persadr.xml
new file mode 100644
index 0000000..d1ff321
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_persadr.xml
@@ -0,0 +1,53 @@
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <PersonenDaten>
+ <NatuerlichePerson>
+ <Identification>
+ <Value>B</Value> <!-- Identifikation der Person -->
+ <Type>PNR</Type>
+ </Identification>
+ </NatuerlichePerson>
+ <TypisiertePostAdresse ersb:aktion="ALT">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1220</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Prandaugasse</Strassenname>
+ <Orientierungsnummer>10/2</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>ZUSTELLADRESSE</ns3:Typ>
+ </TypisiertePostAdresse>
+ <TypisiertePostAdresse ersb:aktion="NEU">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1050</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Brandmayergasse</Strassenname>
+ <Orientierungsnummer>2/10</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>ZUSTELLADRESSE</ns3:Typ>
+ </TypisiertePostAdresse>
+ </PersonenDaten>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_persdata.xml b/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_persdata.xml
new file mode 100644
index 0000000..6a1ea45
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_persdata.xml
@@ -0,0 +1,46 @@
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <PersonenDaten>
+ <NatuerlichePerson ersb:aktion="ALT">
+ <Identification>
+ <Value>B</Value> <!-- Identifikation der Person -->
+ <Type>PNR</Type>
+ </Identification>
+ <PersonenName>
+ <Vorname>Max</Vorname>
+ <Familienname>Mustermann</Familienname>
+ <Affix position="suffix">MSc</Affix>
+ </PersonenName>
+ <Geburtsdatum>1950-08-01</Geburtsdatum>
+ </NatuerlichePerson>
+ </PersonenDaten>
+ <PersonenDaten>
+ <NatuerlichePerson ersb:aktion="NEU">
+ <Identification>
+ <Value>B</Value> <!-- Identifikation der Person -->
+ <Type>PNR</Type>
+ </Identification>
+ <PersonenName>
+ <Vorname>Max</Vorname>
+ <Familienname>Mustermann</Familienname>
+ <Affix position="prefix">Mag.Dr.</Affix>
+ </PersonenName>
+ <Geburtsdatum>1950-08-01</Geburtsdatum>
+ </NatuerlichePerson>
+ </PersonenDaten>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_person.xml b/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_person.xml
new file mode 100644
index 0000000..2f78d72
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_person.xml
@@ -0,0 +1,51 @@
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <PersonenDaten>
+ <NatuerlichePerson ersb:aktion="NEU">
+ <PersonenName>
+ <Vorname>Maxima</Vorname>
+ <Familienname>Musterfrau</Familienname>
+ <Affix position="prefix">Mag.Dr.</Affix>
+ </PersonenName>
+ <Geburtsdatum>1950-08-01</Geburtsdatum>
+ </NatuerlichePerson>
+ <TypisiertePostAdresse ersb:aktion="NEU">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1050</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Brandmayergasse</Strassenname>
+ <Orientierungsnummer>2/10</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>ZUSTELLADRESSE</ns3:Typ>
+ </TypisiertePostAdresse>
+ <Zusatzdaten>
+ <ersb:Funktion ersb:aktion="NEU">
+ <ns3:FktName>101</ns3:FktName>
+ <ersb:FktRegel ersb:aktion="NEU">
+ <ns3:FktRegelVon>2010-06-12</ns3:FktRegelVon>
+ <ns3:FktRegelBis>2999-12-31</ns3:FktRegelBis>
+ <ns3:FktRegelText>vertritt seit 07.12.2011 gemeinsam mit einem Prokurist</ns3:FktRegelText>
+ </ersb:FktRegel>
+ </ersb:Funktion>
+ </Zusatzdaten>
+ </PersonenDaten>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_pfunkt.xml b/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_pfunkt.xml
new file mode 100644
index 0000000..6db29cd
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_pfunkt.xml
@@ -0,0 +1,34 @@
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <PersonenDaten>
+ <NatuerlichePerson>
+ <Identification>
+ <Value>B</Value> <!-- Identifikation der Person -->
+ <Type>PNR</Type>
+ </Identification>
+ </NatuerlichePerson>
+ <Zusatzdaten>
+ <ersb:Funktion ersb:aktion="ALT">
+ <ns3:FktName>109</ns3:FktName>
+ </ersb:Funktion>
+ <ersb:Funktion ersb:aktion="NEU">
+ <ns3:FktName>121</ns3:FktName>
+ </ersb:Funktion>
+ </Zusatzdaten>
+ </PersonenDaten>
+ </Zusatzdaten>
+
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_rechtsform.xml b/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_rechtsform.xml
new file mode 100644
index 0000000..2a92c1a
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_rechtsform.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ <ersb:Rechtsform ersb:aktion="ALT">
+ <ns3:ReForm>1</ns3:ReForm>
+ </ersb:Rechtsform>
+ <ersb:Rechtsform ersb:aktion="NEU">
+ <ns3:ReForm>3</ns3:ReForm>
+ </ersb:Rechtsform>
+ </NichtNatuerlichePerson>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_untname.xml b/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_untname.xml
new file mode 100644
index 0000000..108ff81
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/examples/example_aend_untname.xml
@@ -0,0 +1,22 @@
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ <ersb:UntName ersb:aktion="ALT">
+ <ns3:VollerName>Max Mustermann</ns3:VollerName>
+ </ersb:UntName>
+ <ersb:UntName ersb:aktion="NEU">
+ <ns3:VollerName>Max Mustermann &amp; Erben</ns3:VollerName>
+ </ersb:UntName>
+ </NichtNatuerlichePerson>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest>
diff --git a/src/main/resources/wsdl/ERsB/0.4/examples/example_neuanlage.xml b/src/main/resources/wsdl/ERsB/0.4/examples/example_neuanlage.xml
new file mode 100644
index 0000000..30dc7eb
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/examples/example_neuanlage.xml
@@ -0,0 +1,96 @@
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>0002074662</Value>
+ <Type>SID</Type>
+ </Identification>
+ <ersb:UntName>
+ <ns3:VollerName>Maximilian Mustermann</ns3:VollerName>
+ </ersb:UntName>
+ <ersb:Rechtsform>
+ <ns3:ReForm>1</ns3:ReForm>
+ </ersb:Rechtsform>
+ </NichtNatuerlichePerson>
+ <TypisiertePostAdresse>
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1220</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Prandaugasse</Strassenname>
+ <Orientierungsnummer>10/2</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>SITZ</ns3:Typ>
+ </TypisiertePostAdresse>
+ <Zusatzdaten>
+ <ersb:Bestandszeitraum>
+ <ns3:BestandVon>2010-06-12</ns3:BestandVon>
+ </ersb:Bestandszeitraum>
+ <ersb:Bestandsnachweis>Text für Bestandsnachweis</ersb:Bestandsnachweis>
+ <ersb:Vertretung>Vertretungsregelung für das Unternehmen</ersb:Vertretung>
+ <ersb:Rechtstatsachen>
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zum Unternehmen</ns3:RT_Text>
+ </ersb:Rechtstatsachen>
+ <PersonenDaten>
+ <NatuerlichePerson>
+ <Identification> <!-- optional: Fremd-bPK WT-UR -->
+ <Value>spwAeUM/n8okpsROzLSxNUn/U6Sr+/evE9rs0xI7WsRO79d
+ Sf4OBRS/q3LTt2GKrptB5ZfY/T137l8MuglMw3GbxLY7J4WlUnUbCCCnW4FP7G
+ b8HjFItBri9hIjtV3a6H+rMBfmpNXyzAhTuvAtxUmB7ZHyUUF/kVIxpjA4SRWs=</Value>
+ <Type>BPK</Type>
+ </Identification>
+ <PersonenName>
+ <Vorname>Maxima</Vorname>
+ <Familienname>Musterfrau</Familienname>
+ <Affix position="prefix">Mag.Dr.</Affix>
+ </PersonenName>
+ <Geburtsdatum>1950-08-01</Geburtsdatum>
+ </NatuerlichePerson>
+ <TypisiertePostAdresse>
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1050</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Brandmayergasse</Strassenname>
+ <Orientierungsnummer>2/10</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>ZUSTELLADRESSE</ns3:Typ>
+ </TypisiertePostAdresse>
+ <Zusatzdaten>
+ <ns3:EvbStatus>J</ns3:EvbStatus>
+ <ersb:Funktion>
+ <ns3:FktName>101</ns3:FktName>
+ <ersb:FktRegel>
+ <ns3:FktRegelVon>2010-06-12</ns3:FktRegelVon>
+ <ns3:FktRegelBis>2999-12-31</ns3:FktRegelBis>
+ <ns3:FktRegelText>vertritt seit 18.12.2010 selbständig</ns3:FktRegelText>
+ </ersb:FktRegel>
+ <ersb:Rechtstatsachen>
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zur Funktion</ns3:RT_Text>
+ </ersb:Rechtstatsachen>
+ </ersb:Funktion>
+ <ersb:Rechtstatsachen>
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zur Person</ns3:RT_Text>
+ </ersb:Rechtstatsachen>
+ </Zusatzdaten>
+ </PersonenDaten>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/0.4/examples/example_neuanlage_response.xml b/src/main/resources/wsdl/ERsB/0.4/examples/example_neuanlage_response.xml
new file mode 100644
index 0000000..96022fd
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/examples/example_neuanlage_response.xml
@@ -0,0 +1,127 @@
+<ersb:ErsbResponse xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#"
+ xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:returncode>1</ersb:returncode>
+ <ersb:statustext>OK</ersb:statustext>
+ <ersb:PersonenDaten xmlns="http://reference.e-government.gv.at/namespace/persondata/de/20040201#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- vom ERsB generiert -->
+ <Type>ERJ</Type>
+ <ns3:TypeText>Ordnungsnummer aus dem ERsB</ns3:TypeText>
+ <ns3:Beginn quelle="ERJ"
+ quText="Ergänzungsregister für sonstige Betroffene">2012-06-01+01:00</ns3:Beginn>
+ </Identification>
+ <Identification>
+ <Value>R011S390Q</Value> <!-- vom ERsB generiert -->
+ <Type>KUR</Type>
+ <ns3:TypeText>Kennziffer des Unternehmensregisters</ns3:TypeText>
+ <ns3:Beginn quelle="URV"
+ quText="Unternehmensregister für Verwaltungszwecke">2012-06-01+01:00</ns3:Beginn>
+ </Identification>
+ <Identification>
+ <Value>0002074662</Value>
+ <Type>SID</Type>
+ <ns3:TypeText>Subjektidentifikationsnummer</ns3:TypeText>
+ <ns3:Beginn quelle="XYZ" quText="Quellenname">2012-06-01+01:00</ns3:Beginn>
+ </Identification>
+ <VollerName>Max Mustermann</VollerName>
+ <Rechtsform>Einzelunternehmen</Rechtsform>
+ <ns3:UntName ns3:vollzugBeginn="v1" >
+ <ns3:VollerName>Max Mustermann</ns3:VollerName>
+ </ns3:UntName>
+ <ns3:Rechtsform ns3:vollzugBeginn="v1">
+ <ns3:ReForm>1</ns3:ReForm>
+ <ns3:ReFormText>Einzelunternehmen</ns3:ReFormText>
+ <ns3:ReFormExtern>Einzelunternehmen</ns3:ReFormExtern>
+ </ns3:Rechtsform>
+ </NichtNatuerlichePerson>
+ <TypisiertePostAdresse ns3:vollzugBeginn="v1">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1220</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Prandaugasse</Strassenname>
+ <Orientierungsnummer>10/2</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>SITZ</ns3:Typ>
+ </TypisiertePostAdresse>
+ <Zusatzdaten>
+ <ns3:Bestandszeitraum ns3:vollzugBeginn="v1">
+ <ns3:BestandVon>2010-06-12</ns3:BestandVon>
+ </ns3:Bestandszeitraum>
+ <ns3:Bestandsnachweis ns3:vollzugBeginn="v1">
+ Text für Bestandsnachweis</ns3:Bestandsnachweis>
+ <ns3:Vertretung ns3:vollzugBeginn="v1">
+ Vertretungsregelung für das Unternehmen</ns3:Vertretung>
+ <ns3:Rechtstatsachen ns3:vollzugBeginn="v1">
+ <ns3:RT_Nummer>001</ns3:RT_Nummer> <!-- vom ERsB generiert -->
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zum Unternehmen</ns3:RT_Text>
+ </ns3:Rechtstatsachen>
+ <PersonenDaten>
+ <NatuerlichePerson ns3:vollzugBeginn="v1">
+ <Identification>
+ <Value>A</Value> <!-- vom ERsB generiert -->
+ <Type>PNR</Type>
+ <ns3:TypeText>Personennummer</ns3:TypeText>
+ </Identification>
+ <PersonenName>
+ <Vorname>Maxima</Vorname>
+ <Familienname>Musterfrau</Familienname>
+ <Affix position="prefix">Mag.Dr.</Affix>
+ </PersonenName>
+ <Geburtsdatum>1950-08-01</Geburtsdatum>
+ </NatuerlichePerson>
+ <TypisiertePostAdresse ns3:vollzugBeginn="v1">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1050</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Brandmayergasse</Strassenname>
+ <Orientierungsnummer>2/10</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>ZUSTELLADRESSE</ns3:Typ>
+ </TypisiertePostAdresse>
+ <Zusatzdaten>
+ <ns3:EvbStatus>J</ns3:EvbStatus>
+ <ns3:Funktion ns3:vollzugBeginn="v1">
+ <ns3:FktName>101</ns3:FktName>
+ <ns3:FktNameText>Inhaber</ns3:FktNameText>
+ <ns3:FktRegel ns3:vollzugBeginn="v1">
+ <ns3:FktRegelVon>2010-06-12</ns3:FktRegelVon>
+ <ns3:FktRegelBis>2999-12-31</ns3:FktRegelBis>
+ <ns3:FktRegelText>vertritt seit 18.12.2010 selbständig</ns3:FktRegelText>
+ </ns3:FktRegel>
+ <ns3:Rechtstatsachen ns3:vollzugBeginn="v1">
+ <ns3:RT_Nummer>001</ns3:RT_Nummer> <!-- vom ERsB generiert -->
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zur Funktion</ns3:RT_Text>
+ </ns3:Rechtstatsachen>
+ </ns3:Funktion>
+ <ns3:Rechtstatsachen ns3:vollzugBeginn="v1">
+ <ns3:RT_Nummer>001</ns3:RT_Nummer> <!-- vom ERsB generiert -->
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zur Person</ns3:RT_Text>
+ </ns3:Rechtstatsachen>
+ </Zusatzdaten>
+ </PersonenDaten>
+ <ns3:Vollzug id="v1" nummer="001" status="A">
+ <ns3:Antrag quelle="XYZ" quText="Quellenname">
+ 2012-06-01+01:00</ns3:Antrag>
+ </ns3:Vollzug>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbResponse>
diff --git a/src/main/resources/wsdl/ERsB/0.4/schema/PersonData_Ersb.xsd b/src/main/resources/wsdl/ERsB/0.4/schema/PersonData_Ersb.xsd
new file mode 100644
index 0000000..920456e
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/schema/PersonData_Ersb.xsd
@@ -0,0 +1,420 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Paul (thx) -->
+<!-- edited with XML Spy v4.1 U (http://www.xmlspy.com) by Peter Reichstädter (CIO) -->
+<!--Generisches Schema zum Speichern und Austauschen von Personendaten
+ (c) 2001-2002 Chief Information Office Austria, Stabsstelle IKT-Strategie des Bundes, BMÖLS
+ Kontakt: Peter Reichstädter (peter.reichstaedter@cio.gv.at), Arno Hollosi (arno.hollosi@cio.gv.at)
+ Die freie Verwendung dieses Schemas in Applikationen (behördenintern, kommerziell, privat) ist erlaubt und erwünscht.
+-->
+<!--
+ Adaptierung URV URSuche v3.0 für Ersb Schnittstelle
+ ===================================================
+ 2012-09-03 sml IdentificationType um ErsbAttributes erweitert
+ 2012-08-07 sml kein mixed Content bei den Zusatzdaten mehr möglich
+ 2012-07-05 sml Any-Attribute und Any-Elemente nach AGII-Empfehlung durch die konkreten ersetzt.
+ 2012-06-14 sml Affix wieder auf unbounded (vgl. URSucheService UDB)
+ -->
+<?xml-stylesheet type="text/xsl" href="getelementnames.xslt"?>
+
+<xs:schema targetNamespace="http://statistik.at/namespace/ersb/persondata/1#"
+ xmlns="http://statistik.at/namespace/ersb/persondata/1#"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:uri="http://statistik.at/namespace/ersb/1#"
+ xmlns:urs="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0.0">
+
+ <!-- Import der ERSB-suche -->
+
+ <xs:import namespace="http://statistik.at/namespace/ersb/1#"
+ schemaLocation="ersb-types.xsd" />
+
+
+ <!-- Import UR Suche -->
+ <xs:import namespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ schemaLocation="ur-basicTypes.xsd" />
+
+
+ <xs:annotation>
+ <xs:documentation>This version of person deploys only global elements. All types derived from abstract types have been replaced by substitution groups</xs:documentation>
+ </xs:annotation>
+ <!-- ### signed structure of a person ### -->
+ <xs:element name="AbstractPersonData" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes PersonenDaten Element, nur auf englisch verfügbar, nicht direkt benützen sondern PersonenDaten benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="PersonenDaten" type="PersonenDatenTyp" substitutionGroup="AbstractPersonData">
+ <xs:annotation>
+ <xs:documentation>Signierte Personendatenstruktur</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- ### base type for person data ### -->
+ <xs:element name="Person" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Personen Element, nur auf englisch verfügbar, nicht direkt benützen sondern NatuerlichePerson o. NichtNatuerlichePerson benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- ### physical person and corporate body ### -->
+ <xs:element name="NatuerlichePerson" type="NatuerlichePersonTyp" substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>Natuerliche Person entspricht PhysicalPerson, ist eine Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="NichtNatuerlichePerson" type="NichtNatuerlichePersonTyp" substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>NichtNatuerlichePerson entspricht CorporatzeBody, ist Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### complex child elements of person, also available as standalone ###-->
+ <xs:element name="PersonenName" type="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>Container für diverse Namensbestandteile, entspricht Name in der englischen Version</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+
+ <!-- ### adress data for various types of communications ### -->
+ <xs:element name="Address" type="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Address Element, nur auf Englisch verfügbar, nicht direkt benützen sondern PostAdresse, InternetAdresse, etc benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PostAdresse" type="PostAdresseTyp" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Post oder ZMR Adresse, entspricht PostalAddress, ist Ableitung von Address (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="TypisiertePostAdresse" type="TypisiertePostAdresseTyp" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Typisierte Post oder ZMRAdresse, entspricht TypedPostalAddress, ist Ableitung von Address (abstract) </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### elements of simple type ####-->
+ <xs:element name="Geburtsdatum" type="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>Geburtsdatum, entspricht DateOfBirth</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <!--### Complex types ###-->
+
+
+ <!-- UR Spezialisierung des PersonenDatenTyp -->
+ <xs:complexType name="PersonenDatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="NichtNatuerlichePerson"/>
+
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0" maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" minOccurs="0">
+ <xs:complexType mixed="false">
+ <xs:sequence minOccurs="0">
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:Bestandszeitraum" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Bestandsnachweis" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Vertretung" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element name="PersonenDaten" type="PersonenDatenZusatzdatenTyp" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <!-- UR Spezialisierung für natürliche und nichtnatürliche Personen in den Zusatzdaten-->
+ <xs:complexType name="PersonenDatenZusatzdatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:choice minOccurs="0">
+ <xs:element ref="NichtNatuerlichePerson"/>
+ <xs:element ref="NatuerlichePerson"/>
+ </xs:choice>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0" maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" minOccurs="0">
+ <xs:complexType mixed="false">
+
+ <xs:sequence minOccurs="0">
+ <!-- Erweiterung UR -->
+ <xs:element ref="urs:EvbStatus" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Funktion" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+<xs:complexType name="IdentificationType">
+ <xs:annotation>
+ <xs:documentation>Container für beliebige Identifikationsmerkmale, besteht aus Type und Value Unterelementen, aus technischen Gründen nur auf Englisch verfügbar</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Value">
+ <xs:annotation>
+ <xs:documentation>actual value of the identifier.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Type" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>type of value (eg 'ZMR', 'SV-Nummer', 'Martrikelnummer', database identification, ...)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:ErsbAttributes" />
+
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>main structure of person data</xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0">
+ <xs:element name="Identification" type="IdentificationType" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>unique identification entities</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ </xs:complexType>
+
+
+ <xs:complexType name="NatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PhysicalPersonType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PersonenName" minOccurs="0"/>
+ <xs:element ref="Geburtsdatum" minOccurs="0"/>
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:ErsbAttributes" />
+ </xs:extension>
+
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+
+ <xs:complexType name="NichtNatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht CorporateBodyType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="VollerName" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>name of corporate body (whole name)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="Rechtsform" type="xs:anyURI" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>type of company (eg AG, OHG, ...)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:UntName" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtsform" minOccurs="0" maxOccurs="unbounded" />
+
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht NameType</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Vorname" type="xs:string" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="Familienname" minOccurs="1" maxOccurs="1">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="primaer" default="undefiniert">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="wahr"/>
+ <xs:enumeration value="falsch"/>
+ <xs:enumeration value="undefiniert"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="prefix" type="xs:string"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Affix" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="typ" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="akademischerGrad"/>
+ <xs:enumeration value="Adelstitel"/>
+ <xs:enumeration value="FamiliennamenAffix"/>
+ <xs:enumeration value="Anrede"/>
+ <xs:enumeration value="Generation"/>
+ <xs:enumeration value="Qualifikation"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="position" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="prefix"/>
+ <xs:enumeration value="suffix"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Struktur des Abstrakten Address Elements</xs:documentation>
+ </xs:annotation>
+
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="TypisiertePostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht TypedPostalAddressType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PostAdresse"/>
+ <!-- Erweiterung UR -->
+ <xs:element ref="urs:Typ" minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:ErsbAttributes" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+ <xs:complexType name="PostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalAddressType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence>
+ <xs:element name="Staatscode" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Staatencode, ISO Code oder internationaler Post code, entspricht CountryCode</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{3}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Postleitzahl" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalCode</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="Gemeinde" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht Municipality</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Gemeindekennziffer" minOccurs="0"/>
+ <xs:element name="Ortschaft" type="xs:token" minOccurs="0"/>
+ <xs:element name="Zustelladresse" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Zustelladresse oder ZMRAdresse, entspricht DeliveryAddress</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Strassenname" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Bei Ortschaften ohne Straßenname steht hier Ortschaftsname, entspricht StreetName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Orientierungsnummer" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Hausnummer oder Konskriptionsnummer, z.B. 10, 124a, 78-80. Entpricht BuildingNumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <!-- ### auxiliary types ### -->
+ <xs:simpleType name="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>einfacher Datentyp für Daten (union): Tag und/oder Monta können ausgelassen werden, entspricht DayOfBirthType</xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear"/>
+ </xs:simpleType>
+
+</xs:schema>
diff --git a/src/main/resources/wsdl/ERsB/0.4/schema/PersonData_URSuche.xsd b/src/main/resources/wsdl/ERsB/0.4/schema/PersonData_URSuche.xsd
new file mode 100644
index 0000000..d5fd416
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/schema/PersonData_URSuche.xsd
@@ -0,0 +1,505 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Paul (thx) -->
+<!-- edited with XML Spy v4.1 U (http://www.xmlspy.com) by Peter Reichstädter (CIO) -->
+<!--Generisches Schema zum Speichern und Austauschen von Personendaten
+ (c) 2001-2002 Chief Information Office Austria, Stabsstelle IKT-Strategie des Bundes, BMÖLS
+ Kontakt: Peter Reichstädter (peter.reichstaedter@cio.gv.at), Arno Hollosi (arno.hollosi@cio.gv.at)
+ Die freie Verwendung dieses Schemas in Applikationen (behördenintern, kommerziell, privat) ist erlaubt und erwünscht.
+-->
+<!--
+ Anpassungen für URV URSuche v3.0
+ ================================
+ 2012-08-20 hoa AdressCode/Subcode/Objektnummer hinzugefügt
+ 2012-08-08 sml Branche hinzugefügt
+ 2012-08-07 sml kein mixed Content bei den Zusatzdaten mehr möglich
+ 2012-08-06 sml eigener Namespace für UR-Persondata
+ 2012-07-05 sml Any-Attribute und Any-Elemente nach AGII-Empfehlung durch die konkreten ersetzt.
+ 2012-06-14 sml Affix wieder auf unbounded (vgl. URSucheService UDB)
+ -->
+<?xml-stylesheet type="text/xsl" href="getelementnames.xslt"?>
+
+<xs:schema targetNamespace="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns="http://reference.e-government.gv.at/namespace/persondata/de/20040201#" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:uri="http://statistik.at/namespace/ur/stammdaten/2#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
+ elementFormDefault="qualified" attributeFormDefault="unqualified"
+ version="1.0.0">
+
+ <!-- Import der UR-basic -->
+ <xs:import namespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ schemaLocation="ur-basicTypes.xsd" />
+
+
+ <xs:annotation>
+ <xs:documentation>This version of person deploys only global elements.
+ All types derived from abstract types have been replaced by
+ substitution groups</xs:documentation>
+ </xs:annotation>
+ <!-- ### signed structure of a person ### -->
+ <xs:element name="AbstractPersonData" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes PersonenDaten Element, nur auf englisch
+ verfügbar, nicht direkt benützen sondern PersonenDaten benutzen
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="PersonenDaten" type="PersonenDatenTyp"
+ substitutionGroup="AbstractPersonData">
+ <xs:annotation>
+ <xs:documentation>Signierte Personendatenstruktur</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- ### base type for person data ### -->
+ <xs:element name="Person" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Personen Element, nur auf englisch
+ verfügbar, nicht direkt benützen sondern NatuerlichePerson o.
+ NichtNatuerlichePerson benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- ### physical person and corporate body ### -->
+ <xs:element name="NatuerlichePerson" type="NatuerlichePersonTyp"
+ substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>Natuerliche Person entspricht PhysicalPerson, ist
+ eine Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="NichtNatuerlichePerson" type="NichtNatuerlichePersonTyp"
+ substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>NichtNatuerlichePerson entspricht CorporatzeBody,
+ ist Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### complex child elements of person, also available as standalone ### -->
+ <xs:element name="PersonenName" type="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>Container für diverse Namensbestandteile,
+ entspricht Name in der englischen Version</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+
+ <!-- ### adress data for various types of communications ### -->
+ <xs:element name="Address" type="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Address Element, nur auf Englisch
+ verfügbar, nicht direkt benützen sondern PostAdresse,
+ InternetAdresse, etc benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PostAdresse" type="PostAdresseTyp"
+ substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Post oder ZMR Adresse, entspricht PostalAddress,
+ ist Ableitung von Address (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="TypisiertePostAdresse" type="TypisiertePostAdresseTyp"
+ substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Typisierte Post oder ZMRAdresse, entspricht
+ TypedPostalAddress, ist Ableitung von Address (abstract)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### elements of simple type #### -->
+ <xs:element name="Geburtsdatum" type="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>Geburtsdatum, entspricht DateOfBirth
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <!--### Complex types ### -->
+
+
+ <!-- UR Spezialisierung des PersonenDatenTyp -->
+ <xs:complexType name="PersonenDatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu
+ speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="NichtNatuerlichePerson" />
+
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0"
+ maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" minOccurs="0">
+ <!-- UR Erweiterung: kein mixed Content bei den Zusatzdaten -->
+ <xs:complexType mixed="false">
+ <xs:sequence minOccurs="0">
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:AendDat" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element ref="uri:Bestandszeitraum" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Bestandsnachweis" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Vertretung" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Branche" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element name="PersonenDaten" type="PersonenDatenZusatzdatenTyp"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Vollzug" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <!-- UR Spezialisierung für natürliche und nichtnatürliche Personen in den
+ Zusatzdaten -->
+ <xs:complexType name="PersonenDatenZusatzdatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu
+ speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:choice minOccurs="0">
+ <xs:element ref="NichtNatuerlichePerson" />
+ <xs:element ref="NatuerlichePerson" />
+ </xs:choice>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0"
+ maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" minOccurs="0">
+ <!-- UR Erweiterung: kein mixed Content bei den Zusatzdaten -->
+ <xs:complexType mixed="false">
+
+ <xs:sequence minOccurs="0">
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:EvbStatus" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Funktion" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+ <xs:complexType name="IdentificationType">
+ <xs:annotation>
+ <xs:documentation>Container für beliebige Identifikationsmerkmale,
+ besteht aus Type und Value Unterelementen, aus technischen Gründen
+ nur auf Englisch verfügbar</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Value">
+ <xs:annotation>
+ <xs:documentation>actual value of the identifier.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Type" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>type of value (eg 'ZMR', 'SV-Nummer',
+ 'Martrikelnummer', database identification, ...)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:TypeText" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Beginn" minOccurs="0" maxOccurs="1" />
+ <xs:element ref="uri:Ende" minOccurs="0" maxOccurs="1" />
+
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>main structure of person data</xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0">
+ <xs:element name="Identification" type="IdentificationType"
+ minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>unique identification entities</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:complexType>
+
+
+ <xs:complexType name="NatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PhysicalPersonType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PersonenName" minOccurs="0" />
+ <xs:element ref="Geburtsdatum" minOccurs="0" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:VollzugAttributes" />
+ </xs:extension>
+
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+
+ <xs:complexType name="NichtNatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht CorporateBodyType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="VollerName" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>name of corporate body (whole name)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <xs:element name="Rechtsform" type="xs:anyURI"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>type of company (eg AG, OHG, ...)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:UntName" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtsform" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht NameType</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Vorname" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="Familienname" minOccurs="1" maxOccurs="1">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="primaer" default="undefiniert">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="wahr" />
+ <xs:enumeration value="falsch" />
+ <xs:enumeration value="undefiniert" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="prefix" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Affix" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="typ" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="akademischerGrad" />
+ <xs:enumeration value="Adelstitel" />
+ <xs:enumeration value="FamiliennamenAffix" />
+ <xs:enumeration value="Anrede" />
+ <xs:enumeration value="Generation" />
+ <xs:enumeration value="Qualifikation" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="position" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="prefix" />
+ <xs:enumeration value="suffix" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Struktur des Abstrakten Address Elements
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:complexType>
+
+
+
+ <xs:complexType name="TypisiertePostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht TypedPostalAddressType
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PostAdresse" />
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:Typ" minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:VollzugAttributes" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+ <xs:complexType name="PostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalAddressType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence>
+ <xs:element name="Staatscode" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Staatencode, ISO Code oder internationaler Post
+ code, entspricht CountryCode</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{3}" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Postleitzahl" type="xs:token"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalCode</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="Gemeinde" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht Municipality</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Gemeindekennziffer" minOccurs="0" />
+ <xs:element name="Ortschaft" type="xs:token" minOccurs="0" />
+ <xs:element name="Zustelladresse" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Zustelladresse oder ZMRAdresse, entspricht
+ DeliveryAddress</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Strassenname" type="xs:string"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Bei Ortschaften ohne Straßenname steht hier
+ Ortschaftsname, entspricht StreetName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Orientierungsnummer" type="xs:string"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Hausnummer oder Konskriptionsnummer, z.B.
+ 10, 124a, 78-80. Entpricht BuildingNumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AdressRegisterEintrag" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Addressregister database keys used to identify Addresses</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Adresscode" type="string7"/>
+ <xs:element name="Subcode" type="string3" minOccurs="0"/>
+ <xs:element name="Objektnummer" type="string7" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <!-- ### auxiliary types ### -->
+ <xs:simpleType name="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>einfacher Datentyp für Daten (union): Tag und/oder
+ Monta können ausgelassen werden, entspricht DayOfBirthType
+ </xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear" />
+ </xs:simpleType>
+
+ <!-- ### strings of defined maximum lenght for use with ZMR address #### -->
+ <xs:simpleType name="string3">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="3"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string7">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="7"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+</xs:schema>
diff --git a/src/main/resources/wsdl/ERsB/0.4/schema/ersb-types.xsd b/src/main/resources/wsdl/ERsB/0.4/schema/ersb-types.xsd
new file mode 100644
index 0000000..af991e9
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/schema/ersb-types.xsd
@@ -0,0 +1,58 @@
+<!--
+ 2012-06-21 sml V0.0.1 Ersterstellung
+-->
+
+<xsd:schema targetNamespace="http://statistik.at/namespace/ersb/1#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:pdersb="http://statistik.at/namespace/ersb/persondata/1#"
+ elementFormDefault="qualified">
+
+ <xsd:import namespace="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ schemaLocation="PersonData_URSuche.xsd" />
+
+
+ <xsd:import namespace="http://statistik.at/namespace/ersb/persondata/1#"
+ schemaLocation="PersonData_Ersb.xsd" />
+
+
+ <xsd:include schemaLocation="ur-basicTypesErsb.xsd" />
+
+ <xsd:element name="ErsbRequest" type="ersb:ErsbRequest" />
+ <xsd:element name="ErsbResponse" type="ersb:ErsbResponse" />
+
+ <xsd:complexType name="ErsbRequest">
+ <xsd:sequence>
+ <xsd:element name="PersonenDaten" type="pdersb:PersonenDatenTyp"
+ minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!-- Responseelemente -->
+ <xsd:complexType name="ErsbResponse">
+ <xsd:sequence>
+ <xsd:element name="returncode" type="xsd:int" />
+ <xsd:element name="statustext" type="xsd:string" minOccurs="0" maxOccurs="1" />
+ <xsd:element name="PersonenDaten" type="pd:PersonenDatenTyp"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:integer" use="optional" />
+ </xsd:complexType>
+
+
+ <xsd:attribute name="aktion" default="NEU">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="ALT"></xsd:enumeration>
+ <xsd:enumeration value="NEU"></xsd:enumeration>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+
+ <xsd:attributeGroup name="ErsbAttributes">
+ <xsd:attribute ref="ersb:aktion" use="optional"/>
+ </xsd:attributeGroup>
+
+</xsd:schema>
diff --git a/src/main/resources/wsdl/ERsB/0.4/schema/specific/CustomFault.xsd b/src/main/resources/wsdl/ERsB/0.4/schema/specific/CustomFault.xsd
new file mode 100644
index 0000000..c73d667
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/schema/specific/CustomFault.xsd
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <xs:element name="Message" type="CustomFaultType"/>
+
+ <xs:complexType name="CustomFaultType" final="extension">
+ <xs:annotation>
+ <xs:documentation>CustomFault reporting structure</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Code" type="xs:integer"/>
+ <xs:element name="Reason" type="xs:string" maxOccurs="unbounded"/>
+ <xs:element name="Help" type="xs:string" minOccurs="0"/>
+ <xs:element name="Detail" type="xs:anyType" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+</xs:schema>
diff --git a/src/main/resources/wsdl/ERsB/0.4/schema/ur-basicTypes.xsd b/src/main/resources/wsdl/ERsB/0.4/schema/ur-basicTypes.xsd
new file mode 100644
index 0000000..c5e6534
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/schema/ur-basicTypes.xsd
@@ -0,0 +1,281 @@
+<!--
+ 2012-07-31 sml V0.0.6 Entfernung aller any-Attribute; Umbau auf Vererbung mit VollzugsAttributen
+ 2012-06-21 sml V0.0.5 Aufsplittung auf ur_basic_types.xsd und ur_suche.xsd
+ Erweiterung der Merkmalsgruppen um any-Attribute
+ 2012-06-15 sml V0.0.4 Erweiterung AdressTyp (simple) um ZUSTELLADRESSE
+ Anpasssung vollzugBeginn und vollzugEnde auf IDREFs
+ Branche um Beginn und Ende (Quelle) erweitert.
+ 2012-06-14 hoa Vollzugsreferenzen als Attribute,
+ Ergängzung ERsB Attribute (Bestandszeitraum, Bestandsnachweis, Vertretung, Rechtstatsachen)
+ Erweiterung der SimpleTypes: AktionTyp, RT_Nummer, RT_Code
+ 2012-06-12 sml V0.0.2 Erweiterung SimpleTypes: AdressTyp, EvbStatusTyp
+ Erweiterung Elemente: VollzugGroup für vollziehbare Merkmalsgruppen
+ VollzugElem für die Quellinfo
+ Einbau ID/IDREF für Vollzug (VollzugRef)
+ Typ (AdressTyp) und EvbStatus (EvbStausTyp)
+ 2012-06-04 hoa V0.0.1 Entwurf
+-->
+
+<xsd:schema targetNamespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:std="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:st="http://statistik.at/namespace/ur/simpleTypes/2#"
+ elementFormDefault="qualified">
+
+ <xsd:import namespace="http://statistik.at/namespace/ur/simpleTypes/2#"
+ schemaLocation="ur-simpleTypes.xsd" />
+
+
+
+
+
+
+ <!-- Responseelemente -->
+
+ <xsd:attribute name="vollzugBeginn" type="xsd:IDREF" />
+ <xsd:attribute name="vollzugEnde" type="xsd:IDREF" />
+
+ <xsd:attributeGroup name="VollzugAttributes">
+ <xsd:attribute ref="std:vollzugBeginn" use="optional" />
+ <xsd:attribute ref="std:vollzugEnde" use="optional"/>
+ </xsd:attributeGroup>
+
+ <xsd:element name="Beginn" type="std:QuellenType"/>
+ <xsd:element name="Ende" type="std:QuellenType"/>
+ <xsd:element name="Vollzug" type="std:Vollzug" />
+
+ <xsd:element name="TypeText" type="xsd:string" />
+ <xsd:element name="UntName" type="std:UntNameVollzug" />
+ <xsd:element name="Rechtsform" type="std:RechtsformVollzug" />
+ <xsd:element name="Bestandszeitraum" type="std:BestandszeitraumVollzug" />
+ <xsd:element name="Bestandsnachweis" type="std:BestandsnachweisVollzug" />
+ <xsd:element name="Vertretung" type="std:VetretungVollzug" />
+ <xsd:element name="Rechtstatsachen" type="std:RechtstatsachenVollzug" />
+ <xsd:element name="Funktion" type="std:FunktionVollzug" />
+ <xsd:element name="Branche" type="std:Branche" />
+ <xsd:element name="AendDat" type="xsd:dateTime" />
+ <xsd:element name="bpkWTUR" type="xsd:string" />
+ <xsd:element name="Typ" type="st:AdressTyp" />
+ <xsd:element name="EvbStatus" type="st:EvbStatusTyp" />
+
+ <xsd:complexType name="UntName" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="VollerName" type="st:UntNameTyp"
+ minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="UntNameVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:UntName">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Rechtsform" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="ReForm" type="st:RechtsformTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="ReFormText" type="st:RechtsformTextTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="ReFormExtern" type="st:RechtsformTextTyp"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="RechtsformVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtsform">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Bestandszeitraum" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="BestandVon" type="xsd:date"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="BestandBis" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="BestandszeitraumVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandszeitraum">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Bestandsnachweis" abstract="true">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="BestandsnachweisVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandsnachweis">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Vetretung" abstract="true">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="VetretungVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Vetretung">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Rechtstatsachen" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="RT_Nummer" type="st:RT_NummerTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="RT_Code" type="st:RT_CodeTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="RT_Text" type="xsd:string"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="RechtstatsachenVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtstatsachen">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Vollzug">
+ <xsd:sequence>
+ <xsd:element name="Antrag" type="std:VollzugElem" minOccurs="1" maxOccurs="1" />
+ <xsd:element name="Vollzug" type="std:VollzugElem" minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Zurueckstellung" type="std:VollzugElem" minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID" use="required" />
+ <xsd:attribute name="nummer" type="xsd:integer" use="required" />
+ <xsd:attribute name="status" type="st:VollzugStatusTyp" use="required" />
+ </xsd:complexType>
+
+ <xsd:complexType name="VollzugElem">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:date">
+ <xsd:attribute name="quelle" type="st:QuelleTyp" use="required" />
+ <xsd:attribute name="quText" use="required" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="QuellenType">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:date">
+ <xsd:attribute name="quelle" type="st:QuelleTyp" use="required"/>
+ <xsd:attribute name="quText" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Funktion" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="FktName" type="st:FunktionTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="FktNameText" type="st:FunktionTextTyp"
+ minOccurs="0" maxOccurs="1" />
+
+ <!--
+ <xsd:element name="FktRegel" type="std:FktRegelTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Rechtstatsachen" type="std:Rechtstatsachen"
+ minOccurs="0" maxOccurs="1" />
+ -->
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="FunktionVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Funktion">
+ <xsd:sequence>
+ <xsd:element name="FktRegel" type="std:FktRegelTypVollzug"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Rechtstatsachen" type="std:RechtstatsachenVollzug"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+
+ <xsd:complexType name="FktRegelTyp" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="FktRegelVon" type="xsd:date"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="FktRegelBis" type="xsd:date"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="FktRegelText" type="st:FktRegelTextTyp"
+ minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="FktRegelTypVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:FktRegelTyp">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Branche">
+ <xsd:sequence>
+ <xsd:element name="Oenace" type="std:OenaceType"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="OenaceText" type="xsd:string"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="Beginn" type="std:QuellenType"
+ minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="Ende" type="std:QuellenType"
+ minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="art" type="st:OenaceArtTyp" use="required" />
+ </xsd:complexType>
+
+
+ <xsd:complexType name="OenaceType">
+ <xsd:simpleContent>
+ <xsd:extension base="st:OenaceCodeTyp">
+ <xsd:attribute name="jahr" type="st:OenaceJahrTyp"
+ use="required" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/src/main/resources/wsdl/ERsB/0.4/schema/ur-basicTypesErsb.xsd b/src/main/resources/wsdl/ERsB/0.4/schema/ur-basicTypesErsb.xsd
new file mode 100644
index 0000000..b53389b
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/schema/ur-basicTypesErsb.xsd
@@ -0,0 +1,125 @@
+<!--
+ 2012-08-06 sml V0.0.1 Entwurf
+-->
+
+<xsd:schema targetNamespace="http://statistik.at/namespace/ersb/1#"
+ xmlns:std="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#"
+ xmlns:st="http://statistik.at/namespace/ur/simpleTypes/2#"
+ elementFormDefault="qualified">
+
+<!--
+ <xsd:import namespace="http://statistik.at/namespace/ur/simpleTypes/2#"
+ schemaLocation="ur-simpleTypes.xsd" />
+ -->
+ <xsd:import namespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ schemaLocation="ur-basicTypes.xsd" />
+
+ <xsd:include schemaLocation="ersb-types.xsd" />
+
+
+ <!-- Responseelemente -->
+ <!--
+ <xsd:element name="TypeText" type="xsd:string" />
+ <xsd:element name="Branche" type="std:Branche" />
+ <xsd:element name="AendDat" type="xsd:dateTime" />
+ <xsd:element name="bpkWTUR" type="xsd:string" />
+ <xsd:element name="Typ" type="st:AdressTyp" />
+ <xsd:element name="EvbStatus" type="st:EvbStatusTyp" />
+
+ -->
+ <xsd:element name="UntName" type="ersb:UntNameErsb" />
+ <xsd:element name="Rechtsform" type="ersb:RechtsformErsb" />
+ <xsd:element name="Bestandszeitraum" type="ersb:BestandszeitraumErsb" />
+ <xsd:element name="Bestandsnachweis" type="ersb:BestandsnachweisErsb" />
+ <xsd:element name="Vertretung" type="ersb:VetretungErsb" />
+ <xsd:element name="Rechtstatsachen" type="ersb:RechtstatsachenErsb" />
+ <xsd:element name="Funktion" type="ersb:FunktionErsb" />
+
+
+ <!-- complex data types -->
+ <xsd:complexType name="UntNameErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:UntName">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="RechtsformErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtsform">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="BestandszeitraumErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandszeitraum">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="BestandsnachweisErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandsnachweis">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="VetretungErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Vetretung">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+
+ <xsd:complexType name="RechtstatsachenErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtstatsachen">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="FunktionErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Funktion">
+ <xsd:sequence>
+ <xsd:element name="FktRegel" type="ersb:FktRegelTypErsb"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Rechtstatsachen" type="std:RechtstatsachenVollzug"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="FktRegelTypErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:FktRegelTyp">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/src/main/resources/wsdl/ERsB/0.4/schema/ur-simpleTypes.xsd b/src/main/resources/wsdl/ERsB/0.4/schema/ur-simpleTypes.xsd
new file mode 100644
index 0000000..86f22c8
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/schema/ur-simpleTypes.xsd
@@ -0,0 +1,442 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 2012-08-07 V0.0.1 sml AktionTyp entfernt
+-->
+
+<schema targetNamespace="http://statistik.at/namespace/ur/simpleTypes/2#"
+ version="1.0" xmlns:tns="http://statistik.at/namespace/ur/simpleTypes/2#"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified">
+
+ <!-- ******************************************************************************* -->
+ <!-- Allegemeine Typen -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="VersionTyp">
+ <annotation>
+ <documentation>
+ Versionsnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="QuelleTyp">
+ <annotation>
+ <documentation>
+ Identifikationsnummer eines Quellregisters
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="VollzugStatusTyp">
+ <annotation>
+ <documentation>
+ Status des Vollzugsobjektes
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="A" />
+ <enumeration value="V" />
+ <enumeration value="Z" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ErgebnisVollzugStatusTyp">
+ <annotation>
+ <documentation>
+ Im Ergebnis berücksichtigte Status des Vollzugsobjektes
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="V" />
+ <enumeration value="AZV" />
+ </restriction>
+ </simpleType>
+
+<!--
+ <simpleType name="AktionTyp">
+ <annotation>
+ <documentation>
+ Unterscheidung zwischen zu beendenden und neu anzulegenden Merkmalsgruppen
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="NEU" />
+ <enumeration value="ALT" />
+ </restriction>
+ </simpleType>
+ -->
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Unternehmensmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="KurTyp">
+ <annotation>
+ <documentation>
+ UR Kennziffer eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="R[0-9]{3}[A-Z][0-9]{3}[A-Z0-9]"/>
+ <length value="9"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FbnTyp">
+ <annotation>
+ <documentation>
+ Firmenbuchnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="[0-9]{6}[a-z]"/>
+ <length value="7"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ZvrTyp">
+ <annotation>
+ <documentation>
+ Vereinsregisternummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="[0-9]{9}"/>
+ <length value="9"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ErjTyp">
+ <annotation>
+ <documentation>
+ Ordnungsnummer aus dem ERsB
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="[0-9]{13}"/>
+ <length value="13"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="UntNameTyp">
+ <annotation>
+ <documentation>
+ Bezeichnung eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="255" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="BpkTyp">
+ <annotation>
+ <documentation>
+ unverschlüsseltes bPK
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="28" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="BpkEncodedTyp">
+ <annotation>
+ <documentation>
+ verschlüsseltes bPK (base64 codiert)
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="172" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RechtsformTyp">
+ <annotation>
+ <documentation>
+ Rechtsformcode eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <minInclusive value="1" />
+ <maxInclusive value="9999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RechtsformTextTyp">
+ <annotation>
+ <documentation>
+ Langtext der Rechtsform eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="IdArtTyp">
+ <annotation>
+ <documentation>
+ Art eines externen Schlüssels
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <length value="3" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="IdTyp">
+ <annotation>
+ <documentation>
+ Wert eines externen Schlüssels
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="60" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceJahrTyp">
+ <annotation>
+ <documentation>
+ Jahr des ÖNACE-Systems
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <enumeration value="2008" />
+ <minInclusive value="1000" />
+ <maxInclusive value="9999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceCodeTyp">
+ <annotation>
+ <documentation>
+ ÖNACE - Branchenkennzahl
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceArtTyp">
+ <annotation>
+ <documentation>
+ Art der ÖNACE (Haupt-/Nebentätigkeit)
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="H" />
+ <enumeration value="N" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RT_NummerTyp">
+ <annotation>
+ <documentation>
+ Rechtstatsachen-Nummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="3" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RT_CodeTyp">
+ <annotation>
+ <documentation>
+ Rechtstatsachen-Code
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="4" />
+ </restriction>
+ </simpleType>
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Adressmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="StrasseTyp">
+ <annotation>
+ <documentation>
+ Strassenname
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="HNrTyp">
+ <annotation>
+ <documentation>
+ Hausnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="PlzTyp">
+ <annotation>
+ <documentation>
+ Postleitzahl
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OrtTyp">
+ <annotation>
+ <documentation>
+ Ortsname
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="50" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="GemnrTyp">
+ <annotation>
+ <documentation>
+ Gemeindekennziffer
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <minInclusive value="10000" />
+ <maxInclusive value="99999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="LandTyp">
+ <annotation>
+ <documentation>
+ Landescode gem. ISO 3166 ALPHA-3
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <length value="3" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="AdressTyp">
+ <annotation>
+ <documentation>
+ AdressTyp
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="SITZ"/>
+ <enumeration value="ZUSTELLADRESSE"/>
+ </restriction>
+ </simpleType>
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Personenmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="NachnameTyp">
+ <annotation>
+ <documentation>
+ Nachname der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="VornameTyp">
+ <annotation>
+ <documentation>
+ Vorname der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="TitelTyp">
+ <annotation>
+ <documentation>
+ Titel der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="50" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FunktionTyp">
+ <annotation>
+ <documentation>
+ Funktionscode der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <minInclusive value="1" />
+ <maxInclusive value="9999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FunktionTextTyp">
+ <annotation>
+ <documentation>
+ Funktionsbezeichnung der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FktRegelTextTyp">
+ <annotation>
+ <documentation>
+ Funktionsregeltext für vertretungsbefugte Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="2000" />
+ </restriction>
+ </simpleType>
+
+
+ <simpleType name="VertretungsbefugnisTyp">
+ <annotation>
+ <documentation>
+ Art der Vertretungsbefugnis
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="40" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="EvbStatusTyp">
+ <annotation>
+ <documentation>
+ Einzelvertretungsbefugnis
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="J" />
+ <enumeration value="N" />
+ <enumeration value="U" />
+ </restriction>
+ </simpleType>
+</schema> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/0.4/ur-basicTypes.xsd b/src/main/resources/wsdl/ERsB/0.4/ur-basicTypes.xsd
new file mode 100644
index 0000000..c5e6534
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/ur-basicTypes.xsd
@@ -0,0 +1,281 @@
+<!--
+ 2012-07-31 sml V0.0.6 Entfernung aller any-Attribute; Umbau auf Vererbung mit VollzugsAttributen
+ 2012-06-21 sml V0.0.5 Aufsplittung auf ur_basic_types.xsd und ur_suche.xsd
+ Erweiterung der Merkmalsgruppen um any-Attribute
+ 2012-06-15 sml V0.0.4 Erweiterung AdressTyp (simple) um ZUSTELLADRESSE
+ Anpasssung vollzugBeginn und vollzugEnde auf IDREFs
+ Branche um Beginn und Ende (Quelle) erweitert.
+ 2012-06-14 hoa Vollzugsreferenzen als Attribute,
+ Ergängzung ERsB Attribute (Bestandszeitraum, Bestandsnachweis, Vertretung, Rechtstatsachen)
+ Erweiterung der SimpleTypes: AktionTyp, RT_Nummer, RT_Code
+ 2012-06-12 sml V0.0.2 Erweiterung SimpleTypes: AdressTyp, EvbStatusTyp
+ Erweiterung Elemente: VollzugGroup für vollziehbare Merkmalsgruppen
+ VollzugElem für die Quellinfo
+ Einbau ID/IDREF für Vollzug (VollzugRef)
+ Typ (AdressTyp) und EvbStatus (EvbStausTyp)
+ 2012-06-04 hoa V0.0.1 Entwurf
+-->
+
+<xsd:schema targetNamespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:std="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:st="http://statistik.at/namespace/ur/simpleTypes/2#"
+ elementFormDefault="qualified">
+
+ <xsd:import namespace="http://statistik.at/namespace/ur/simpleTypes/2#"
+ schemaLocation="ur-simpleTypes.xsd" />
+
+
+
+
+
+
+ <!-- Responseelemente -->
+
+ <xsd:attribute name="vollzugBeginn" type="xsd:IDREF" />
+ <xsd:attribute name="vollzugEnde" type="xsd:IDREF" />
+
+ <xsd:attributeGroup name="VollzugAttributes">
+ <xsd:attribute ref="std:vollzugBeginn" use="optional" />
+ <xsd:attribute ref="std:vollzugEnde" use="optional"/>
+ </xsd:attributeGroup>
+
+ <xsd:element name="Beginn" type="std:QuellenType"/>
+ <xsd:element name="Ende" type="std:QuellenType"/>
+ <xsd:element name="Vollzug" type="std:Vollzug" />
+
+ <xsd:element name="TypeText" type="xsd:string" />
+ <xsd:element name="UntName" type="std:UntNameVollzug" />
+ <xsd:element name="Rechtsform" type="std:RechtsformVollzug" />
+ <xsd:element name="Bestandszeitraum" type="std:BestandszeitraumVollzug" />
+ <xsd:element name="Bestandsnachweis" type="std:BestandsnachweisVollzug" />
+ <xsd:element name="Vertretung" type="std:VetretungVollzug" />
+ <xsd:element name="Rechtstatsachen" type="std:RechtstatsachenVollzug" />
+ <xsd:element name="Funktion" type="std:FunktionVollzug" />
+ <xsd:element name="Branche" type="std:Branche" />
+ <xsd:element name="AendDat" type="xsd:dateTime" />
+ <xsd:element name="bpkWTUR" type="xsd:string" />
+ <xsd:element name="Typ" type="st:AdressTyp" />
+ <xsd:element name="EvbStatus" type="st:EvbStatusTyp" />
+
+ <xsd:complexType name="UntName" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="VollerName" type="st:UntNameTyp"
+ minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="UntNameVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:UntName">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Rechtsform" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="ReForm" type="st:RechtsformTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="ReFormText" type="st:RechtsformTextTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="ReFormExtern" type="st:RechtsformTextTyp"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="RechtsformVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtsform">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Bestandszeitraum" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="BestandVon" type="xsd:date"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="BestandBis" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="BestandszeitraumVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandszeitraum">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Bestandsnachweis" abstract="true">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="BestandsnachweisVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandsnachweis">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Vetretung" abstract="true">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="VetretungVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Vetretung">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Rechtstatsachen" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="RT_Nummer" type="st:RT_NummerTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="RT_Code" type="st:RT_CodeTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="RT_Text" type="xsd:string"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="RechtstatsachenVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtstatsachen">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Vollzug">
+ <xsd:sequence>
+ <xsd:element name="Antrag" type="std:VollzugElem" minOccurs="1" maxOccurs="1" />
+ <xsd:element name="Vollzug" type="std:VollzugElem" minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Zurueckstellung" type="std:VollzugElem" minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID" use="required" />
+ <xsd:attribute name="nummer" type="xsd:integer" use="required" />
+ <xsd:attribute name="status" type="st:VollzugStatusTyp" use="required" />
+ </xsd:complexType>
+
+ <xsd:complexType name="VollzugElem">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:date">
+ <xsd:attribute name="quelle" type="st:QuelleTyp" use="required" />
+ <xsd:attribute name="quText" use="required" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="QuellenType">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:date">
+ <xsd:attribute name="quelle" type="st:QuelleTyp" use="required"/>
+ <xsd:attribute name="quText" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Funktion" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="FktName" type="st:FunktionTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="FktNameText" type="st:FunktionTextTyp"
+ minOccurs="0" maxOccurs="1" />
+
+ <!--
+ <xsd:element name="FktRegel" type="std:FktRegelTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Rechtstatsachen" type="std:Rechtstatsachen"
+ minOccurs="0" maxOccurs="1" />
+ -->
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="FunktionVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Funktion">
+ <xsd:sequence>
+ <xsd:element name="FktRegel" type="std:FktRegelTypVollzug"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Rechtstatsachen" type="std:RechtstatsachenVollzug"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+
+ <xsd:complexType name="FktRegelTyp" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="FktRegelVon" type="xsd:date"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="FktRegelBis" type="xsd:date"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="FktRegelText" type="st:FktRegelTextTyp"
+ minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="FktRegelTypVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:FktRegelTyp">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Branche">
+ <xsd:sequence>
+ <xsd:element name="Oenace" type="std:OenaceType"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="OenaceText" type="xsd:string"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="Beginn" type="std:QuellenType"
+ minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="Ende" type="std:QuellenType"
+ minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="art" type="st:OenaceArtTyp" use="required" />
+ </xsd:complexType>
+
+
+ <xsd:complexType name="OenaceType">
+ <xsd:simpleContent>
+ <xsd:extension base="st:OenaceCodeTyp">
+ <xsd:attribute name="jahr" type="st:OenaceJahrTyp"
+ use="required" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/src/main/resources/wsdl/ERsB/0.4/ur-basicTypesErsb.xsd b/src/main/resources/wsdl/ERsB/0.4/ur-basicTypesErsb.xsd
new file mode 100644
index 0000000..b53389b
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/ur-basicTypesErsb.xsd
@@ -0,0 +1,125 @@
+<!--
+ 2012-08-06 sml V0.0.1 Entwurf
+-->
+
+<xsd:schema targetNamespace="http://statistik.at/namespace/ersb/1#"
+ xmlns:std="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#"
+ xmlns:st="http://statistik.at/namespace/ur/simpleTypes/2#"
+ elementFormDefault="qualified">
+
+<!--
+ <xsd:import namespace="http://statistik.at/namespace/ur/simpleTypes/2#"
+ schemaLocation="ur-simpleTypes.xsd" />
+ -->
+ <xsd:import namespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ schemaLocation="ur-basicTypes.xsd" />
+
+ <xsd:include schemaLocation="ersb-types.xsd" />
+
+
+ <!-- Responseelemente -->
+ <!--
+ <xsd:element name="TypeText" type="xsd:string" />
+ <xsd:element name="Branche" type="std:Branche" />
+ <xsd:element name="AendDat" type="xsd:dateTime" />
+ <xsd:element name="bpkWTUR" type="xsd:string" />
+ <xsd:element name="Typ" type="st:AdressTyp" />
+ <xsd:element name="EvbStatus" type="st:EvbStatusTyp" />
+
+ -->
+ <xsd:element name="UntName" type="ersb:UntNameErsb" />
+ <xsd:element name="Rechtsform" type="ersb:RechtsformErsb" />
+ <xsd:element name="Bestandszeitraum" type="ersb:BestandszeitraumErsb" />
+ <xsd:element name="Bestandsnachweis" type="ersb:BestandsnachweisErsb" />
+ <xsd:element name="Vertretung" type="ersb:VetretungErsb" />
+ <xsd:element name="Rechtstatsachen" type="ersb:RechtstatsachenErsb" />
+ <xsd:element name="Funktion" type="ersb:FunktionErsb" />
+
+
+ <!-- complex data types -->
+ <xsd:complexType name="UntNameErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:UntName">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="RechtsformErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtsform">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="BestandszeitraumErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandszeitraum">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="BestandsnachweisErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandsnachweis">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="VetretungErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Vetretung">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+
+ <xsd:complexType name="RechtstatsachenErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtstatsachen">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="FunktionErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Funktion">
+ <xsd:sequence>
+ <xsd:element name="FktRegel" type="ersb:FktRegelTypErsb"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Rechtstatsachen" type="std:RechtstatsachenVollzug"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="FktRegelTypErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:FktRegelTyp">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/src/main/resources/wsdl/ERsB/0.4/ur-simpleTypes.xsd b/src/main/resources/wsdl/ERsB/0.4/ur-simpleTypes.xsd
new file mode 100644
index 0000000..86f22c8
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/0.4/ur-simpleTypes.xsd
@@ -0,0 +1,442 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 2012-08-07 V0.0.1 sml AktionTyp entfernt
+-->
+
+<schema targetNamespace="http://statistik.at/namespace/ur/simpleTypes/2#"
+ version="1.0" xmlns:tns="http://statistik.at/namespace/ur/simpleTypes/2#"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified">
+
+ <!-- ******************************************************************************* -->
+ <!-- Allegemeine Typen -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="VersionTyp">
+ <annotation>
+ <documentation>
+ Versionsnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="QuelleTyp">
+ <annotation>
+ <documentation>
+ Identifikationsnummer eines Quellregisters
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="VollzugStatusTyp">
+ <annotation>
+ <documentation>
+ Status des Vollzugsobjektes
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="A" />
+ <enumeration value="V" />
+ <enumeration value="Z" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ErgebnisVollzugStatusTyp">
+ <annotation>
+ <documentation>
+ Im Ergebnis berücksichtigte Status des Vollzugsobjektes
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="V" />
+ <enumeration value="AZV" />
+ </restriction>
+ </simpleType>
+
+<!--
+ <simpleType name="AktionTyp">
+ <annotation>
+ <documentation>
+ Unterscheidung zwischen zu beendenden und neu anzulegenden Merkmalsgruppen
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="NEU" />
+ <enumeration value="ALT" />
+ </restriction>
+ </simpleType>
+ -->
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Unternehmensmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="KurTyp">
+ <annotation>
+ <documentation>
+ UR Kennziffer eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="R[0-9]{3}[A-Z][0-9]{3}[A-Z0-9]"/>
+ <length value="9"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FbnTyp">
+ <annotation>
+ <documentation>
+ Firmenbuchnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="[0-9]{6}[a-z]"/>
+ <length value="7"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ZvrTyp">
+ <annotation>
+ <documentation>
+ Vereinsregisternummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="[0-9]{9}"/>
+ <length value="9"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ErjTyp">
+ <annotation>
+ <documentation>
+ Ordnungsnummer aus dem ERsB
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="[0-9]{13}"/>
+ <length value="13"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="UntNameTyp">
+ <annotation>
+ <documentation>
+ Bezeichnung eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="255" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="BpkTyp">
+ <annotation>
+ <documentation>
+ unverschlüsseltes bPK
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="28" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="BpkEncodedTyp">
+ <annotation>
+ <documentation>
+ verschlüsseltes bPK (base64 codiert)
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="172" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RechtsformTyp">
+ <annotation>
+ <documentation>
+ Rechtsformcode eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <minInclusive value="1" />
+ <maxInclusive value="9999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RechtsformTextTyp">
+ <annotation>
+ <documentation>
+ Langtext der Rechtsform eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="IdArtTyp">
+ <annotation>
+ <documentation>
+ Art eines externen Schlüssels
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <length value="3" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="IdTyp">
+ <annotation>
+ <documentation>
+ Wert eines externen Schlüssels
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="60" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceJahrTyp">
+ <annotation>
+ <documentation>
+ Jahr des ÖNACE-Systems
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <enumeration value="2008" />
+ <minInclusive value="1000" />
+ <maxInclusive value="9999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceCodeTyp">
+ <annotation>
+ <documentation>
+ ÖNACE - Branchenkennzahl
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceArtTyp">
+ <annotation>
+ <documentation>
+ Art der ÖNACE (Haupt-/Nebentätigkeit)
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="H" />
+ <enumeration value="N" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RT_NummerTyp">
+ <annotation>
+ <documentation>
+ Rechtstatsachen-Nummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="3" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RT_CodeTyp">
+ <annotation>
+ <documentation>
+ Rechtstatsachen-Code
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="4" />
+ </restriction>
+ </simpleType>
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Adressmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="StrasseTyp">
+ <annotation>
+ <documentation>
+ Strassenname
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="HNrTyp">
+ <annotation>
+ <documentation>
+ Hausnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="PlzTyp">
+ <annotation>
+ <documentation>
+ Postleitzahl
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OrtTyp">
+ <annotation>
+ <documentation>
+ Ortsname
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="50" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="GemnrTyp">
+ <annotation>
+ <documentation>
+ Gemeindekennziffer
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <minInclusive value="10000" />
+ <maxInclusive value="99999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="LandTyp">
+ <annotation>
+ <documentation>
+ Landescode gem. ISO 3166 ALPHA-3
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <length value="3" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="AdressTyp">
+ <annotation>
+ <documentation>
+ AdressTyp
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="SITZ"/>
+ <enumeration value="ZUSTELLADRESSE"/>
+ </restriction>
+ </simpleType>
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Personenmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="NachnameTyp">
+ <annotation>
+ <documentation>
+ Nachname der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="VornameTyp">
+ <annotation>
+ <documentation>
+ Vorname der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="TitelTyp">
+ <annotation>
+ <documentation>
+ Titel der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="50" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FunktionTyp">
+ <annotation>
+ <documentation>
+ Funktionscode der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <minInclusive value="1" />
+ <maxInclusive value="9999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FunktionTextTyp">
+ <annotation>
+ <documentation>
+ Funktionsbezeichnung der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FktRegelTextTyp">
+ <annotation>
+ <documentation>
+ Funktionsregeltext für vertretungsbefugte Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="2000" />
+ </restriction>
+ </simpleType>
+
+
+ <simpleType name="VertretungsbefugnisTyp">
+ <annotation>
+ <documentation>
+ Art der Vertretungsbefugnis
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="40" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="EvbStatusTyp">
+ <annotation>
+ <documentation>
+ Einzelvertretungsbefugnis
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="J" />
+ <enumeration value="N" />
+ <enumeration value="U" />
+ </restriction>
+ </simpleType>
+</schema> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.1/13-03-15 ERsB Webservices v1.1.pdf b/src/main/resources/wsdl/ERsB/1.1/13-03-15 ERsB Webservices v1.1.pdf
new file mode 100644
index 0000000..52249e5
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/13-03-15 ERsB Webservices v1.1.pdf
Binary files differ
diff --git a/src/main/resources/wsdl/ERsB/1.1/CustomFault.xsd b/src/main/resources/wsdl/ERsB/1.1/CustomFault.xsd
new file mode 100644
index 0000000..c73d667
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/CustomFault.xsd
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <xs:element name="Message" type="CustomFaultType"/>
+
+ <xs:complexType name="CustomFaultType" final="extension">
+ <xs:annotation>
+ <xs:documentation>CustomFault reporting structure</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Code" type="xs:integer"/>
+ <xs:element name="Reason" type="xs:string" maxOccurs="unbounded"/>
+ <xs:element name="Help" type="xs:string" minOccurs="0"/>
+ <xs:element name="Detail" type="xs:anyType" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+</xs:schema>
diff --git a/src/main/resources/wsdl/ERsB/1.1/ErsbService.wsdl b/src/main/resources/wsdl/ERsB/1.1/ErsbService.wsdl
new file mode 100644
index 0000000..19f0f3d
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/ErsbService.wsdl
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:sch0="http://statistik.at/namespace/ersb/1#" xmlns:sch1="http://statistik.at/namespace/ur/simpleTypes/2#" xmlns:sch2="http://statistik.at/namespace/ur/stammdaten/2#" xmlns:sch3="http://reference.e-government.gv.at/namespace/persondata/de/20040201#" xmlns:sch4="http://statistik.at/namespace/ersb/persondata/1#" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://statistik.at/namespace/ersb/1#" targetNamespace="http://statistik.at/namespace/ersb/1#">
+ <wsdl:types>
+ <xsd:schema>
+ <xsd:import namespace="http://statistik.at/namespace/ersb/1#" schemaLocation="ersb-types.xsd"/>
+ <xsd:import namespace="http://statistik.at/namespace/ur/simpleTypes/2#" schemaLocation="ur-simpleTypes.xsd"/>
+ <xsd:import namespace="http://statistik.at/namespace/ur/stammdaten/2#" schemaLocation="ur-basicTypes.xsd"/>
+ <xsd:import namespace="http://reference.e-government.gv.at/namespace/persondata/de/20040201#" schemaLocation="PersonData_URSuche.xsd"/>
+ <xsd:import namespace="http://statistik.at/namespace/ersb/persondata/1#" schemaLocation="PersonData_Ersb.xsd"/>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="ErsbResponse">
+ <wsdl:part name="ErsbResponse" element="sch0:ErsbResponse">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:message name="ErsbRequest">
+ <wsdl:part name="ErsbRequest" element="sch0:ErsbRequest">
+ </wsdl:part>
+ </wsdl:message>
+ <wsdl:portType name="ErsbService">
+ <wsdl:operation name="Ersb">
+ <wsdl:input name="ErsbRequest" message="sch0:ErsbRequest">
+ </wsdl:input>
+ <wsdl:output name="ErsbResponse" message="sch0:ErsbResponse">
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="ErsbServiceSoap11" type="sch0:ErsbService">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="Ersb">
+ <soap:operation soapAction=""/>
+ <wsdl:input name="ErsbRequest">
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output name="ErsbResponse">
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="ErsbServiceService">
+ <wsdl:port name="ErsbServiceSoap11" binding="sch0:ErsbServiceSoap11">
+ <soap:address location="http://localhost/services/ErsbService"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/src/main/resources/wsdl/ERsB/1.1/PersonData_Ersb.xsd b/src/main/resources/wsdl/ERsB/1.1/PersonData_Ersb.xsd
new file mode 100644
index 0000000..becd0a9
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/PersonData_Ersb.xsd
@@ -0,0 +1,438 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Paul (thx) -->
+<!-- edited with XML Spy v4.1 U (http://www.xmlspy.com) by Peter Reichstädter (CIO) -->
+<!--Generisches Schema zum Speichern und Austauschen von Personendaten
+ (c) 2001-2002 Chief Information Office Austria, Stabsstelle IKT-Strategie des Bundes, BM֖LS
+ Kontakt: Peter Reichstädter (peter.reichstaedter@cio.gv.at), Arno Hollosi (arno.hollosi@cio.gv.at)
+ Die freie Verwendung dieses Schemas in Applikationen (behördenintern, kommerziell, privat) ist erlaubt und erwünscht.
+-->
+<!--
+ Adaptierung URV URSuche v3.0 für Ersb Schnittstelle
+ ===================================================
+ 2012-10-08 sml Stiege und Türnummer in ERsB Request
+ 2012-09-20 sml NichtNatuerlichePerson um ErsbAttributes erweitert
+ 2012-09-11 sml IdentificationType um Beginn und Ende erweitert
+ 2012-09-03 sml IdentificationType um ErsbAttributes erweitert
+ 2012-08-07 sml kein mixed Content bei den Zusatzdaten mehr möglich
+ 2012-07-05 sml Any-Attribute und Any-Elemente nach AGII-Empfehlung durch die konkreten ersetzt.
+ 2012-06-14 sml Affix wieder auf unbounded (vgl. URSucheService UDB)
+ -->
+<?xml-stylesheet type="text/xsl" href="getelementnames.xslt"?>
+
+<xs:schema targetNamespace="http://statistik.at/namespace/ersb/persondata/1#"
+ xmlns="http://statistik.at/namespace/ersb/persondata/1#"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:uri="http://statistik.at/namespace/ersb/1#"
+ xmlns:urs="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0.0">
+
+ <!-- Import der ERSB-suche -->
+
+ <xs:import namespace="http://statistik.at/namespace/ersb/1#"
+ schemaLocation="ersb-types.xsd" />
+
+
+ <!-- Import UR Suche -->
+ <xs:import namespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ schemaLocation="ur-basicTypes.xsd" />
+
+
+ <xs:annotation>
+ <xs:documentation>This version of person deploys only global elements. All types derived from abstract types have been replaced by substitution groups</xs:documentation>
+ </xs:annotation>
+ <!-- ### signed structure of a person ### -->
+ <xs:element name="AbstractPersonData" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes PersonenDaten Element, nur auf englisch verfügbar, nicht direkt benützen sondern PersonenDaten benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="PersonenDaten" type="PersonenDatenTyp" substitutionGroup="AbstractPersonData">
+ <xs:annotation>
+ <xs:documentation>Signierte Personendatenstruktur</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- ### base type for person data ### -->
+ <xs:element name="Person" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Personen Element, nur auf englisch verfügbar, nicht direkt benützen sondern NatuerlichePerson o. NichtNatuerlichePerson benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- ### physical person and corporate body ### -->
+ <xs:element name="NatuerlichePerson" type="NatuerlichePersonTyp" substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>Natuerliche Person entspricht PhysicalPerson, ist eine Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="NichtNatuerlichePerson" type="NichtNatuerlichePersonTyp" substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>NichtNatuerlichePerson entspricht CorporatzeBody, ist Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### complex child elements of person, also available as standalone ###-->
+ <xs:element name="PersonenName" type="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>Container für diverse Namensbestandteile, entspricht Name in der englischen Version</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+
+ <!-- ### adress data for various types of communications ### -->
+ <xs:element name="Address" type="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Address Element, nur auf Englisch verfügbar, nicht direkt benützen sondern PostAdresse, InternetAdresse, etc benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PostAdresse" type="PostAdresseTyp" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Post oder ZMR Adresse, entspricht PostalAddress, ist Ableitung von Address (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="TypisiertePostAdresse" type="TypisiertePostAdresseTyp" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Typisierte Post oder ZMRAdresse, entspricht TypedPostalAddress, ist Ableitung von Address (abstract) </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### elements of simple type ####-->
+ <xs:element name="Geburtsdatum" type="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>Geburtsdatum, entspricht DateOfBirth</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <!--### Complex types ###-->
+
+
+ <!-- UR Spezialisierung des PersonenDatenTyp -->
+ <xs:complexType name="PersonenDatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="NichtNatuerlichePerson"/>
+
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0" maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" minOccurs="0">
+ <xs:complexType mixed="false">
+ <xs:sequence minOccurs="0">
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:Bestandszeitraum" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Bestandsnachweis" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Vertretung" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element name="PersonenDaten" type="PersonenDatenZusatzdatenTyp" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <!-- UR Spezialisierung für natürliche und nichtnatürliche Personen in den Zusatzdaten-->
+ <xs:complexType name="PersonenDatenZusatzdatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:choice minOccurs="0">
+ <xs:element ref="NichtNatuerlichePerson"/>
+ <xs:element ref="NatuerlichePerson"/>
+ </xs:choice>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0" maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" minOccurs="0">
+ <xs:complexType mixed="false">
+
+ <xs:sequence minOccurs="0">
+ <!-- Erweiterung UR -->
+ <xs:element ref="urs:EvbStatus" minOccurs="0" maxOccurs="1" />
+ <xs:element ref="uri:Funktion" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+<xs:complexType name="IdentificationType">
+ <xs:annotation>
+ <xs:documentation>Container für beliebige Identifikationsmerkmale, besteht aus Type und Value Unterelementen, aus technischen Gründen nur auf Englisch verfügbar</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Value">
+ <xs:annotation>
+ <xs:documentation>actual value of the identifier.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Type" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>type of value (eg 'ZMR', 'SV-Nummer', 'Martrikelnummer', database identification, ...)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- Erweiterung Ersb -->
+ <xs:element ref="uri:Beginn" minOccurs="0" maxOccurs="1" />
+ <xs:element ref="uri:Ende" minOccurs="0" maxOccurs="1" />
+
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ <!-- Erweiterung Ersb -->
+ <xs:attributeGroup ref="uri:ErsbAttributes" />
+
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>main structure of person data</xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0">
+ <xs:element name="Identification" type="IdentificationType" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>unique identification entities</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ </xs:complexType>
+
+
+ <xs:complexType name="NatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PhysicalPersonType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PersonenName" minOccurs="0"/>
+ <xs:element ref="Geburtsdatum" minOccurs="0"/>
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:ErsbAttributes" />
+ </xs:extension>
+
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+
+ <xs:complexType name="NichtNatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht CorporateBodyType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="VollerName" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>name of corporate body (whole name)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="Rechtsform" type="xs:anyURI" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>type of company (eg AG, OHG, ...)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:UntName" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtsform" minOccurs="0" maxOccurs="unbounded" />
+
+ </xs:sequence>
+ <!-- Erweiterung Ersb -->
+ <xs:attributeGroup ref="uri:ErsbAttributes" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht NameType</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Vorname" type="xs:string" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="Familienname" minOccurs="1" maxOccurs="1">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="primaer" default="undefiniert">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="wahr"/>
+ <xs:enumeration value="falsch"/>
+ <xs:enumeration value="undefiniert"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="prefix" type="xs:string"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Affix" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="typ" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="akademischerGrad"/>
+ <xs:enumeration value="Adelstitel"/>
+ <xs:enumeration value="FamiliennamenAffix"/>
+ <xs:enumeration value="Anrede"/>
+ <xs:enumeration value="Generation"/>
+ <xs:enumeration value="Qualifikation"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="position" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="prefix"/>
+ <xs:enumeration value="suffix"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Struktur des Abstrakten Address Elements</xs:documentation>
+ </xs:annotation>
+
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="TypisiertePostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht TypedPostalAddressType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PostAdresse"/>
+ <!-- Erweiterung UR -->
+ <xs:element ref="urs:Typ" minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:ErsbAttributes" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+ <xs:complexType name="PostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalAddressType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence>
+ <xs:element name="Staatscode" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Staatencode, ISO Code oder internationaler Post code, entspricht CountryCode</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{3}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Postleitzahl" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalCode</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="Gemeinde" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht Municipality</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Gemeindekennziffer" minOccurs="0"/>
+ <xs:element name="Ortschaft" type="xs:token" minOccurs="0"/>
+ <xs:element name="Zustelladresse" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Zustelladresse oder ZMRAdresse, entspricht DeliveryAddress</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Strassenname" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Bei Ortschaften ohne Straßenname steht hier Ortschaftsname, entspricht StreetName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Orientierungsnummer" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Hausnummer oder Konskriptionsnummer, z.B. 10, 124a, 78-80. Entpricht BuildingNumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Gebaeude" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Gebäudeteil oder eigneens Gbäude, z.B. Stiege, Werkstatt, ..... Entspricht Unit</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Nutzungseinheit" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Tuernummer oder andere naehere Beschreibung der Adresse (z.B. 4. Stock rechts). Entspricht DoorNumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <!-- ### auxiliary types ### -->
+ <xs:simpleType name="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>einfacher Datentyp für Daten (union): Tag und/oder Monta können ausgelassen werden, entspricht DayOfBirthType</xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear"/>
+ </xs:simpleType>
+
+</xs:schema>
diff --git a/src/main/resources/wsdl/ERsB/1.1/PersonData_URSuche.xsd b/src/main/resources/wsdl/ERsB/1.1/PersonData_URSuche.xsd
new file mode 100644
index 0000000..6c8209a
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/PersonData_URSuche.xsd
@@ -0,0 +1,511 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Paul (thx) -->
+<!-- edited with XML Spy v4.1 U (http://www.xmlspy.com) by Peter Reichstädter (CIO) -->
+<!--Generisches Schema zum Speichern und Austauschen von Personendaten
+ (c) 2001-2002 Chief Information Office Austria, Stabsstelle IKT-Strategie des Bundes, BM֖LS
+ Kontakt: Peter Reichstädter (peter.reichstaedter@cio.gv.at), Arno Hollosi (arno.hollosi@cio.gv.at)
+ Die freie Verwendung dieses Schemas in Applikationen (behördenintern, kommerziell, privat) ist erlaubt und erwünscht.
+-->
+<!--
+ Anpassungen für URV URSuche v3.0
+ ================================
+ 2012-09-24 sml Auslagerung Zusatzdaten in ZusatzdatenPersonenTyp
+ 2012-09-20 sml NichtNatuerlichePerson um VollzugAttributes erweitert
+ 2012-09-11 sml Kardinalität EVBStatus auf 0..1 geändert
+ Kardinalität TypeText von 0..n auf 0..1 geändert
+ 2012-08-20 hoa AdressCode/Subcode/Objektnummer hinzugefügt
+ 2012-08-08 sml Branche hinzugefügt
+ 2012-08-07 sml kein mixed Content bei den Zusatzdaten mehr möglich
+ 2012-08-06 sml eigener Namespace für UR-Persondata
+ 2012-07-05 sml Any-Attribute und Any-Elemente nach AGII-Empfehlung durch die konkreten ersetzt.
+ 2012-06-14 sml Affix wieder auf unbounded (vgl. URSucheService UDB)
+ -->
+<?xml-stylesheet type="text/xsl" href="getelementnames.xslt"?>
+
+<xs:schema targetNamespace="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns="http://reference.e-government.gv.at/namespace/persondata/de/20040201#" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:uri="http://statistik.at/namespace/ur/stammdaten/2#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
+ elementFormDefault="qualified" attributeFormDefault="unqualified"
+ version="1.0.0">
+
+ <!-- Import der UR-basic -->
+ <xs:import namespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ schemaLocation="ur-basicTypes.xsd" />
+
+
+ <xs:annotation>
+ <xs:documentation>This version of person deploys only global elements.
+ All types derived from abstract types have been replaced by
+ substitution groups</xs:documentation>
+ </xs:annotation>
+ <!-- ### signed structure of a person ### -->
+ <xs:element name="AbstractPersonData" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes PersonenDaten Element, nur auf englisch
+ verfügbar, nicht direkt benützen sondern PersonenDaten benutzen
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="PersonenDaten" type="PersonenDatenTyp"
+ substitutionGroup="AbstractPersonData">
+ <xs:annotation>
+ <xs:documentation>Signierte Personendatenstruktur</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- ### base type for person data ### -->
+ <xs:element name="Person" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Personen Element, nur auf englisch
+ verfügbar, nicht direkt benützen sondern NatuerlichePerson o.
+ NichtNatuerlichePerson benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- ### physical person and corporate body ### -->
+ <xs:element name="NatuerlichePerson" type="NatuerlichePersonTyp"
+ substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>Natuerliche Person entspricht PhysicalPerson, ist
+ eine Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="NichtNatuerlichePerson" type="NichtNatuerlichePersonTyp"
+ substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>NichtNatuerlichePerson entspricht CorporatzeBody,
+ ist Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### complex child elements of person, also available as standalone ### -->
+ <xs:element name="PersonenName" type="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>Container für diverse Namensbestandteile,
+ entspricht Name in der englischen Version</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+
+ <!-- ### adress data for various types of communications ### -->
+ <xs:element name="Address" type="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Address Element, nur auf Englisch
+ verfügbar, nicht direkt benützen sondern PostAdresse,
+ InternetAdresse, etc benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PostAdresse" type="PostAdresseTyp"
+ substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Post oder ZMR Adresse, entspricht PostalAddress,
+ ist Ableitung von Address (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="TypisiertePostAdresse" type="TypisiertePostAdresseTyp"
+ substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Typisierte Post oder ZMRAdresse, entspricht
+ TypedPostalAddress, ist Ableitung von Address (abstract)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### elements of simple type #### -->
+ <xs:element name="Geburtsdatum" type="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>Geburtsdatum, entspricht DateOfBirth
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <!--### Complex types ### -->
+
+
+ <!-- UR Spezialisierung des PersonenDatenTyp -->
+ <xs:complexType name="PersonenDatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu
+ speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="NichtNatuerlichePerson" />
+
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0"
+ maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" minOccurs="0">
+ <!-- UR Erweiterung: kein mixed Content bei den Zusatzdaten -->
+ <xs:complexType mixed="false">
+ <xs:sequence minOccurs="0">
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:AendDat" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element ref="uri:Bestandszeitraum" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Bestandsnachweis" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Vertretung" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Branche" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element name="PersonenDaten" type="PersonenDatenZusatzdatenTyp"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Vollzug" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <!-- UR Spezialisierung für natürliche und nichtnatürliche Personen in den
+ Zusatzdaten -->
+ <xs:complexType name="PersonenDatenZusatzdatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu
+ speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:choice minOccurs="0">
+ <xs:element ref="NichtNatuerlichePerson" />
+ <xs:element ref="NatuerlichePerson" />
+ </xs:choice>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0"
+ maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" type="ZusatzdatenPersonenTyp" minOccurs="0"/>
+
+
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="ZusatzdatenPersonenTyp">
+
+ <xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:EvbStatus" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element ref="uri:Funktion" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+
+ </xs:complexType>
+ <xs:complexType name="IdentificationType">
+ <xs:annotation>
+ <xs:documentation>Container für beliebige Identifikationsmerkmale,
+ besteht aus Type und Value Unterelementen, aus technischen Gründen
+ nur auf Englisch verfügbar</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Value">
+ <xs:annotation>
+ <xs:documentation>actual value of the identifier.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Type" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>type of value (eg 'ZMR', 'SV-Nummer',
+ 'Martrikelnummer', database identification, ...)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:TypeText" minOccurs="0" maxOccurs="1" />
+ <xs:element ref="uri:Beginn" minOccurs="0" maxOccurs="1" />
+ <xs:element ref="uri:Ende" minOccurs="0" maxOccurs="1" />
+
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>main structure of person data</xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0">
+ <xs:element name="Identification" type="IdentificationType"
+ minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>unique identification entities</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:complexType>
+
+
+ <xs:complexType name="NatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PhysicalPersonType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PersonenName" minOccurs="0" />
+ <xs:element ref="Geburtsdatum" minOccurs="0" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:VollzugAttributes" />
+ </xs:extension>
+
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+
+ <xs:complexType name="NichtNatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht CorporateBodyType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="VollerName" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>name of corporate body (whole name)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <xs:element name="Rechtsform" type="xs:anyURI"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>type of company (eg AG, OHG, ...)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:UntName" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtsform" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:VollzugAttributes" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht NameType</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Vorname" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="Familienname" minOccurs="1" maxOccurs="1">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="primaer" default="undefiniert">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="wahr" />
+ <xs:enumeration value="falsch" />
+ <xs:enumeration value="undefiniert" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="prefix" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Affix" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="typ" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="akademischerGrad" />
+ <xs:enumeration value="Adelstitel" />
+ <xs:enumeration value="FamiliennamenAffix" />
+ <xs:enumeration value="Anrede" />
+ <xs:enumeration value="Generation" />
+ <xs:enumeration value="Qualifikation" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="position" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="prefix" />
+ <xs:enumeration value="suffix" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Struktur des Abstrakten Address Elements
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:complexType>
+
+
+
+ <xs:complexType name="TypisiertePostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht TypedPostalAddressType
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PostAdresse" />
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:Typ" minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:VollzugAttributes" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+ <xs:complexType name="PostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalAddressType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence>
+ <xs:element name="Staatscode" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Staatencode, ISO Code oder internationaler Post
+ code, entspricht CountryCode</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{3}" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Postleitzahl" type="xs:token"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalCode</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="Gemeinde" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht Municipality</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Gemeindekennziffer" minOccurs="0" />
+ <xs:element name="Ortschaft" type="xs:token" minOccurs="0" />
+ <xs:element name="Zustelladresse" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Zustelladresse oder ZMRAdresse, entspricht
+ DeliveryAddress</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Strassenname" type="xs:string"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Bei Ortschaften ohne Straßenname steht hier
+ Ortschaftsname, entspricht StreetName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Orientierungsnummer" type="xs:string"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Hausnummer oder Konskriptionsnummer, z.B.
+ 10, 124a, 78-80. Entpricht BuildingNumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AdressRegisterEintrag" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Addressregister database keys used to identify Addresses</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Adresscode" type="string7"/>
+ <xs:element name="Subcode" type="string3" minOccurs="0"/>
+ <xs:element name="Objektnummer" type="string7" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <!-- ### auxiliary types ### -->
+ <xs:simpleType name="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>einfacher Datentyp für Daten (union): Tag und/oder
+ Monta können ausgelassen werden, entspricht DayOfBirthType
+ </xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear" />
+ </xs:simpleType>
+
+ <!-- ### strings of defined maximum lenght for use with ZMR address #### -->
+ <xs:simpleType name="string3">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="3"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string7">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="7"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+</xs:schema>
diff --git a/src/main/resources/wsdl/ERsB/1.1/ersb-types.xsd b/src/main/resources/wsdl/ERsB/1.1/ersb-types.xsd
new file mode 100644
index 0000000..882d16a
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/ersb-types.xsd
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ 2012-10-17 sml V0.0.3 ErsbRequest um Attribut Id erweitert, ErsbResponse: Kardinalität zu Personendaten von 0:1 auf 0:n geändert.
+ 2012-10-08 sml V0.0.2 aktion ohne defaulting
+ 2012-06-21 sml V0.0.1 Ersterstellung
+-->
+
+<xsd:schema targetNamespace="http://statistik.at/namespace/ersb/1#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:pdersb="http://statistik.at/namespace/ersb/persondata/1#"
+ elementFormDefault="qualified">
+
+ <xsd:import namespace="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ schemaLocation="PersonData_URSuche.xsd" />
+
+
+ <xsd:import namespace="http://statistik.at/namespace/ersb/persondata/1#"
+ schemaLocation="PersonData_Ersb.xsd" />
+
+
+ <xsd:include schemaLocation="ur-basicTypesErsb.xsd" />
+
+ <xsd:element name="ErsbRequest" type="ersb:ErsbRequest" />
+ <xsd:element name="ErsbResponse" type="ersb:ErsbResponse" />
+
+ <xsd:complexType name="ErsbRequest">
+ <xsd:sequence>
+ <xsd:element name="PersonenDaten" type="pdersb:PersonenDatenTyp"
+ minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:integer" use="optional" />
+ </xsd:complexType>
+
+ <!-- Responseelemente -->
+ <xsd:complexType name="ErsbResponse">
+ <xsd:sequence>
+ <xsd:element name="returncode" type="xsd:int" />
+ <xsd:element name="statustext" type="xsd:string" minOccurs="0" maxOccurs="1" />
+ <xsd:element name="PersonenDaten" type="pd:PersonenDatenTyp"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:integer" use="optional" />
+ </xsd:complexType>
+
+
+ <xsd:attribute name="aktion">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="ALT"></xsd:enumeration>
+ <xsd:enumeration value="NEU"></xsd:enumeration>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+
+ <xsd:attributeGroup name="ErsbAttributes">
+ <xsd:attribute ref="ersb:aktion" use="optional"/>
+ </xsd:attributeGroup>
+
+</xsd:schema>
diff --git a/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_adr.xml b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_adr.xml
new file mode 100644
index 0000000..48f785d
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_adr.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:pdersb="http://statistik.at/namespace/ersb/persondata/1#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#"
+ xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <TypisiertePostAdresse ersb:aktion="ALT">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1220</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Prandaugasse</Strassenname>
+ <Orientierungsnummer>10/2</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>SITZ</ns3:Typ>
+ </TypisiertePostAdresse>
+ <TypisiertePostAdresse ersb:aktion="NEU">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1050</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Brandmayergasse</Strassenname>
+ <Orientierungsnummer>2/10</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>SITZ</ns3:Typ>
+ </TypisiertePostAdresse>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_best_zr.xml b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_best_zr.xml
new file mode 100644
index 0000000..8ea350c
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_best_zr.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <ersb:Bestandszeitraum ersb:aktion="ALT">
+ <ns3:BestandVon>2011-01-01</ns3:BestandVon>
+ <ns3:BestandBis>2999-12-31</ns3:BestandBis>
+ </ersb:Bestandszeitraum>
+ <ersb:Bestandszeitraum ersb:aktion="NEU">
+ <ns3:BestandVon>2011-01-02</ns3:BestandVon>
+ <ns3:BestandBis>2999-12-31</ns3:BestandBis>
+ </ersb:Bestandszeitraum>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_bnw.xml b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_bnw.xml
new file mode 100644
index 0000000..b16364b
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_bnw.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <ersb:Bestandsnachweis ersb:aktion="ALT">alter Bestandsnachweis</ersb:Bestandsnachweis>
+ <ersb:Bestandsnachweis ersb:aktion="NEU">neuer Bestandsnachweis</ersb:Bestandsnachweis>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_evb.xml b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_evb.xml
new file mode 100644
index 0000000..5276e21
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_evb.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <PersonenDaten>
+ <NatuerlichePerson>
+ <Identification>
+ <Value>B</Value> <!-- Identifikation der Person -->
+ <Type>PNR</Type>
+ </Identification>
+ </NatuerlichePerson>
+ <Zusatzdaten>
+ <ns3:EvbStatus>N</ns3:EvbStatus>
+ </Zusatzdaten>
+ </PersonenDaten>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_fktregel.xml b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_fktregel.xml
new file mode 100644
index 0000000..d782c1e
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_fktregel.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <PersonenDaten>
+ <NatuerlichePerson>
+ <Identification>
+ <Value>B</Value> <!-- Identifikation der Person -->
+ <Type>PNR</Type>
+ </Identification>
+ </NatuerlichePerson>
+ <Zusatzdaten>
+ <ersb:Funktion>
+ <ns3:FktName>101</ns3:FktName> <!-- Identifikation der Fkt -->
+ <ersb:FktRegel ersb:aktion="ALT">
+ <ns3:FktRegelVon>2010-06-12</ns3:FktRegelVon>
+ <ns3:FktRegelBis>2999-12-31</ns3:FktRegelBis>
+ <ns3:FktRegelText>vertritt seit 18.12.2010 selbständig</ns3:FktRegelText>
+ </ersb:FktRegel>
+ </ersb:Funktion>
+ <ersb:Funktion>
+ <ns3:FktName>101</ns3:FktName> <!-- Identifikation der Fkt -->
+ <ersb:FktRegel ersb:aktion="NEU">
+ <ns3:FktRegelVon>2010-06-12</ns3:FktRegelVon>
+ <ns3:FktRegelBis>2999-12-31</ns3:FktRegelBis>
+ <ns3:FktRegelText>vertritt seit 07.12.2011 gemeinsam mit einem Prokurist</ns3:FktRegelText>
+ </ersb:FktRegel>
+ </ersb:Funktion>
+ </Zusatzdaten>
+ </PersonenDaten>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_pers_rt.xml b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_pers_rt.xml
new file mode 100644
index 0000000..dfbd9ac
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_pers_rt.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <ersb:Rechtstatsachen ersb:aktion="NEU">
+ <ns3:RT_Nummer>004</ns3:RT_Nummer>
+ <ns3:RT_Code>0815</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zum Unternehmen</ns3:RT_Text>
+ </ersb:Rechtstatsachen>
+ <PersonenDaten>
+ <NatuerlichePerson>
+ <Identification>
+ <Value>B</Value> <!-- Identifikation der Person -->
+ <Type>PNR</Type>
+ </Identification>
+ </NatuerlichePerson>
+ <Zusatzdaten>
+ <ersb:Funktion>
+ <ns3:FktName>107</ns3:FktName> <!-- Identifikation der Fkt -->
+ <ersb:Rechtstatsachen ersb:aktion="NEU">
+ <ns3:RT_Nummer>003</ns3:RT_Nummer>
+ <ns3:RT_Code>0815</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zur Personfunktion</ns3:RT_Text>
+ </ersb:Rechtstatsachen>
+ </ersb:Funktion>
+ <ersb:Rechtstatsachen ersb:aktion="ALT">
+ <ns3:RT_Nummer>002</ns3:RT_Nummer>
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zur Person</ns3:RT_Text>
+ </ersb:Rechtstatsachen>
+ <ersb:Rechtstatsachen ersb:aktion="NEU">
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Neue Rechtstatsachentext zur Person</ns3:RT_Text>
+ </ersb:Rechtstatsachen>
+ </Zusatzdaten>
+ </PersonenDaten>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_persadr.xml b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_persadr.xml
new file mode 100644
index 0000000..e574609
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_persadr.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <PersonenDaten>
+ <NatuerlichePerson>
+ <Identification>
+ <Value>B</Value> <!-- Identifikation der Person -->
+ <Type>PNR</Type>
+ </Identification>
+ </NatuerlichePerson>
+ <TypisiertePostAdresse ersb:aktion="ALT">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1220</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Prandaugasse</Strassenname>
+ <Orientierungsnummer>10/2</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>ZUSTELLADRESSE</ns3:Typ>
+ </TypisiertePostAdresse>
+ <TypisiertePostAdresse ersb:aktion="NEU">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1050</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Brandmayergasse</Strassenname>
+ <Orientierungsnummer>2/10</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>ZUSTELLADRESSE</ns3:Typ>
+ </TypisiertePostAdresse>
+ </PersonenDaten>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_persdata.xml b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_persdata.xml
new file mode 100644
index 0000000..41ca683
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_persdata.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <PersonenDaten>
+ <NatuerlichePerson ersb:aktion="ALT">
+ <Identification>
+ <Value>B</Value> <!-- Identifikation der Person -->
+ <Type>PNR</Type>
+ </Identification>
+ <PersonenName>
+ <Vorname>Max</Vorname>
+ <Familienname>Mustermann</Familienname>
+ <Affix position="suffix">MSc</Affix>
+ </PersonenName>
+ <Geburtsdatum>1950-08-01</Geburtsdatum>
+ </NatuerlichePerson>
+ </PersonenDaten>
+ <PersonenDaten>
+ <NatuerlichePerson ersb:aktion="NEU">
+ <Identification>
+ <Value>B</Value> <!-- Identifikation der Person -->
+ <Type>PNR</Type>
+ </Identification>
+ <PersonenName>
+ <Vorname>Max</Vorname>
+ <Familienname>Mustermann</Familienname>
+ <Affix position="prefix">Mag.Dr.</Affix>
+ </PersonenName>
+ <Geburtsdatum>1950-08-01</Geburtsdatum>
+ </NatuerlichePerson>
+ </PersonenDaten>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_person.xml b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_person.xml
new file mode 100644
index 0000000..9df7b29
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_person.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <PersonenDaten>
+ <NatuerlichePerson ersb:aktion="NEU">
+ <PersonenName>
+ <Vorname>Maxima</Vorname>
+ <Familienname>Musterfrau</Familienname>
+ <Affix position="prefix">Mag.Dr.</Affix>
+ </PersonenName>
+ <Geburtsdatum>1950-08-01</Geburtsdatum>
+ </NatuerlichePerson>
+ <TypisiertePostAdresse ersb:aktion="NEU">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1050</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Brandmayergasse</Strassenname>
+ <Orientierungsnummer>2/10</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>ZUSTELLADRESSE</ns3:Typ>
+ </TypisiertePostAdresse>
+ <Zusatzdaten>
+ <ersb:Funktion ersb:aktion="NEU">
+ <ns3:FktName>101</ns3:FktName>
+ <ersb:FktRegel ersb:aktion="NEU">
+ <ns3:FktRegelVon>2010-06-12</ns3:FktRegelVon>
+ <ns3:FktRegelBis>2999-12-31</ns3:FktRegelBis>
+ <ns3:FktRegelText>vertritt seit 07.12.2011 gemeinsam mit einem Prokurist</ns3:FktRegelText>
+ </ersb:FktRegel>
+ </ersb:Funktion>
+ </Zusatzdaten>
+ </PersonenDaten>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_pfunkt.xml b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_pfunkt.xml
new file mode 100644
index 0000000..f54b499
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_pfunkt.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <PersonenDaten>
+ <NatuerlichePerson>
+ <Identification>
+ <Value>B</Value> <!-- Identifikation der Person -->
+ <Type>PNR</Type>
+ </Identification>
+ </NatuerlichePerson>
+ <Zusatzdaten>
+ <ersb:Funktion ersb:aktion="ALT">
+ <ns3:FktName>109</ns3:FktName>
+ </ersb:Funktion>
+ <ersb:Funktion ersb:aktion="NEU">
+ <ns3:FktName>121</ns3:FktName>
+ </ersb:Funktion>
+ </Zusatzdaten>
+ </PersonenDaten>
+ </Zusatzdaten>
+
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_rechtsform.xml b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_rechtsform.xml
new file mode 100644
index 0000000..dabc1d7
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_rechtsform.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ <ersb:Rechtsform ersb:aktion="ALT">
+ <ns3:ReFormExtern>101</ns3:ReFormExtern>
+ </ersb:Rechtsform>
+ <ersb:Rechtsform ersb:aktion="NEU">
+ <ns3:ReFormExtern>102</ns3:ReFormExtern>
+ <ns3:ReFormExternText>Text für ausl. RF</ns3:ReFormExternText>
+ </ersb:Rechtsform>
+ </NichtNatuerlichePerson>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_untname.xml b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_untname.xml
new file mode 100644
index 0000000..208c5d8
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_untname.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ <ersb:UntName ersb:aktion="ALT">
+ <ns3:VollerName>Max Mustermann</ns3:VollerName>
+ </ersb:UntName>
+ <ersb:UntName ersb:aktion="NEU">
+ <ns3:VollerName>Max Mustermann &amp; Erben</ns3:VollerName>
+ </ersb:UntName>
+ </NichtNatuerlichePerson>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest>
diff --git a/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_vertretung.xml b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_vertretung.xml
new file mode 100644
index 0000000..6a34ed4
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/examples/example_aend_vertretung.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- Identifikation des Unternehmens -->
+ <Type>ERJ</Type>
+ </Identification>
+ </NichtNatuerlichePerson>
+ <Zusatzdaten>
+ <ersb:Vertretung ersb:aktion="ALT">alter VText</ersb:Vertretung>
+ <ersb:Vertretung ersb:aktion="NEU">neuer Vtext</ersb:Vertretung>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.1/examples/example_neuanlage.xml b/src/main/resources/wsdl/ERsB/1.1/examples/example_neuanlage.xml
new file mode 100644
index 0000000..2961bf4
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/examples/example_neuanlage.xml
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbRequest xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+
+ <ersb:PersonenDaten xmlns="http://statistik.at/namespace/ersb/persondata/1#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>0002074662</Value>
+ <Type>SID</Type>
+ </Identification>
+ <ersb:UntName>
+ <ns3:VollerName>Maximilian Mustermann</ns3:VollerName>
+ </ersb:UntName>
+ <ersb:Rechtsform>
+ <ns3:ReFormExtern>101</ns3:ReFormExtern>
+ </ersb:Rechtsform>
+ </NichtNatuerlichePerson>
+ <TypisiertePostAdresse>
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1220</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Prandaugasse</Strassenname>
+ <Orientierungsnummer>10/2</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>SITZ</ns3:Typ>
+ </TypisiertePostAdresse>
+ <Zusatzdaten>
+ <ersb:Bestandszeitraum>
+ <ns3:BestandVon>2010-06-12</ns3:BestandVon>
+ </ersb:Bestandszeitraum>
+ <ersb:Bestandsnachweis>Text für Bestandsnachweis</ersb:Bestandsnachweis>
+ <ersb:Vertretung>Vertretungsregelung für das Unternehmen</ersb:Vertretung>
+ <ersb:Rechtstatsachen>
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zum Unternehmen</ns3:RT_Text>
+ </ersb:Rechtstatsachen>
+ <PersonenDaten>
+ <NatuerlichePerson>
+ <Identification> <!-- optional: Fremd-bPK WT-UR -->
+ <Value>spwAeUM/n8okpsROzLSxNUn/U6Sr+/evE9rs0xI7WsRO79d
+ Sf4OBRS/q3LTt2GKrptB5ZfY/T137l8MuglMw3GbxLY7J4WlUnUbCCCnW4FP7G
+ b8HjFItBri9hIjtV3a6H+rMBfmpNXyzAhTuvAtxUmB7ZHyUUF/kVIxpjA4SRWs=</Value>
+ <Type>BPK</Type>
+ </Identification>
+ <PersonenName>
+ <Vorname>Maxima</Vorname>
+ <Familienname>Musterfrau</Familienname>
+ <Affix position="prefix">Mag.Dr.</Affix>
+ </PersonenName>
+ <Geburtsdatum>1950-08-01</Geburtsdatum>
+ </NatuerlichePerson>
+ <TypisiertePostAdresse>
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1050</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Brandmayergasse</Strassenname>
+ <Orientierungsnummer>2/10</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>ZUSTELLADRESSE</ns3:Typ>
+ </TypisiertePostAdresse>
+ <Zusatzdaten>
+ <ns3:EvbStatus>J</ns3:EvbStatus>
+ <ersb:Funktion>
+ <ns3:FktName>101</ns3:FktName>
+ <ersb:FktRegel>
+ <ns3:FktRegelVon>2010-06-12</ns3:FktRegelVon>
+ <ns3:FktRegelBis>2999-12-31</ns3:FktRegelBis>
+ <ns3:FktRegelText>vertritt seit 18.12.2010 selbständig</ns3:FktRegelText>
+ </ersb:FktRegel>
+ <ersb:Rechtstatsachen>
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zur Funktion</ns3:RT_Text>
+ </ersb:Rechtstatsachen>
+ </ersb:Funktion>
+ <ersb:Rechtstatsachen>
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zur Person</ns3:RT_Text>
+ </ersb:Rechtstatsachen>
+ </Zusatzdaten>
+ </PersonenDaten>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbRequest> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.1/examples/example_neuanlage_response.xml b/src/main/resources/wsdl/ERsB/1.1/examples/example_neuanlage_response.xml
new file mode 100644
index 0000000..a233266
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/examples/example_neuanlage_response.xml
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ersb:ErsbResponse xmlns="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#"
+ xmlns:ns3="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://statistik.at/namespace/ersb/1# ../schema_strict/all_strict.xsd"
+ xsi:noNamespaceSchemaLocation="../schema_strict/all_strict.xsd">
+ <ersb:returncode>1</ersb:returncode>
+ <ersb:statustext>OK</ersb:statustext>
+ <ersb:PersonenDaten xmlns="http://reference.e-government.gv.at/namespace/persondata/de/20040201#">
+ <NichtNatuerlichePerson>
+ <Identification>
+ <Value>9110001021537</Value> <!-- vom ERsB generiert -->
+ <Type>ERJ</Type>
+ <ns3:TypeText>Ordnungsnummer aus dem ERsB</ns3:TypeText>
+ <ns3:Beginn quelle="ERJ"
+ quText="Ergänzungsregister für sonstige Betroffene">2012-06-01+01:00</ns3:Beginn>
+ </Identification>
+ <Identification>
+ <Value>R011S390Q</Value> <!-- vom ERsB generiert -->
+ <Type>KUR</Type>
+ <ns3:TypeText>Kennziffer des Unternehmensregisters</ns3:TypeText>
+ <ns3:Beginn quelle="URV"
+ quText="Unternehmensregister für Verwaltungszwecke">2012-06-01+01:00</ns3:Beginn>
+ </Identification>
+ <Identification>
+ <Value>0002074662</Value>
+ <Type>SID</Type>
+ <ns3:TypeText>Subjektidentifikationsnummer</ns3:TypeText>
+ <ns3:Beginn quelle="XYZ" quText="Quellenname">2012-06-01+01:00</ns3:Beginn>
+ </Identification>
+ <VollerName>Max Mustermann</VollerName>
+ <Rechtsform>Einzelunternehmen</Rechtsform>
+ <ns3:UntName ns3:vollzugBeginn="v1" >
+ <ns3:VollerName>Max Mustermann</ns3:VollerName>
+ </ns3:UntName>
+ <ns3:Rechtsform ns3:vollzugBeginn="v1">
+ <ns3:ReForm>1</ns3:ReForm>
+ <ns3:ReFormText>Einzelunternehmen</ns3:ReFormText>
+ <ns3:ReFormExtern>101</ns3:ReFormExtern>
+ <ns3:ReFormExternText>Einzelunternehmen</ns3:ReFormExternText>
+ </ns3:Rechtsform>
+ </NichtNatuerlichePerson>
+ <TypisiertePostAdresse ns3:vollzugBeginn="v1">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1220</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Prandaugasse</Strassenname>
+ <Orientierungsnummer>10/2</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>SITZ</ns3:Typ>
+ </TypisiertePostAdresse>
+ <Zusatzdaten>
+ <ns3:Bestandszeitraum ns3:vollzugBeginn="v1">
+ <ns3:BestandVon>2010-06-12</ns3:BestandVon>
+ </ns3:Bestandszeitraum>
+ <ns3:Bestandsnachweis ns3:vollzugBeginn="v1">
+ Text für Bestandsnachweis</ns3:Bestandsnachweis>
+ <ns3:Vertretung ns3:vollzugBeginn="v1">
+ Vertretungsregelung für das Unternehmen</ns3:Vertretung>
+ <ns3:Rechtstatsachen ns3:vollzugBeginn="v1">
+ <ns3:RT_Nummer>001</ns3:RT_Nummer> <!-- vom ERsB generiert -->
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zum Unternehmen</ns3:RT_Text>
+ </ns3:Rechtstatsachen>
+ <PersonenDaten>
+ <NatuerlichePerson ns3:vollzugBeginn="v1">
+ <Identification>
+ <Value>A</Value> <!-- vom ERsB generiert -->
+ <Type>PNR</Type>
+ <ns3:TypeText>Personennummer</ns3:TypeText>
+ </Identification>
+ <PersonenName>
+ <Vorname>Maxima</Vorname>
+ <Familienname>Musterfrau</Familienname>
+ <Affix position="prefix">Mag.Dr.</Affix>
+ </PersonenName>
+ <Geburtsdatum>1950-08-01</Geburtsdatum>
+ </NatuerlichePerson>
+ <TypisiertePostAdresse ns3:vollzugBeginn="v1">
+ <PostAdresse>
+ <Staatscode>AUT</Staatscode>
+ <Postleitzahl>1050</Postleitzahl>
+ <Gemeinde>Wien</Gemeinde>
+ <Gemeindekennziffer>90001</Gemeindekennziffer>
+ <Ortschaft>Wien</Ortschaft>
+ <Zustelladresse>
+ <Strassenname>Brandmayergasse</Strassenname>
+ <Orientierungsnummer>2/10</Orientierungsnummer>
+ </Zustelladresse>
+ </PostAdresse>
+ <ns3:Typ>ZUSTELLADRESSE</ns3:Typ>
+ </TypisiertePostAdresse>
+ <Zusatzdaten>
+ <ns3:EvbStatus>J</ns3:EvbStatus>
+ <ns3:Funktion ns3:vollzugBeginn="v1">
+ <ns3:FktName>101</ns3:FktName>
+ <ns3:FktNameText>Inhaber</ns3:FktNameText>
+ <ns3:FktRegel ns3:vollzugBeginn="v1">
+ <ns3:FktRegelVon>2010-06-12</ns3:FktRegelVon>
+ <ns3:FktRegelBis>2999-12-31</ns3:FktRegelBis>
+ <ns3:FktRegelText>vertritt seit 18.12.2010 selbständig</ns3:FktRegelText>
+ </ns3:FktRegel>
+ <ns3:Rechtstatsachen ns3:vollzugBeginn="v1">
+ <ns3:RT_Nummer>001</ns3:RT_Nummer> <!-- vom ERsB generiert -->
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zur Funktion</ns3:RT_Text>
+ </ns3:Rechtstatsachen>
+ </ns3:Funktion>
+ <ns3:Rechtstatsachen ns3:vollzugBeginn="v1">
+ <ns3:RT_Nummer>001</ns3:RT_Nummer> <!-- vom ERsB generiert -->
+ <ns3:RT_Code>0999</ns3:RT_Code>
+ <ns3:RT_Text>Rechtstatsachentext zur Person</ns3:RT_Text>
+ </ns3:Rechtstatsachen>
+ </Zusatzdaten>
+ </PersonenDaten>
+ <ns3:Vollzug id="v1" nummer="001" status="A">
+ <ns3:Antrag quelle="XYZ" quText="Quellenname">
+ 2012-06-01+01:00</ns3:Antrag>
+ </ns3:Vollzug>
+ </Zusatzdaten>
+ </ersb:PersonenDaten>
+</ersb:ErsbResponse>
diff --git a/src/main/resources/wsdl/ERsB/1.1/schema/PersonData_Ersb.xsd b/src/main/resources/wsdl/ERsB/1.1/schema/PersonData_Ersb.xsd
new file mode 100644
index 0000000..becd0a9
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/schema/PersonData_Ersb.xsd
@@ -0,0 +1,438 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Paul (thx) -->
+<!-- edited with XML Spy v4.1 U (http://www.xmlspy.com) by Peter Reichstädter (CIO) -->
+<!--Generisches Schema zum Speichern und Austauschen von Personendaten
+ (c) 2001-2002 Chief Information Office Austria, Stabsstelle IKT-Strategie des Bundes, BM֖LS
+ Kontakt: Peter Reichstädter (peter.reichstaedter@cio.gv.at), Arno Hollosi (arno.hollosi@cio.gv.at)
+ Die freie Verwendung dieses Schemas in Applikationen (behördenintern, kommerziell, privat) ist erlaubt und erwünscht.
+-->
+<!--
+ Adaptierung URV URSuche v3.0 für Ersb Schnittstelle
+ ===================================================
+ 2012-10-08 sml Stiege und Türnummer in ERsB Request
+ 2012-09-20 sml NichtNatuerlichePerson um ErsbAttributes erweitert
+ 2012-09-11 sml IdentificationType um Beginn und Ende erweitert
+ 2012-09-03 sml IdentificationType um ErsbAttributes erweitert
+ 2012-08-07 sml kein mixed Content bei den Zusatzdaten mehr möglich
+ 2012-07-05 sml Any-Attribute und Any-Elemente nach AGII-Empfehlung durch die konkreten ersetzt.
+ 2012-06-14 sml Affix wieder auf unbounded (vgl. URSucheService UDB)
+ -->
+<?xml-stylesheet type="text/xsl" href="getelementnames.xslt"?>
+
+<xs:schema targetNamespace="http://statistik.at/namespace/ersb/persondata/1#"
+ xmlns="http://statistik.at/namespace/ersb/persondata/1#"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:uri="http://statistik.at/namespace/ersb/1#"
+ xmlns:urs="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0.0">
+
+ <!-- Import der ERSB-suche -->
+
+ <xs:import namespace="http://statistik.at/namespace/ersb/1#"
+ schemaLocation="ersb-types.xsd" />
+
+
+ <!-- Import UR Suche -->
+ <xs:import namespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ schemaLocation="ur-basicTypes.xsd" />
+
+
+ <xs:annotation>
+ <xs:documentation>This version of person deploys only global elements. All types derived from abstract types have been replaced by substitution groups</xs:documentation>
+ </xs:annotation>
+ <!-- ### signed structure of a person ### -->
+ <xs:element name="AbstractPersonData" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes PersonenDaten Element, nur auf englisch verfügbar, nicht direkt benützen sondern PersonenDaten benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="PersonenDaten" type="PersonenDatenTyp" substitutionGroup="AbstractPersonData">
+ <xs:annotation>
+ <xs:documentation>Signierte Personendatenstruktur</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- ### base type for person data ### -->
+ <xs:element name="Person" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Personen Element, nur auf englisch verfügbar, nicht direkt benützen sondern NatuerlichePerson o. NichtNatuerlichePerson benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- ### physical person and corporate body ### -->
+ <xs:element name="NatuerlichePerson" type="NatuerlichePersonTyp" substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>Natuerliche Person entspricht PhysicalPerson, ist eine Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="NichtNatuerlichePerson" type="NichtNatuerlichePersonTyp" substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>NichtNatuerlichePerson entspricht CorporatzeBody, ist Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### complex child elements of person, also available as standalone ###-->
+ <xs:element name="PersonenName" type="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>Container für diverse Namensbestandteile, entspricht Name in der englischen Version</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+
+ <!-- ### adress data for various types of communications ### -->
+ <xs:element name="Address" type="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Address Element, nur auf Englisch verfügbar, nicht direkt benützen sondern PostAdresse, InternetAdresse, etc benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PostAdresse" type="PostAdresseTyp" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Post oder ZMR Adresse, entspricht PostalAddress, ist Ableitung von Address (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="TypisiertePostAdresse" type="TypisiertePostAdresseTyp" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Typisierte Post oder ZMRAdresse, entspricht TypedPostalAddress, ist Ableitung von Address (abstract) </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### elements of simple type ####-->
+ <xs:element name="Geburtsdatum" type="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>Geburtsdatum, entspricht DateOfBirth</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <!--### Complex types ###-->
+
+
+ <!-- UR Spezialisierung des PersonenDatenTyp -->
+ <xs:complexType name="PersonenDatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="NichtNatuerlichePerson"/>
+
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0" maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" minOccurs="0">
+ <xs:complexType mixed="false">
+ <xs:sequence minOccurs="0">
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:Bestandszeitraum" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Bestandsnachweis" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Vertretung" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element name="PersonenDaten" type="PersonenDatenZusatzdatenTyp" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <!-- UR Spezialisierung für natürliche und nichtnatürliche Personen in den Zusatzdaten-->
+ <xs:complexType name="PersonenDatenZusatzdatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:choice minOccurs="0">
+ <xs:element ref="NichtNatuerlichePerson"/>
+ <xs:element ref="NatuerlichePerson"/>
+ </xs:choice>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0" maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" minOccurs="0">
+ <xs:complexType mixed="false">
+
+ <xs:sequence minOccurs="0">
+ <!-- Erweiterung UR -->
+ <xs:element ref="urs:EvbStatus" minOccurs="0" maxOccurs="1" />
+ <xs:element ref="uri:Funktion" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+<xs:complexType name="IdentificationType">
+ <xs:annotation>
+ <xs:documentation>Container für beliebige Identifikationsmerkmale, besteht aus Type und Value Unterelementen, aus technischen Gründen nur auf Englisch verfügbar</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Value">
+ <xs:annotation>
+ <xs:documentation>actual value of the identifier.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Type" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>type of value (eg 'ZMR', 'SV-Nummer', 'Martrikelnummer', database identification, ...)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- Erweiterung Ersb -->
+ <xs:element ref="uri:Beginn" minOccurs="0" maxOccurs="1" />
+ <xs:element ref="uri:Ende" minOccurs="0" maxOccurs="1" />
+
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ <!-- Erweiterung Ersb -->
+ <xs:attributeGroup ref="uri:ErsbAttributes" />
+
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>main structure of person data</xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0">
+ <xs:element name="Identification" type="IdentificationType" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>unique identification entities</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ </xs:complexType>
+
+
+ <xs:complexType name="NatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PhysicalPersonType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PersonenName" minOccurs="0"/>
+ <xs:element ref="Geburtsdatum" minOccurs="0"/>
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:ErsbAttributes" />
+ </xs:extension>
+
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+
+ <xs:complexType name="NichtNatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht CorporateBodyType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="VollerName" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>name of corporate body (whole name)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="Rechtsform" type="xs:anyURI" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>type of company (eg AG, OHG, ...)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:UntName" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtsform" minOccurs="0" maxOccurs="unbounded" />
+
+ </xs:sequence>
+ <!-- Erweiterung Ersb -->
+ <xs:attributeGroup ref="uri:ErsbAttributes" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht NameType</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Vorname" type="xs:string" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="Familienname" minOccurs="1" maxOccurs="1">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="primaer" default="undefiniert">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="wahr"/>
+ <xs:enumeration value="falsch"/>
+ <xs:enumeration value="undefiniert"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="prefix" type="xs:string"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Affix" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="typ" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="akademischerGrad"/>
+ <xs:enumeration value="Adelstitel"/>
+ <xs:enumeration value="FamiliennamenAffix"/>
+ <xs:enumeration value="Anrede"/>
+ <xs:enumeration value="Generation"/>
+ <xs:enumeration value="Qualifikation"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="position" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="prefix"/>
+ <xs:enumeration value="suffix"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Struktur des Abstrakten Address Elements</xs:documentation>
+ </xs:annotation>
+
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="TypisiertePostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht TypedPostalAddressType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PostAdresse"/>
+ <!-- Erweiterung UR -->
+ <xs:element ref="urs:Typ" minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:ErsbAttributes" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+ <xs:complexType name="PostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalAddressType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence>
+ <xs:element name="Staatscode" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Staatencode, ISO Code oder internationaler Post code, entspricht CountryCode</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{3}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Postleitzahl" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalCode</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="Gemeinde" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht Municipality</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Gemeindekennziffer" minOccurs="0"/>
+ <xs:element name="Ortschaft" type="xs:token" minOccurs="0"/>
+ <xs:element name="Zustelladresse" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Zustelladresse oder ZMRAdresse, entspricht DeliveryAddress</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Strassenname" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Bei Ortschaften ohne Straßenname steht hier Ortschaftsname, entspricht StreetName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Orientierungsnummer" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Hausnummer oder Konskriptionsnummer, z.B. 10, 124a, 78-80. Entpricht BuildingNumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Gebaeude" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Gebäudeteil oder eigneens Gbäude, z.B. Stiege, Werkstatt, ..... Entspricht Unit</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Nutzungseinheit" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Tuernummer oder andere naehere Beschreibung der Adresse (z.B. 4. Stock rechts). Entspricht DoorNumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <!-- ### auxiliary types ### -->
+ <xs:simpleType name="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>einfacher Datentyp für Daten (union): Tag und/oder Monta können ausgelassen werden, entspricht DayOfBirthType</xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear"/>
+ </xs:simpleType>
+
+</xs:schema>
diff --git a/src/main/resources/wsdl/ERsB/1.1/schema/PersonData_URSuche.xsd b/src/main/resources/wsdl/ERsB/1.1/schema/PersonData_URSuche.xsd
new file mode 100644
index 0000000..6c8209a
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/schema/PersonData_URSuche.xsd
@@ -0,0 +1,511 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Paul (thx) -->
+<!-- edited with XML Spy v4.1 U (http://www.xmlspy.com) by Peter Reichstädter (CIO) -->
+<!--Generisches Schema zum Speichern und Austauschen von Personendaten
+ (c) 2001-2002 Chief Information Office Austria, Stabsstelle IKT-Strategie des Bundes, BM֖LS
+ Kontakt: Peter Reichstädter (peter.reichstaedter@cio.gv.at), Arno Hollosi (arno.hollosi@cio.gv.at)
+ Die freie Verwendung dieses Schemas in Applikationen (behördenintern, kommerziell, privat) ist erlaubt und erwünscht.
+-->
+<!--
+ Anpassungen für URV URSuche v3.0
+ ================================
+ 2012-09-24 sml Auslagerung Zusatzdaten in ZusatzdatenPersonenTyp
+ 2012-09-20 sml NichtNatuerlichePerson um VollzugAttributes erweitert
+ 2012-09-11 sml Kardinalität EVBStatus auf 0..1 geändert
+ Kardinalität TypeText von 0..n auf 0..1 geändert
+ 2012-08-20 hoa AdressCode/Subcode/Objektnummer hinzugefügt
+ 2012-08-08 sml Branche hinzugefügt
+ 2012-08-07 sml kein mixed Content bei den Zusatzdaten mehr möglich
+ 2012-08-06 sml eigener Namespace für UR-Persondata
+ 2012-07-05 sml Any-Attribute und Any-Elemente nach AGII-Empfehlung durch die konkreten ersetzt.
+ 2012-06-14 sml Affix wieder auf unbounded (vgl. URSucheService UDB)
+ -->
+<?xml-stylesheet type="text/xsl" href="getelementnames.xslt"?>
+
+<xs:schema targetNamespace="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns="http://reference.e-government.gv.at/namespace/persondata/de/20040201#" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:uri="http://statistik.at/namespace/ur/stammdaten/2#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
+ elementFormDefault="qualified" attributeFormDefault="unqualified"
+ version="1.0.0">
+
+ <!-- Import der UR-basic -->
+ <xs:import namespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ schemaLocation="ur-basicTypes.xsd" />
+
+
+ <xs:annotation>
+ <xs:documentation>This version of person deploys only global elements.
+ All types derived from abstract types have been replaced by
+ substitution groups</xs:documentation>
+ </xs:annotation>
+ <!-- ### signed structure of a person ### -->
+ <xs:element name="AbstractPersonData" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes PersonenDaten Element, nur auf englisch
+ verfügbar, nicht direkt benützen sondern PersonenDaten benutzen
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="PersonenDaten" type="PersonenDatenTyp"
+ substitutionGroup="AbstractPersonData">
+ <xs:annotation>
+ <xs:documentation>Signierte Personendatenstruktur</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- ### base type for person data ### -->
+ <xs:element name="Person" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Personen Element, nur auf englisch
+ verfügbar, nicht direkt benützen sondern NatuerlichePerson o.
+ NichtNatuerlichePerson benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- ### physical person and corporate body ### -->
+ <xs:element name="NatuerlichePerson" type="NatuerlichePersonTyp"
+ substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>Natuerliche Person entspricht PhysicalPerson, ist
+ eine Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="NichtNatuerlichePerson" type="NichtNatuerlichePersonTyp"
+ substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>NichtNatuerlichePerson entspricht CorporatzeBody,
+ ist Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### complex child elements of person, also available as standalone ### -->
+ <xs:element name="PersonenName" type="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>Container für diverse Namensbestandteile,
+ entspricht Name in der englischen Version</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+
+ <!-- ### adress data for various types of communications ### -->
+ <xs:element name="Address" type="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Address Element, nur auf Englisch
+ verfügbar, nicht direkt benützen sondern PostAdresse,
+ InternetAdresse, etc benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PostAdresse" type="PostAdresseTyp"
+ substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Post oder ZMR Adresse, entspricht PostalAddress,
+ ist Ableitung von Address (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="TypisiertePostAdresse" type="TypisiertePostAdresseTyp"
+ substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Typisierte Post oder ZMRAdresse, entspricht
+ TypedPostalAddress, ist Ableitung von Address (abstract)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### elements of simple type #### -->
+ <xs:element name="Geburtsdatum" type="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>Geburtsdatum, entspricht DateOfBirth
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <!--### Complex types ### -->
+
+
+ <!-- UR Spezialisierung des PersonenDatenTyp -->
+ <xs:complexType name="PersonenDatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu
+ speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="NichtNatuerlichePerson" />
+
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0"
+ maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" minOccurs="0">
+ <!-- UR Erweiterung: kein mixed Content bei den Zusatzdaten -->
+ <xs:complexType mixed="false">
+ <xs:sequence minOccurs="0">
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:AendDat" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element ref="uri:Bestandszeitraum" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Bestandsnachweis" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Vertretung" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Branche" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element name="PersonenDaten" type="PersonenDatenZusatzdatenTyp"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Vollzug" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <!-- UR Spezialisierung für natürliche und nichtnatürliche Personen in den
+ Zusatzdaten -->
+ <xs:complexType name="PersonenDatenZusatzdatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu
+ speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:choice minOccurs="0">
+ <xs:element ref="NichtNatuerlichePerson" />
+ <xs:element ref="NatuerlichePerson" />
+ </xs:choice>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0"
+ maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" type="ZusatzdatenPersonenTyp" minOccurs="0"/>
+
+
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="ZusatzdatenPersonenTyp">
+
+ <xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:EvbStatus" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element ref="uri:Funktion" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+
+ </xs:complexType>
+ <xs:complexType name="IdentificationType">
+ <xs:annotation>
+ <xs:documentation>Container für beliebige Identifikationsmerkmale,
+ besteht aus Type und Value Unterelementen, aus technischen Gründen
+ nur auf Englisch verfügbar</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Value">
+ <xs:annotation>
+ <xs:documentation>actual value of the identifier.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Type" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>type of value (eg 'ZMR', 'SV-Nummer',
+ 'Martrikelnummer', database identification, ...)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:TypeText" minOccurs="0" maxOccurs="1" />
+ <xs:element ref="uri:Beginn" minOccurs="0" maxOccurs="1" />
+ <xs:element ref="uri:Ende" minOccurs="0" maxOccurs="1" />
+
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>main structure of person data</xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0">
+ <xs:element name="Identification" type="IdentificationType"
+ minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>unique identification entities</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:complexType>
+
+
+ <xs:complexType name="NatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PhysicalPersonType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PersonenName" minOccurs="0" />
+ <xs:element ref="Geburtsdatum" minOccurs="0" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:VollzugAttributes" />
+ </xs:extension>
+
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+
+ <xs:complexType name="NichtNatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht CorporateBodyType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="VollerName" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>name of corporate body (whole name)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <xs:element name="Rechtsform" type="xs:anyURI"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>type of company (eg AG, OHG, ...)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:UntName" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtsform" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:VollzugAttributes" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht NameType</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Vorname" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="Familienname" minOccurs="1" maxOccurs="1">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="primaer" default="undefiniert">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="wahr" />
+ <xs:enumeration value="falsch" />
+ <xs:enumeration value="undefiniert" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="prefix" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Affix" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="typ" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="akademischerGrad" />
+ <xs:enumeration value="Adelstitel" />
+ <xs:enumeration value="FamiliennamenAffix" />
+ <xs:enumeration value="Anrede" />
+ <xs:enumeration value="Generation" />
+ <xs:enumeration value="Qualifikation" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="position" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="prefix" />
+ <xs:enumeration value="suffix" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Struktur des Abstrakten Address Elements
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:complexType>
+
+
+
+ <xs:complexType name="TypisiertePostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht TypedPostalAddressType
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PostAdresse" />
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:Typ" minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:VollzugAttributes" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+ <xs:complexType name="PostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalAddressType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence>
+ <xs:element name="Staatscode" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Staatencode, ISO Code oder internationaler Post
+ code, entspricht CountryCode</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{3}" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Postleitzahl" type="xs:token"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalCode</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="Gemeinde" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht Municipality</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Gemeindekennziffer" minOccurs="0" />
+ <xs:element name="Ortschaft" type="xs:token" minOccurs="0" />
+ <xs:element name="Zustelladresse" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Zustelladresse oder ZMRAdresse, entspricht
+ DeliveryAddress</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Strassenname" type="xs:string"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Bei Ortschaften ohne Straßenname steht hier
+ Ortschaftsname, entspricht StreetName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Orientierungsnummer" type="xs:string"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Hausnummer oder Konskriptionsnummer, z.B.
+ 10, 124a, 78-80. Entpricht BuildingNumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AdressRegisterEintrag" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Addressregister database keys used to identify Addresses</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Adresscode" type="string7"/>
+ <xs:element name="Subcode" type="string3" minOccurs="0"/>
+ <xs:element name="Objektnummer" type="string7" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <!-- ### auxiliary types ### -->
+ <xs:simpleType name="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>einfacher Datentyp für Daten (union): Tag und/oder
+ Monta können ausgelassen werden, entspricht DayOfBirthType
+ </xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear" />
+ </xs:simpleType>
+
+ <!-- ### strings of defined maximum lenght for use with ZMR address #### -->
+ <xs:simpleType name="string3">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="3"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string7">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="7"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+</xs:schema>
diff --git a/src/main/resources/wsdl/ERsB/1.1/schema/ersb-types.xsd b/src/main/resources/wsdl/ERsB/1.1/schema/ersb-types.xsd
new file mode 100644
index 0000000..882d16a
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/schema/ersb-types.xsd
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ 2012-10-17 sml V0.0.3 ErsbRequest um Attribut Id erweitert, ErsbResponse: Kardinalität zu Personendaten von 0:1 auf 0:n geändert.
+ 2012-10-08 sml V0.0.2 aktion ohne defaulting
+ 2012-06-21 sml V0.0.1 Ersterstellung
+-->
+
+<xsd:schema targetNamespace="http://statistik.at/namespace/ersb/1#"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:pdersb="http://statistik.at/namespace/ersb/persondata/1#"
+ elementFormDefault="qualified">
+
+ <xsd:import namespace="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ schemaLocation="PersonData_URSuche.xsd" />
+
+
+ <xsd:import namespace="http://statistik.at/namespace/ersb/persondata/1#"
+ schemaLocation="PersonData_Ersb.xsd" />
+
+
+ <xsd:include schemaLocation="ur-basicTypesErsb.xsd" />
+
+ <xsd:element name="ErsbRequest" type="ersb:ErsbRequest" />
+ <xsd:element name="ErsbResponse" type="ersb:ErsbResponse" />
+
+ <xsd:complexType name="ErsbRequest">
+ <xsd:sequence>
+ <xsd:element name="PersonenDaten" type="pdersb:PersonenDatenTyp"
+ minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:integer" use="optional" />
+ </xsd:complexType>
+
+ <!-- Responseelemente -->
+ <xsd:complexType name="ErsbResponse">
+ <xsd:sequence>
+ <xsd:element name="returncode" type="xsd:int" />
+ <xsd:element name="statustext" type="xsd:string" minOccurs="0" maxOccurs="1" />
+ <xsd:element name="PersonenDaten" type="pd:PersonenDatenTyp"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:integer" use="optional" />
+ </xsd:complexType>
+
+
+ <xsd:attribute name="aktion">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="ALT"></xsd:enumeration>
+ <xsd:enumeration value="NEU"></xsd:enumeration>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+
+ <xsd:attributeGroup name="ErsbAttributes">
+ <xsd:attribute ref="ersb:aktion" use="optional"/>
+ </xsd:attributeGroup>
+
+</xsd:schema>
diff --git a/src/main/resources/wsdl/ERsB/1.1/schema/specific/CustomFault.xsd b/src/main/resources/wsdl/ERsB/1.1/schema/specific/CustomFault.xsd
new file mode 100644
index 0000000..c73d667
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/schema/specific/CustomFault.xsd
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <xs:element name="Message" type="CustomFaultType"/>
+
+ <xs:complexType name="CustomFaultType" final="extension">
+ <xs:annotation>
+ <xs:documentation>CustomFault reporting structure</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Code" type="xs:integer"/>
+ <xs:element name="Reason" type="xs:string" maxOccurs="unbounded"/>
+ <xs:element name="Help" type="xs:string" minOccurs="0"/>
+ <xs:element name="Detail" type="xs:anyType" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+</xs:schema>
diff --git a/src/main/resources/wsdl/ERsB/1.1/schema/ur-basicTypes.xsd b/src/main/resources/wsdl/ERsB/1.1/schema/ur-basicTypes.xsd
new file mode 100644
index 0000000..13081bb
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/schema/ur-basicTypes.xsd
@@ -0,0 +1,309 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ 2013-03-14 sml V0.1.3 FktRegelTyp: alle Elemente auf minOccurs=0 geändert
+ 2013-03-05 sml V0.1.2 Erweiterung Taetigkeitszeitraum analog zu Bestandszeitraum
+ 2013-01-23 sml V0.1.1 Bestandszeitraum BestandVon auf minOccurs=0 geändert
+ 2012-11-20 sml V0.1.0 Erweiterung Rechtsform: ReFormExtern auf numerischen RechtsformTyp geändert, ReFormExternText für Text hinzugefügt
+ 2012-10-15 sml V0.0.9 Typo Vetretung => Vertretung
+ 2012-10-12 sml V0.0.8 Kardinalität Funktion <==> Rechtstatsache von 0:1 auf 0:n geändert
+ 2012-09-19 sml V0.0.7 FktRegelTyp: FktRegelBis minOccurs von 1 auf 0 geändert
+ 2012-07-31 sml V0.0.6 Entfernung aller any-Attribute; Umbau auf Vererbung mit VollzugsAttributen
+ 2012-06-21 sml V0.0.5 Aufsplittung auf ur_basic_types.xsd und ur_suche.xsd
+ Erweiterung der Merkmalsgruppen um any-Attribute
+ 2012-06-15 sml V0.0.4 Erweiterung AdressTyp (simple) um ZUSTELLADRESSE
+ Anpasssung vollzugBeginn und vollzugEnde auf IDREFs
+ Branche um Beginn und Ende (Quelle) erweitert.
+ 2012-06-14 hoa Vollzugsreferenzen als Attribute,
+ Ergängzung ERsB Attribute (Bestandszeitraum, Bestandsnachweis, Vertretung, Rechtstatsachen)
+ Erweiterung der SimpleTypes: AktionTyp, RT_Nummer, RT_Code
+ 2012-06-12 sml V0.0.2 Erweiterung SimpleTypes: AdressTyp, EvbStatusTyp
+ Erweiterung Elemente: VollzugGroup für vollziehbare Merkmalsgruppen
+ VollzugElem für die Quellinfo
+ Einbau ID/IDREF für Vollzug (VollzugRef)
+ Typ (AdressTyp) und EvbStatus (EvbStausTyp)
+ 2012-06-04 hoa V0.0.1 Entwurf
+-->
+
+<xsd:schema targetNamespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:std="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:st="http://statistik.at/namespace/ur/simpleTypes/2#"
+ elementFormDefault="qualified">
+
+ <xsd:import namespace="http://statistik.at/namespace/ur/simpleTypes/2#"
+ schemaLocation="ur-simpleTypes.xsd" />
+
+
+
+
+
+
+ <!-- Responseelemente -->
+
+ <xsd:attribute name="vollzugBeginn" type="xsd:IDREF" />
+ <xsd:attribute name="vollzugEnde" type="xsd:IDREF" />
+
+ <xsd:attributeGroup name="VollzugAttributes">
+ <xsd:attribute ref="std:vollzugBeginn" use="optional" />
+ <xsd:attribute ref="std:vollzugEnde" use="optional"/>
+ </xsd:attributeGroup>
+
+ <xsd:element name="Beginn" type="std:QuellenType"/>
+ <xsd:element name="Ende" type="std:QuellenType"/>
+ <xsd:element name="Vollzug" type="std:Vollzug" />
+
+ <xsd:element name="TypeText" type="xsd:string" />
+ <xsd:element name="UntName" type="std:UntNameVollzug" />
+ <xsd:element name="Rechtsform" type="std:RechtsformVollzug" />
+ <xsd:element name="Bestandszeitraum" type="std:BestandszeitraumVollzug" />
+ <xsd:element name="Taetigkeitszeitraum" type="std:TaetigkeitszeitraumVollzug" />
+ <xsd:element name="Bestandsnachweis" type="std:BestandsnachweisVollzug" />
+ <xsd:element name="Vertretung" type="std:VertretungVollzug" />
+ <xsd:element name="Rechtstatsachen" type="std:RechtstatsachenVollzug" />
+ <xsd:element name="Funktion" type="std:FunktionVollzug" />
+ <xsd:element name="Branche" type="std:Branche" />
+ <xsd:element name="AendDat" type="xsd:dateTime" />
+ <xsd:element name="bpkWTUR" type="xsd:string" />
+ <xsd:element name="Typ" type="st:AdressTyp" />
+ <xsd:element name="EvbStatus" type="st:EvbStatusTyp" />
+
+ <xsd:complexType name="UntName" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="VollerName" type="st:UntNameTyp"
+ minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="UntNameVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:UntName">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Rechtsform" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="ReForm" type="st:RechtsformTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="ReFormText" type="st:RechtsformTextTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="ReFormExtern" type="st:RechtsformTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="ReFormExternText" type="st:RechtsformTextTyp"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="RechtsformVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtsform">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Bestandszeitraum" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="BestandVon" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="BestandBis" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="BestandszeitraumVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandszeitraum">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Taetigkeitszeitraum" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="TaetigVon" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="TaetigBis" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="TaetigkeitszeitraumVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Taetigkeitszeitraum">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Bestandsnachweis" abstract="true">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="BestandsnachweisVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandsnachweis">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Vertretung" abstract="true">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="VertretungVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Vertretung">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Rechtstatsachen" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="RT_Nummer" type="st:RT_NummerTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="RT_Code" type="st:RT_CodeTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="RT_Text" type="xsd:string"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="RechtstatsachenVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtstatsachen">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Vollzug">
+ <xsd:sequence>
+ <xsd:element name="Antrag" type="std:VollzugElem" minOccurs="1" maxOccurs="1" />
+ <xsd:element name="Vollzug" type="std:VollzugElem" minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Zurueckstellung" type="std:VollzugElem" minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID" use="required" />
+ <xsd:attribute name="nummer" type="xsd:integer" use="required" />
+ <xsd:attribute name="status" type="st:VollzugStatusTyp" use="required" />
+ </xsd:complexType>
+
+ <xsd:complexType name="VollzugElem">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:date">
+ <xsd:attribute name="quelle" type="st:QuelleTyp" use="required" />
+ <xsd:attribute name="quText" use="required" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="QuellenType">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:date">
+ <xsd:attribute name="quelle" type="st:QuelleTyp" use="required"/>
+ <xsd:attribute name="quText" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Funktion" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="FktName" type="st:FunktionTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="FktNameText" type="st:FunktionTextTyp"
+ minOccurs="0" maxOccurs="1" />
+
+ <!--
+ <xsd:element name="FktRegel" type="std:FktRegelTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Rechtstatsachen" type="std:Rechtstatsachen"
+ minOccurs="0" maxOccurs="1" />
+ -->
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="FunktionVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Funktion">
+ <xsd:sequence>
+ <xsd:element name="FktRegel" type="std:FktRegelTypVollzug"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Rechtstatsachen" type="std:RechtstatsachenVollzug"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+
+ <xsd:complexType name="FktRegelTyp" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="FktRegelVon" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="FktRegelBis" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="FktRegelText" type="st:FktRegelTextTyp"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="FktRegelTypVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:FktRegelTyp">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Branche">
+ <xsd:sequence>
+ <xsd:element name="Oenace" type="std:OenaceType"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="OenaceText" type="xsd:string"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="Beginn" type="std:QuellenType"
+ minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="Ende" type="std:QuellenType"
+ minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="art" type="st:OenaceArtTyp" use="required" />
+ </xsd:complexType>
+
+
+ <xsd:complexType name="OenaceType">
+ <xsd:simpleContent>
+ <xsd:extension base="st:OenaceCodeTyp">
+ <xsd:attribute name="jahr" type="st:OenaceJahrTyp"
+ use="required" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/src/main/resources/wsdl/ERsB/1.1/schema/ur-basicTypesErsb.xsd b/src/main/resources/wsdl/ERsB/1.1/schema/ur-basicTypesErsb.xsd
new file mode 100644
index 0000000..93b9bbf
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/schema/ur-basicTypesErsb.xsd
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ 2012-10-15 sml V0.0.4 Typo Vertretung => Vertretung
+ 2012-10-12 sml V0.0.3 Kardinalität Funktion <==> Rechtstatsache von 0:1 auf 0:n geändert
+ 2012-10-12 sml V0.0.2 FunktionErsb: Ausbesserung auf ersb:RechtstatsachenErsb
+ 2012-08-06 sml V0.0.1 Entwurf
+-->
+
+<xsd:schema targetNamespace="http://statistik.at/namespace/ersb/1#"
+ xmlns:std="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:ersb="http://statistik.at/namespace/ersb/1#"
+ xmlns:st="http://statistik.at/namespace/ur/simpleTypes/2#"
+ elementFormDefault="qualified">
+
+<!--
+ <xsd:import namespace="http://statistik.at/namespace/ur/simpleTypes/2#"
+ schemaLocation="ur-simpleTypes.xsd" />
+ -->
+ <xsd:import namespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ schemaLocation="ur-basicTypes.xsd" />
+
+ <xsd:include schemaLocation="ersb-types.xsd" />
+
+
+ <!-- Responseelemente -->
+ <!--
+ <xsd:element name="TypeText" type="xsd:string" />
+ <xsd:element name="Branche" type="std:Branche" />
+ <xsd:element name="AendDat" type="xsd:dateTime" />
+ <xsd:element name="bpkWTUR" type="xsd:string" />
+ <xsd:element name="Typ" type="st:AdressTyp" />
+ <xsd:element name="EvbStatus" type="st:EvbStatusTyp" />
+
+ -->
+ <xsd:element name="UntName" type="ersb:UntNameErsb" />
+ <xsd:element name="Rechtsform" type="ersb:RechtsformErsb" />
+ <xsd:element name="Bestandszeitraum" type="ersb:BestandszeitraumErsb" />
+ <xsd:element name="Bestandsnachweis" type="ersb:BestandsnachweisErsb" />
+ <xsd:element name="Vertretung" type="ersb:VertretungErsb" />
+ <xsd:element name="Rechtstatsachen" type="ersb:RechtstatsachenErsb" />
+ <xsd:element name="Funktion" type="ersb:FunktionErsb" />
+
+ <!-- Beginn- und Endedatum für IdentificationType -->
+ <xsd:element name="Beginn" type="xsd:date" />
+ <xsd:element name="Ende" type="xsd:date" />
+
+
+ <!-- complex data types -->
+ <xsd:complexType name="UntNameErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:UntName">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="RechtsformErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtsform">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="BestandszeitraumErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandszeitraum">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="BestandsnachweisErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandsnachweis">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="VertretungErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Vertretung">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+
+ <xsd:complexType name="RechtstatsachenErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtstatsachen">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="FunktionErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Funktion">
+ <xsd:sequence>
+ <xsd:element name="FktRegel" type="ersb:FktRegelTypErsb"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Rechtstatsachen" type="ersb:RechtstatsachenErsb"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="FktRegelTypErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:FktRegelTyp">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/src/main/resources/wsdl/ERsB/1.1/schema/ur-simpleTypes.xsd b/src/main/resources/wsdl/ERsB/1.1/schema/ur-simpleTypes.xsd
new file mode 100644
index 0000000..7533ead
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/schema/ur-simpleTypes.xsd
@@ -0,0 +1,443 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 2012-11-19 V0.0.2 sml minInclusive von RechtsformTyp und FunktionTyp auf 0 geändert.
+ 2012-08-07 V0.0.1 sml AktionTyp entfernt
+-->
+
+<schema targetNamespace="http://statistik.at/namespace/ur/simpleTypes/2#"
+ version="1.0" xmlns:tns="http://statistik.at/namespace/ur/simpleTypes/2#"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified">
+
+ <!-- ******************************************************************************* -->
+ <!-- Allegemeine Typen -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="VersionTyp">
+ <annotation>
+ <documentation>
+ Versionsnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="QuelleTyp">
+ <annotation>
+ <documentation>
+ Identifikationsnummer eines Quellregisters
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="VollzugStatusTyp">
+ <annotation>
+ <documentation>
+ Status des Vollzugsobjektes
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="A" />
+ <enumeration value="V" />
+ <enumeration value="Z" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ErgebnisVollzugStatusTyp">
+ <annotation>
+ <documentation>
+ Im Ergebnis berücksichtigte Status des Vollzugsobjektes
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="V" />
+ <enumeration value="AZV" />
+ </restriction>
+ </simpleType>
+
+<!--
+ <simpleType name="AktionTyp">
+ <annotation>
+ <documentation>
+ Unterscheidung zwischen zu beendenden und neu anzulegenden Merkmalsgruppen
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="NEU" />
+ <enumeration value="ALT" />
+ </restriction>
+ </simpleType>
+ -->
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Unternehmensmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="KurTyp">
+ <annotation>
+ <documentation>
+ UR Kennziffer eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="R[0-9]{3}[A-Z][0-9]{3}[A-Z0-9]"/>
+ <length value="9"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FbnTyp">
+ <annotation>
+ <documentation>
+ Firmenbuchnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="[0-9]{6}[a-z]"/>
+ <length value="7"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ZvrTyp">
+ <annotation>
+ <documentation>
+ Vereinsregisternummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="[0-9]{9}"/>
+ <length value="9"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ErjTyp">
+ <annotation>
+ <documentation>
+ Ordnungsnummer aus dem ERsB
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="[0-9]{13}"/>
+ <length value="13"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="UntNameTyp">
+ <annotation>
+ <documentation>
+ Bezeichnung eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="255" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="BpkTyp">
+ <annotation>
+ <documentation>
+ unverschlüsseltes bPK
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="28" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="BpkEncodedTyp">
+ <annotation>
+ <documentation>
+ verschlüsseltes bPK (base64 codiert)
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="172" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RechtsformTyp">
+ <annotation>
+ <documentation>
+ Rechtsformcode eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <minInclusive value="0" />
+ <maxInclusive value="9999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RechtsformTextTyp">
+ <annotation>
+ <documentation>
+ Langtext der Rechtsform eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="IdArtTyp">
+ <annotation>
+ <documentation>
+ Art eines externen Schlüssels
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <length value="3" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="IdTyp">
+ <annotation>
+ <documentation>
+ Wert eines externen Schlüssels
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="60" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceJahrTyp">
+ <annotation>
+ <documentation>
+ Jahr des ֖NACE-Systems
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <enumeration value="2008" />
+ <minInclusive value="1000" />
+ <maxInclusive value="9999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceCodeTyp">
+ <annotation>
+ <documentation>
+ ֖NACE - Branchenkennzahl
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceArtTyp">
+ <annotation>
+ <documentation>
+ Art der ֖NACE (Haupt-/Nebentätigkeit)
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="H" />
+ <enumeration value="N" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RT_NummerTyp">
+ <annotation>
+ <documentation>
+ Rechtstatsachen-Nummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="3" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RT_CodeTyp">
+ <annotation>
+ <documentation>
+ Rechtstatsachen-Code
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="4" />
+ </restriction>
+ </simpleType>
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Adressmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="StrasseTyp">
+ <annotation>
+ <documentation>
+ Strassenname
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="HNrTyp">
+ <annotation>
+ <documentation>
+ Hausnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="PlzTyp">
+ <annotation>
+ <documentation>
+ Postleitzahl
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OrtTyp">
+ <annotation>
+ <documentation>
+ Ortsname
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="50" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="GemnrTyp">
+ <annotation>
+ <documentation>
+ Gemeindekennziffer
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <minInclusive value="10000" />
+ <maxInclusive value="99999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="LandTyp">
+ <annotation>
+ <documentation>
+ Landescode gem. ISO 3166 ALPHA-3
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <length value="3" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="AdressTyp">
+ <annotation>
+ <documentation>
+ AdressTyp
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="SITZ"/>
+ <enumeration value="ZUSTELLADRESSE"/>
+ </restriction>
+ </simpleType>
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Personenmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="NachnameTyp">
+ <annotation>
+ <documentation>
+ Nachname der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="VornameTyp">
+ <annotation>
+ <documentation>
+ Vorname der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="TitelTyp">
+ <annotation>
+ <documentation>
+ Titel der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="50" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FunktionTyp">
+ <annotation>
+ <documentation>
+ Funktionscode der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <minInclusive value="0" />
+ <maxInclusive value="9999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FunktionTextTyp">
+ <annotation>
+ <documentation>
+ Funktionsbezeichnung der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FktRegelTextTyp">
+ <annotation>
+ <documentation>
+ Funktionsregeltext für vertretungsbefugte Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="2000" />
+ </restriction>
+ </simpleType>
+
+
+ <simpleType name="VertretungsbefugnisTyp">
+ <annotation>
+ <documentation>
+ Art der Vertretungsbefugnis
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="40" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="EvbStatusTyp">
+ <annotation>
+ <documentation>
+ Einzelvertretungsbefugnis
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="J" />
+ <enumeration value="N" />
+ <enumeration value="U" />
+ </restriction>
+ </simpleType>
+</schema> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ERsB/1.1/ur-basicTypes.xsd b/src/main/resources/wsdl/ERsB/1.1/ur-basicTypes.xsd
new file mode 100644
index 0000000..13081bb
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/ur-basicTypes.xsd
@@ -0,0 +1,309 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+ 2013-03-14 sml V0.1.3 FktRegelTyp: alle Elemente auf minOccurs=0 geändert
+ 2013-03-05 sml V0.1.2 Erweiterung Taetigkeitszeitraum analog zu Bestandszeitraum
+ 2013-01-23 sml V0.1.1 Bestandszeitraum BestandVon auf minOccurs=0 geändert
+ 2012-11-20 sml V0.1.0 Erweiterung Rechtsform: ReFormExtern auf numerischen RechtsformTyp geändert, ReFormExternText für Text hinzugefügt
+ 2012-10-15 sml V0.0.9 Typo Vetretung => Vertretung
+ 2012-10-12 sml V0.0.8 Kardinalität Funktion <==> Rechtstatsache von 0:1 auf 0:n geändert
+ 2012-09-19 sml V0.0.7 FktRegelTyp: FktRegelBis minOccurs von 1 auf 0 geändert
+ 2012-07-31 sml V0.0.6 Entfernung aller any-Attribute; Umbau auf Vererbung mit VollzugsAttributen
+ 2012-06-21 sml V0.0.5 Aufsplittung auf ur_basic_types.xsd und ur_suche.xsd
+ Erweiterung der Merkmalsgruppen um any-Attribute
+ 2012-06-15 sml V0.0.4 Erweiterung AdressTyp (simple) um ZUSTELLADRESSE
+ Anpasssung vollzugBeginn und vollzugEnde auf IDREFs
+ Branche um Beginn und Ende (Quelle) erweitert.
+ 2012-06-14 hoa Vollzugsreferenzen als Attribute,
+ Ergängzung ERsB Attribute (Bestandszeitraum, Bestandsnachweis, Vertretung, Rechtstatsachen)
+ Erweiterung der SimpleTypes: AktionTyp, RT_Nummer, RT_Code
+ 2012-06-12 sml V0.0.2 Erweiterung SimpleTypes: AdressTyp, EvbStatusTyp
+ Erweiterung Elemente: VollzugGroup für vollziehbare Merkmalsgruppen
+ VollzugElem für die Quellinfo
+ Einbau ID/IDREF für Vollzug (VollzugRef)
+ Typ (AdressTyp) und EvbStatus (EvbStausTyp)
+ 2012-06-04 hoa V0.0.1 Entwurf
+-->
+
+<xsd:schema targetNamespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:std="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:st="http://statistik.at/namespace/ur/simpleTypes/2#"
+ elementFormDefault="qualified">
+
+ <xsd:import namespace="http://statistik.at/namespace/ur/simpleTypes/2#"
+ schemaLocation="ur-simpleTypes.xsd" />
+
+
+
+
+
+
+ <!-- Responseelemente -->
+
+ <xsd:attribute name="vollzugBeginn" type="xsd:IDREF" />
+ <xsd:attribute name="vollzugEnde" type="xsd:IDREF" />
+
+ <xsd:attributeGroup name="VollzugAttributes">
+ <xsd:attribute ref="std:vollzugBeginn" use="optional" />
+ <xsd:attribute ref="std:vollzugEnde" use="optional"/>
+ </xsd:attributeGroup>
+
+ <xsd:element name="Beginn" type="std:QuellenType"/>
+ <xsd:element name="Ende" type="std:QuellenType"/>
+ <xsd:element name="Vollzug" type="std:Vollzug" />
+
+ <xsd:element name="TypeText" type="xsd:string" />
+ <xsd:element name="UntName" type="std:UntNameVollzug" />
+ <xsd:element name="Rechtsform" type="std:RechtsformVollzug" />
+ <xsd:element name="Bestandszeitraum" type="std:BestandszeitraumVollzug" />
+ <xsd:element name="Taetigkeitszeitraum" type="std:TaetigkeitszeitraumVollzug" />
+ <xsd:element name="Bestandsnachweis" type="std:BestandsnachweisVollzug" />
+ <xsd:element name="Vertretung" type="std:VertretungVollzug" />
+ <xsd:element name="Rechtstatsachen" type="std:RechtstatsachenVollzug" />
+ <xsd:element name="Funktion" type="std:FunktionVollzug" />
+ <xsd:element name="Branche" type="std:Branche" />
+ <xsd:element name="AendDat" type="xsd:dateTime" />
+ <xsd:element name="bpkWTUR" type="xsd:string" />
+ <xsd:element name="Typ" type="st:AdressTyp" />
+ <xsd:element name="EvbStatus" type="st:EvbStatusTyp" />
+
+ <xsd:complexType name="UntName" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="VollerName" type="st:UntNameTyp"
+ minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="UntNameVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:UntName">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Rechtsform" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="ReForm" type="st:RechtsformTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="ReFormText" type="st:RechtsformTextTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="ReFormExtern" type="st:RechtsformTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="ReFormExternText" type="st:RechtsformTextTyp"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="RechtsformVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtsform">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Bestandszeitraum" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="BestandVon" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="BestandBis" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="BestandszeitraumVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandszeitraum">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Taetigkeitszeitraum" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="TaetigVon" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="TaetigBis" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="TaetigkeitszeitraumVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Taetigkeitszeitraum">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Bestandsnachweis" abstract="true">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="BestandsnachweisVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandsnachweis">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Vertretung" abstract="true">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="VertretungVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Vertretung">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Rechtstatsachen" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="RT_Nummer" type="st:RT_NummerTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="RT_Code" type="st:RT_CodeTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="RT_Text" type="xsd:string"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="RechtstatsachenVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtstatsachen">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Vollzug">
+ <xsd:sequence>
+ <xsd:element name="Antrag" type="std:VollzugElem" minOccurs="1" maxOccurs="1" />
+ <xsd:element name="Vollzug" type="std:VollzugElem" minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Zurueckstellung" type="std:VollzugElem" minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID" use="required" />
+ <xsd:attribute name="nummer" type="xsd:integer" use="required" />
+ <xsd:attribute name="status" type="st:VollzugStatusTyp" use="required" />
+ </xsd:complexType>
+
+ <xsd:complexType name="VollzugElem">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:date">
+ <xsd:attribute name="quelle" type="st:QuelleTyp" use="required" />
+ <xsd:attribute name="quText" use="required" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="QuellenType">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:date">
+ <xsd:attribute name="quelle" type="st:QuelleTyp" use="required"/>
+ <xsd:attribute name="quText" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Funktion" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="FktName" type="st:FunktionTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="FktNameText" type="st:FunktionTextTyp"
+ minOccurs="0" maxOccurs="1" />
+
+ <!--
+ <xsd:element name="FktRegel" type="std:FktRegelTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Rechtstatsachen" type="std:Rechtstatsachen"
+ minOccurs="0" maxOccurs="1" />
+ -->
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="FunktionVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Funktion">
+ <xsd:sequence>
+ <xsd:element name="FktRegel" type="std:FktRegelTypVollzug"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Rechtstatsachen" type="std:RechtstatsachenVollzug"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+
+ <xsd:complexType name="FktRegelTyp" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="FktRegelVon" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="FktRegelBis" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="FktRegelText" type="st:FktRegelTextTyp"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="FktRegelTypVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:FktRegelTyp">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Branche">
+ <xsd:sequence>
+ <xsd:element name="Oenace" type="std:OenaceType"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="OenaceText" type="xsd:string"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="Beginn" type="std:QuellenType"
+ minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="Ende" type="std:QuellenType"
+ minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="art" type="st:OenaceArtTyp" use="required" />
+ </xsd:complexType>
+
+
+ <xsd:complexType name="OenaceType">
+ <xsd:simpleContent>
+ <xsd:extension base="st:OenaceCodeTyp">
+ <xsd:attribute name="jahr" type="st:OenaceJahrTyp"
+ use="required" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/src/main/resources/wsdl/ERsB/1.1/ur-basicTypesErsb.xsd b/src/main/resources/wsdl/ERsB/1.1/ur-basicTypesErsb.xsd
new file mode 100644
index 0000000..ec93d91
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/ur-basicTypesErsb.xsd
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Mit XMLSpy v2013 sp1 (http://www.altova.com) von Thomas Lenz (Graz University of Technology IAIK) bearbeitet -->
+<!--
+ 2012-10-15 sml V0.0.4 Typo Vertretung => Vertretung
+ 2012-10-12 sml V0.0.3 Kardinalität Funktion <==> Rechtstatsache von 0:1 auf 0:n geändert
+ 2012-10-12 sml V0.0.2 FunktionErsb: Ausbesserung auf ersb:RechtstatsachenErsb
+ 2012-08-06 sml V0.0.1 Entwurf
+-->
+<xsd:schema targetNamespace="http://statistik.at/namespace/ersb/1#" xmlns:std="http://statistik.at/namespace/ur/stammdaten/2#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ersb="http://statistik.at/namespace/ersb/1#" xmlns:st="http://statistik.at/namespace/ur/simpleTypes/2#" elementFormDefault="qualified">
+ <!--
+ <xsd:import namespace="http://statistik.at/namespace/ur/simpleTypes/2#"
+ schemaLocation="ur-simpleTypes.xsd" />
+ -->
+ <xsd:import namespace="http://statistik.at/namespace/ur/stammdaten/2#" schemaLocation="ur-basicTypes.xsd"/>
+ <xsd:include schemaLocation="ersb-types.xsd"/>
+ <!-- Responseelemente -->
+ <!--
+ <xsd:element name="TypeText" type="xsd:string" />
+ <xsd:element name="Branche" type="std:Branche" />
+ <xsd:element name="AendDat" type="xsd:dateTime" />
+ <xsd:element name="bpkWTUR" type="xsd:string" />
+ <xsd:element name="Typ" type="st:AdressTyp" />
+ <xsd:element name="EvbStatus" type="st:EvbStatusTyp" />
+
+ -->
+ <xsd:element name="UntName" type="ersb:UntNameErsb"/>
+ <xsd:element name="Rechtsform" type="ersb:RechtsformErsb"/>
+ <xsd:element name="Bestandszeitraum" type="ersb:BestandszeitraumErsb"/>
+ <xsd:element name="Bestandsnachweis" type="ersb:BestandsnachweisErsb"/>
+ <xsd:element name="Vertretung" type="ersb:VertretungErsb"/>
+ <xsd:element name="Rechtstatsachen" type="ersb:RechtstatsachenErsb"/>
+ <xsd:element name="Funktion" type="ersb:FunktionErsb"/>
+ <!-- Beginn- und Endedatum für IdentificationType -->
+ <xsd:element name="Beginn" type="xsd:date"/>
+ <xsd:element name="Ende" type="xsd:date"/>
+ <!-- complex data types -->
+ <xsd:complexType name="UntNameErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:UntName">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="RechtsformErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtsform">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="BestandszeitraumErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandszeitraum">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="BestandsnachweisErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandsnachweis">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="VertretungErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Vertretung">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="RechtstatsachenErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtstatsachen">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="FunktionErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:Funktion">
+ <xsd:sequence>
+ <xsd:element name="FktRegel" type="ersb:FktRegelTypErsb" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="Rechtstatsachen" type="ersb:RechtstatsachenErsb" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="FktRegelTypErsb">
+ <xsd:complexContent>
+ <xsd:extension base="std:FktRegelTyp">
+ <!-- Ersb Attribute -->
+ <xsd:attributeGroup ref="ersb:ErsbAttributes"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+</xsd:schema>
diff --git a/src/main/resources/wsdl/ERsB/1.1/ur-simpleTypes.xsd b/src/main/resources/wsdl/ERsB/1.1/ur-simpleTypes.xsd
new file mode 100644
index 0000000..7533ead
--- /dev/null
+++ b/src/main/resources/wsdl/ERsB/1.1/ur-simpleTypes.xsd
@@ -0,0 +1,443 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 2012-11-19 V0.0.2 sml minInclusive von RechtsformTyp und FunktionTyp auf 0 geändert.
+ 2012-08-07 V0.0.1 sml AktionTyp entfernt
+-->
+
+<schema targetNamespace="http://statistik.at/namespace/ur/simpleTypes/2#"
+ version="1.0" xmlns:tns="http://statistik.at/namespace/ur/simpleTypes/2#"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified">
+
+ <!-- ******************************************************************************* -->
+ <!-- Allegemeine Typen -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="VersionTyp">
+ <annotation>
+ <documentation>
+ Versionsnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="QuelleTyp">
+ <annotation>
+ <documentation>
+ Identifikationsnummer eines Quellregisters
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="VollzugStatusTyp">
+ <annotation>
+ <documentation>
+ Status des Vollzugsobjektes
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="A" />
+ <enumeration value="V" />
+ <enumeration value="Z" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ErgebnisVollzugStatusTyp">
+ <annotation>
+ <documentation>
+ Im Ergebnis berücksichtigte Status des Vollzugsobjektes
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="V" />
+ <enumeration value="AZV" />
+ </restriction>
+ </simpleType>
+
+<!--
+ <simpleType name="AktionTyp">
+ <annotation>
+ <documentation>
+ Unterscheidung zwischen zu beendenden und neu anzulegenden Merkmalsgruppen
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="NEU" />
+ <enumeration value="ALT" />
+ </restriction>
+ </simpleType>
+ -->
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Unternehmensmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="KurTyp">
+ <annotation>
+ <documentation>
+ UR Kennziffer eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="R[0-9]{3}[A-Z][0-9]{3}[A-Z0-9]"/>
+ <length value="9"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FbnTyp">
+ <annotation>
+ <documentation>
+ Firmenbuchnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="[0-9]{6}[a-z]"/>
+ <length value="7"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ZvrTyp">
+ <annotation>
+ <documentation>
+ Vereinsregisternummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="[0-9]{9}"/>
+ <length value="9"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ErjTyp">
+ <annotation>
+ <documentation>
+ Ordnungsnummer aus dem ERsB
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="[0-9]{13}"/>
+ <length value="13"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="UntNameTyp">
+ <annotation>
+ <documentation>
+ Bezeichnung eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="255" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="BpkTyp">
+ <annotation>
+ <documentation>
+ unverschlüsseltes bPK
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="28" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="BpkEncodedTyp">
+ <annotation>
+ <documentation>
+ verschlüsseltes bPK (base64 codiert)
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="172" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RechtsformTyp">
+ <annotation>
+ <documentation>
+ Rechtsformcode eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <minInclusive value="0" />
+ <maxInclusive value="9999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RechtsformTextTyp">
+ <annotation>
+ <documentation>
+ Langtext der Rechtsform eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="IdArtTyp">
+ <annotation>
+ <documentation>
+ Art eines externen Schlüssels
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <length value="3" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="IdTyp">
+ <annotation>
+ <documentation>
+ Wert eines externen Schlüssels
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="60" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceJahrTyp">
+ <annotation>
+ <documentation>
+ Jahr des ֖NACE-Systems
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <enumeration value="2008" />
+ <minInclusive value="1000" />
+ <maxInclusive value="9999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceCodeTyp">
+ <annotation>
+ <documentation>
+ ֖NACE - Branchenkennzahl
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceArtTyp">
+ <annotation>
+ <documentation>
+ Art der ֖NACE (Haupt-/Nebentätigkeit)
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="H" />
+ <enumeration value="N" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RT_NummerTyp">
+ <annotation>
+ <documentation>
+ Rechtstatsachen-Nummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="3" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RT_CodeTyp">
+ <annotation>
+ <documentation>
+ Rechtstatsachen-Code
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="4" />
+ </restriction>
+ </simpleType>
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Adressmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="StrasseTyp">
+ <annotation>
+ <documentation>
+ Strassenname
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="HNrTyp">
+ <annotation>
+ <documentation>
+ Hausnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="PlzTyp">
+ <annotation>
+ <documentation>
+ Postleitzahl
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OrtTyp">
+ <annotation>
+ <documentation>
+ Ortsname
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="50" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="GemnrTyp">
+ <annotation>
+ <documentation>
+ Gemeindekennziffer
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <minInclusive value="10000" />
+ <maxInclusive value="99999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="LandTyp">
+ <annotation>
+ <documentation>
+ Landescode gem. ISO 3166 ALPHA-3
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <length value="3" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="AdressTyp">
+ <annotation>
+ <documentation>
+ AdressTyp
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="SITZ"/>
+ <enumeration value="ZUSTELLADRESSE"/>
+ </restriction>
+ </simpleType>
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Personenmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="NachnameTyp">
+ <annotation>
+ <documentation>
+ Nachname der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="VornameTyp">
+ <annotation>
+ <documentation>
+ Vorname der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="TitelTyp">
+ <annotation>
+ <documentation>
+ Titel der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="50" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FunktionTyp">
+ <annotation>
+ <documentation>
+ Funktionscode der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <minInclusive value="0" />
+ <maxInclusive value="9999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FunktionTextTyp">
+ <annotation>
+ <documentation>
+ Funktionsbezeichnung der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FktRegelTextTyp">
+ <annotation>
+ <documentation>
+ Funktionsregeltext für vertretungsbefugte Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="2000" />
+ </restriction>
+ </simpleType>
+
+
+ <simpleType name="VertretungsbefugnisTyp">
+ <annotation>
+ <documentation>
+ Art der Vertretungsbefugnis
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="40" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="EvbStatusTyp">
+ <annotation>
+ <documentation>
+ Einzelvertretungsbefugnis
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="J" />
+ <enumeration value="N" />
+ <enumeration value="U" />
+ </restriction>
+ </simpleType>
+</schema> \ No newline at end of file
diff --git a/src/main/resources/wsdl/MOA-ID-1.x.wsdl b/src/main/resources/wsdl/MOA-ID-1.x.wsdl
new file mode 100644
index 0000000..e7a4f48
--- /dev/null
+++ b/src/main/resources/wsdl/MOA-ID-1.x.wsdl
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions name="MOA" targetNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol" xmlns:moa="http://reference.e-government.gv.at/namespace/moa/20020822#" xmlns:xsd="http://www.w3.org/1999/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.xmlsoap.org/wsdl/ http://schemas.xmlsoap.org/wsdl/">
+ <import namespace="http://reference.e-government.gv.at/namespace/moa/20020822#" location="MOA-SPSS-1.3.xsd"/>
+ <import namespace="urn:oasis:names:tc:SAML:1.0:protocol" location="cs-sstc-schema-protocol-01.xsd"/>
+ <message name="GetAuthenticationDataInput">
+ <part name="body" element="samlp:Request"/>
+ </message>
+ <message name="GetAuthenticationDataOutput">
+ <part name="body" element="samlp:Response"/>
+ </message>
+ <message name="MOAFault">
+ <part name="body" element="moa:ErrorResponse"/>
+ </message>
+ <portType name="IdentificationPortType">
+ <operation name="getAuthenticationData">
+ <input message="tns:GetAuthenticationDataInput"/>
+ <output message="tns:GetAuthenticationDataOutput"/>
+ <fault name="MOAFault" message="tns:MOAFault"/>
+ </operation>
+ </portType>
+ <binding name="IdentificationBinding" type="tns:IdentificationPortType" xsi:schemaLocation="http://schemas.xmlsoap.org/wsdl/soap/ http://schemas.xmlsoap.org/wsdl/soap/">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="getAuthenticationData">
+ <soap:operation soapAction="urn:GetAuthenticationDataAction"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ <fault name="MOAFault">
+ <soap:fault use="literal"/>
+ </fault>
+ </operation>
+ </binding>
+ <service name="GetAuthenticationDataService">
+ <port name="IdentificationPort" binding="tns:IdentificationBinding">
+ <soap:address location="http://localhost/Identification"/>
+ </port>
+ </service>
+</definitions>
diff --git a/src/main/resources/wsdl/MOA-SPSS-1.3.wsdl b/src/main/resources/wsdl/MOA-SPSS-1.3.wsdl
new file mode 100644
index 0000000..fe227ae
--- /dev/null
+++ b/src/main/resources/wsdl/MOA-SPSS-1.3.wsdl
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Web Service Description for MOA SP/SS 1.4
+-->
+<definitions name="MOA"
+ targetNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#moa.wsdl"
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:tns="http://reference.e-government.gv.at/namespace/moa/20020822#moa.wsdl"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:moa="http://reference.e-government.gv.at/namespace/moa/20020822#"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+
+ <xsd:schema targetNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#moa.wsdl">
+ <xsd:import namespace="http://reference.e-government.gv.at/namespace/moa/20020822#" schemaLocation="MOA-SPSS-1.3.xsd"/>
+ </xsd:schema>
+ <message name="CreateXMLSignatureInput">
+ <part name="body" element="moa:CreateXMLSignatureRequest"/>
+ </message>
+ <message name="CreateXMLSignatureOutput">
+ <part name="body" element="moa:CreateXMLSignatureResponse"/>
+ </message>
+ <message name="VerifyCMSSignatureInput">
+ <part name="body" element="moa:VerifyCMSSignatureRequest"/>
+ </message>
+ <message name="VerifyCMSSignatureOutput">
+ <part name="body" element="moa:VerifyCMSSignatureResponse"/>
+ </message>
+ <message name="VerifyXMLSignatureInput">
+ <part name="body" element="moa:VerifyXMLSignatureRequest"/>
+ </message>
+ <message name="VerifyXMLSignatureOutput">
+ <part name="body" element="moa:VerifyXMLSignatureResponse"/>
+ </message>
+ <message name="MOAFault">
+ <part name="body" element="moa:ErrorResponse"/>
+ </message>
+ <portType name="SignatureCreationPortType">
+ <operation name="createXMLSignature">
+ <input message="tns:CreateXMLSignatureInput"/>
+ <output message="tns:CreateXMLSignatureOutput"/>
+ <fault name="MOAFault" message="tns:MOAFault"/>
+ </operation>
+ </portType>
+ <portType name="SignatureVerificationPortType">
+ <operation name="verifyCMSSignature">
+ <input message="tns:VerifyCMSSignatureInput"/>
+ <output message="tns:VerifyCMSSignatureOutput"/>
+ <fault name="MOAFault" message="tns:MOAFault"/>
+ </operation>
+ <operation name="verifyXMLSignature">
+ <input message="tns:VerifyXMLSignatureInput"/>
+ <output message="tns:VerifyXMLSignatureOutput"/>
+ <fault name="MOAFault" message="tns:MOAFault"/>
+ </operation>
+ </portType>
+ <binding name="SignatureCreationBinding" type="tns:SignatureCreationPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="createXMLSignature">
+ <soap:operation soapAction="urn:CreateXMLSignatureAction"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ <fault name="MOAFault">
+ <soap:fault use="literal"/>
+ </fault>
+ </operation>
+ </binding>
+ <binding name="SignatureVerificationBinding" type="tns:SignatureVerificationPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="verifyCMSSignature">
+ <soap:operation soapAction="urn:VerifyCMSSignatureAction"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ <fault name="MOAFault">
+ <soap:fault use="literal"/>
+ </fault>
+ </operation>
+ <operation name="verifyXMLSignature">
+ <soap:operation soapAction="urn:VerifyXMLSignatureAction"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ <fault name="MOAFault">
+ <soap:fault use="literal"/>
+ </fault>
+ </operation>
+ </binding>
+ <service name="SignatureCreationService">
+ <port name="SignatureCreationPort" binding="tns:SignatureCreationBinding">
+ <!--
+ Please note that the location URL must be adapted to the actual service URL.
+
+ -->
+ <soap:address location="http://localhost/moa-spss/services/SignatureCreation"/>
+ </port>
+ </service>
+ <service name="SignatureVerificationService">
+ <port name="SignatureVerificationPort" binding="tns:SignatureVerificationBinding">
+ <!--
+ Please note that the location URL must be adapted to the actual service URL.
+
+ -->
+ <soap:address location="http://localhost/moa-spss/services/SignatureVerification"/>
+ </port>
+ </service>
+</definitions>
diff --git a/src/main/resources/wsdl/MOA-SPSS-1.3.xsd b/src/main/resources/wsdl/MOA-SPSS-1.3.xsd
new file mode 100644
index 0000000..54ff5f2
--- /dev/null
+++ b/src/main/resources/wsdl/MOA-SPSS-1.3.xsd
@@ -0,0 +1,469 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ MOA SP/SS 1.3 Schema
+-->
+<xsd:schema xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://reference.e-government.gv.at/namespace/moa/20020822#" targetNamespace="http://reference.e-government.gv.at/namespace/moa/20020822#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.2">
+ <xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="W3C-XMLDSig.xsd"/>
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+ <!--########## Create XML Signature ###-->
+ <!--### Create XML Signature Request ###-->
+ <xsd:element name="CreateXMLSignatureRequest">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="CreateXMLSignatureRequestType"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="CreateXMLSignatureRequestType">
+ <xsd:sequence>
+ <xsd:element name="KeyIdentifier" type="KeyIdentifierType"/>
+ <xsd:element name="SingleSignatureInfo" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Ermöglichung der Stapelsignatur durch wiederholte Angabe dieses Elements</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="DataObjectInfo" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="DataObjectInfoType">
+ <xsd:attribute name="ChildOfManifest" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="CreateSignatureInfo" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="CreateSignatureEnvironment" type="ContentOptionalRefType"/>
+ <xsd:choice>
+ <xsd:annotation>
+ <xsd:documentation>Auswahl: Entweder explizite Angabe des Signaturorts sowie ggf. sinnvoller Supplements im Zshg. mit der Signaturumgebung, oder Verweis auf ein benanntes Profil</xsd:documentation>
+ </xsd:annotation>
+ <xsd:element ref="CreateSignatureEnvironmentProfile"/>
+ <xsd:element name="CreateSignatureEnvironmentProfileID" type="ProfileIdentifierType"/>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="SecurityLayerConformity" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--### Create XML Signature Response ###-->
+ <xsd:complexType name="CreateXMLSignatureResponseType">
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Kardinalität 1..oo erlaubt die Antwort auf eine Stapelsignatur-Anfrage</xsd:documentation>
+ </xsd:annotation>
+ <xsd:element name="SignatureEnvironment">
+ <xsd:annotation>
+ <xsd:documentation>Resultat, falls die Signaturerstellung erfolgreich war</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:any namespace="##any" processContents="lax"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element ref="ErrorResponse"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:element name="CreateXMLSignatureResponse" type="CreateXMLSignatureResponseType"/>
+ <!--########## Verify CMS Signature ###-->
+ <!--### Verifiy CMS Signature Request ###-->
+ <xsd:element name="VerifyCMSSignatureRequest">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="VerifyCMSSignatureRequestType">
+ <xsd:attribute name="Signatories" type="SignatoriesType" use="optional" default="1"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="VerifyCMSSignatureRequestType">
+ <xsd:sequence>
+ <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/>
+ <xsd:element name="CMSSignature" type="xsd:base64Binary"/>
+ <xsd:element name="DataObject" type="CMSDataObjectOptionalMetaType" minOccurs="0"/>
+ <xsd:element name="TrustProfileID" type="xsd:token">
+ <xsd:annotation>
+ <xsd:documentation>mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--### Verify CMS Signature Response ###-->
+ <xsd:element name="VerifyCMSSignatureResponse" type="VerifyCMSSignatureResponseType"/>
+ <xsd:complexType name="VerifyCMSSignatureResponseType">
+ <xsd:sequence maxOccurs="unbounded">
+ <xsd:element name="SignerInfo" type="dsig:KeyInfoType">
+ <xsd:annotation>
+ <xsd:documentation>only ds:X509Data and RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any;publicAuthority is included as X509Data/any</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="SignatureCheck" type="CheckResultType"/>
+ <xsd:element name="CertificateCheck" type="CheckResultType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--########## Verify XML Signature ###-->
+ <!--### Verify XML Signature Request ###-->
+ <xsd:element name="VerifyXMLSignatureRequest" type="VerifyXMLSignatureRequestType"/>
+ <xsd:complexType name="VerifyXMLSignatureRequestType">
+ <xsd:sequence>
+ <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/>
+ <xsd:element name="VerifySignatureInfo">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="VerifySignatureEnvironment" type="ContentOptionalRefType"/>
+ <xsd:element name="VerifySignatureLocation" type="xsd:token"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:element ref="SupplementProfile"/>
+ <xsd:element name="SupplementProfileID" type="xsd:string"/>
+ </xsd:choice>
+ <xsd:element name="SignatureManifestCheckParams" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="ReferenceInfo" type="VerifyTransformsDataType" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Pro dsig:Reference-Element in der zu überprüfenden XML-Signatur muss hier ein ReferenceInfo-Element erscheinen. Die Reihenfolge der einzelnen ReferenceInfo Elemente entspricht jener der dsig:Reference Elemente in der XML-Signatur.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="ReturnReferenceInputData" type="xsd:boolean" use="optional" default="true"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="ReturnHashInputData" minOccurs="0"/>
+ <xsd:element name="TrustProfileID" type="xsd:token">
+ <xsd:annotation>
+ <xsd:documentation>mit diesem Profil wird eine Menge von vertrauenswürdigen Wurzelzertifikaten spezifiziert</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--### Verify XML Signature Response ###-->
+ <xsd:element name="VerifyXMLSignatureResponse" type="VerifyXMLSignatureResponseType"/>
+ <xsd:complexType name="VerifyXMLSignatureResponseType">
+ <xsd:sequence>
+ <xsd:element name="SignerInfo" type="dsig:KeyInfoType">
+ <xsd:annotation>
+ <xsd:documentation>only ds:X509Data and ds:RetrievalMethod is supported; QualifiedCertificate is included as X509Data/any; PublicAuthority is included as X509Data/any</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="HashInputData" type="InputDataType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="ReferenceInputData" type="InputDataType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="SignatureCheck" type="ReferencesCheckResultType"/>
+ <xsd:element name="SignatureManifestCheck" type="ReferencesCheckResultType" minOccurs="0"/>
+ <xsd:element name="XMLDSIGManifestCheck" type="ManifestRefsCheckResultType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="CertificateCheck" type="CheckResultType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ProfileIdentifierType">
+ <xsd:restriction base="xsd:token"/>
+ </xsd:simpleType>
+ <xsd:complexType name="InputDataType">
+ <xsd:complexContent>
+ <xsd:extension base="ContentExLocRefBaseType">
+ <xsd:attribute name="PartOf" use="optional" default="SignedInfo">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="SignedInfo"/>
+ <xsd:enumeration value="XMLDSIGManifest"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="ReferringSigReference" type="xsd:nonNegativeInteger" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="MetaInfoType">
+ <xsd:sequence>
+ <xsd:element name="MimeType" type="MimeTypeType"/>
+ <xsd:element name="Description" type="xsd:anyURI" minOccurs="0"/>
+ <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="FinalDataMetaInfoType">
+ <xsd:complexContent>
+ <xsd:extension base="MetaInfoType">
+ <xsd:sequence>
+ <xsd:element name="Type" type="xsd:anyURI" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="DataObjectInfoType">
+ <xsd:sequence>
+ <xsd:element name="DataObject">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="ContentOptionalRefType"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:choice>
+ <xsd:annotation>
+ <xsd:documentation>Auswahl: Entweder explizite Angabe EINER Transformationskette inklusive ggf. sinnvoller Supplements oder Verweis auf ein benanntes Profil</xsd:documentation>
+ </xsd:annotation>
+ <xsd:element ref="CreateTransformsInfoProfile"/>
+ <xsd:element name="CreateTransformsInfoProfileID" type="ProfileIdentifierType"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="Structure" use="required">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="detached"/>
+ <xsd:enumeration value="enveloping"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:complexType>
+ <xsd:complexType name="TransformsInfoType">
+ <xsd:sequence>
+ <xsd:element ref="dsig:Transforms" minOccurs="0"/>
+ <xsd:element name="FinalDataMetaInfo" type="FinalDataMetaInfoType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="XMLDataObjectAssociationType">
+ <xsd:sequence>
+ <xsd:element name="MetaInfo" type="MetaInfoType" minOccurs="0"/>
+ <xsd:element name="Content" type="ContentRequiredRefType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CMSDataObjectOptionalMetaType">
+ <xsd:sequence>
+ <xsd:element name="MetaInfo" type="MetaInfoType" minOccurs="0"/>
+ <xsd:element name="Content" type="CMSContentBaseType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CMSContentBaseType">
+ <xsd:complexContent>
+ <xsd:restriction base="ContentOptionalRefType">
+ <xsd:choice minOccurs="0">
+ <xsd:element name="Base64Content" type="xsd:base64Binary"/>
+ </xsd:choice>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="CheckResultType">
+ <xsd:sequence>
+ <xsd:element name="Code" type="xsd:nonNegativeInteger"/>
+ <xsd:element name="Info" type="AnyChildrenType" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="ReferencesCheckResultType">
+ <xsd:complexContent>
+ <xsd:restriction base="CheckResultType">
+ <xsd:sequence>
+ <xsd:element name="Code" type="xsd:nonNegativeInteger"/>
+ <xsd:element name="Info" type="ReferencesCheckResultInfoType" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="ReferencesCheckResultInfoType" mixed="true">
+ <xsd:complexContent mixed="true">
+ <xsd:restriction base="AnyChildrenType">
+ <xsd:sequence>
+ <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="FailedReference" type="xsd:positiveInteger" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="ManifestRefsCheckResultType">
+ <xsd:complexContent>
+ <xsd:restriction base="CheckResultType">
+ <xsd:sequence>
+ <xsd:element name="Code" type="xsd:nonNegativeInteger"/>
+ <xsd:element name="Info" type="ManifestRefsCheckResultInfoType"/>
+ </xsd:sequence>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="ManifestRefsCheckResultInfoType" mixed="true">
+ <xsd:complexContent mixed="true">
+ <xsd:restriction base="AnyChildrenType">
+ <xsd:sequence>
+ <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="FailedReference" type="xsd:positiveInteger" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="ReferringSigReference" type="xsd:positiveInteger"/>
+ </xsd:sequence>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <!--########## Error Response ###-->
+ <xsd:element name="ErrorResponse" type="ErrorResponseType">
+ <xsd:annotation>
+ <xsd:documentation>Resultat, falls die Signaturerstellung gescheitert ist</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:complexType name="ErrorResponseType">
+ <xsd:sequence>
+ <xsd:element name="ErrorCode" type="xsd:integer"/>
+ <xsd:element name="Info" type="xsd:string"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--########## Auxiliary Types ###-->
+ <xsd:simpleType name="KeyIdentifierType">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="KeyStorageType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="Software"/>
+ <xsd:enumeration value="Hardware"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="MimeTypeType">
+ <xsd:restriction base="xsd:token"/>
+ </xsd:simpleType>
+ <xsd:complexType name="AnyChildrenType" mixed="true">
+ <xsd:sequence>
+ <xsd:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="XMLContentType" mixed="true">
+ <xsd:complexContent mixed="true">
+ <xsd:extension base="AnyChildrenType">
+ <xsd:attribute ref="xml:space" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="ContentBaseType">
+ <xsd:choice minOccurs="0">
+ <xsd:element name="Base64Content" type="xsd:base64Binary"/>
+ <xsd:element name="XMLContent" type="XMLContentType"/>
+ <xsd:element name="LocRefContent" type="xsd:anyURI"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:complexType name="ContentExLocRefBaseType">
+ <xsd:complexContent>
+ <xsd:restriction base="ContentBaseType">
+ <xsd:choice minOccurs="0">
+ <xsd:element name="Base64Content" type="xsd:base64Binary"/>
+ <xsd:element name="XMLContent" type="XMLContentType"/>
+ </xsd:choice>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="ContentOptionalRefType">
+ <xsd:complexContent>
+ <xsd:extension base="ContentBaseType">
+ <xsd:attribute name="Reference" type="xsd:anyURI" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="ContentRequiredRefType">
+ <xsd:complexContent>
+ <xsd:restriction base="ContentOptionalRefType">
+ <xsd:choice minOccurs="0">
+ <xsd:element name="Base64Content" type="xsd:base64Binary"/>
+ <xsd:element name="XMLContent" type="XMLContentType"/>
+ <xsd:element name="LocRefContent" type="xsd:anyURI"/>
+ </xsd:choice>
+ <xsd:attribute name="Reference" type="xsd:anyURI" use="required"/>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="VerifyTransformsDataType">
+ <xsd:choice maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Ein oder mehrere Transformationswege können von der Applikation an MOA mitgeteilt werden. Die zu prüfende Signatur hat zumindest einem dieser Transformationswege zu entsprechen. Die Angabe kann explizit oder als Profilbezeichner erfolgen.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:element ref="VerifyTransformsInfoProfile"/>
+ <xsd:element name="VerifyTransformsInfoProfileID" type="xsd:string">
+ <xsd:annotation>
+ <xsd:documentation>Profilbezeichner für einen Transformationsweg</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:element name="QualifiedCertificate"/>
+ <xsd:element name="PublicAuthority" type="PublicAuthorityType"/>
+ <xsd:complexType name="PublicAuthorityType">
+ <xsd:sequence>
+ <xsd:element name="Code" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="SignatoriesType">
+ <xsd:union memberTypes="AllSignatoriesType">
+ <xsd:simpleType>
+ <xsd:list itemType="xsd:positiveInteger"/>
+ </xsd:simpleType>
+ </xsd:union>
+ </xsd:simpleType>
+ <xsd:simpleType name="AllSignatoriesType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="all"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="CreateSignatureLocationType">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:token">
+ <xsd:attribute name="Index" type="xsd:integer" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:complexType name="TransformParameterType">
+ <xsd:choice minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>Die Angabe des Transformationsparameters (explizit oder als Hashwert) kann unterlassen werden, wenn die Applikation von der Unveränderlichkeit des Inhalts der in "Transformationsparamter", Attribut "URI" angegebenen URI ausgehen kann.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:element name="Base64Content" type="xsd:base64Binary">
+ <xsd:annotation>
+ <xsd:documentation>Der Transformationsparameter explizit angegeben.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="Hash">
+ <xsd:annotation>
+ <xsd:documentation>Der Hashwert des Transformationsparameters.</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="dsig:DigestMethod"/>
+ <xsd:element ref="dsig:DigestValue"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:attribute name="URI" type="xsd:anyURI" use="required"/>
+ </xsd:complexType>
+ <xsd:element name="CreateSignatureEnvironmentProfile">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="CreateSignatureLocation" type="CreateSignatureLocationType"/>
+ <xsd:element name="Supplement" type="XMLDataObjectAssociationType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="VerifyTransformsInfoProfile">
+ <xsd:annotation>
+ <xsd:documentation>Explizite Angabe des Transformationswegs</xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element ref="dsig:Transforms" minOccurs="0"/>
+ <xsd:element name="TransformParameter" type="TransformParameterType" minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>Alle impliziten Transformationsparameter, die zum Durchlaufen der oben angeführten Transformationskette bekannt sein müssen, müssen hier angeführt werden. Das Attribut "URI" bezeichnet den Transformationsparameter in exakt jener Weise, wie er in der zu überprüfenden Signatur gebraucht wird.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Supplement" type="XMLDataObjectAssociationType"/>
+ <xsd:element name="SupplementProfile" type="XMLDataObjectAssociationType"/>
+ <xsd:element name="CreateTransformsInfoProfile">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="CreateTransformsInfo" type="TransformsInfoType"/>
+ <xsd:element ref="Supplement" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+</xsd:schema>
diff --git a/src/main/resources/wsdl/PersonData_20_en_moaWID.xsd b/src/main/resources/wsdl/PersonData_20_en_moaWID.xsd
new file mode 100644
index 0000000..7b491a0
--- /dev/null
+++ b/src/main/resources/wsdl/PersonData_20_en_moaWID.xsd
@@ -0,0 +1,1229 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Larissa Naber (Bundeskanzleramt) -->
+<!-- edited with XML Spy v4.1 U (http://www.xmlspy.com) by Peter Reichstädter (CIO) -->
+<!--Generisches Schema zum Speichern und Austauschen von Personendaten
+ (c) 2001-2002 Chief Information Office Austria, Stabsstelle IKT-Strategie des Bundes, BMÖLS
+ Kontakt: Peter Reichstädter (peter.reichstaedter@cio.gv.at), Arno Hollosi (arno.hollosi@cio.gv.at)
+ Die freie Verwendung dieses Schemas in Applikationen (behördenintern, kommerziell, privat) ist erlaubt und erwünscht.
+-->
+<?xml-stylesheet type="text/xsl" href="getelementnames.xslt"?>
+<xs:schema xmlns="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0.0">
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="W3C-XMLDSig.xsd"/>
+ <xs:annotation>
+ <xs:documentation>This version of person deploys only global elements. All types derived from abstract types have been replaced by substitution groups</xs:documentation>
+ </xs:annotation>
+ <!-- ### signed structure of a person ### -->
+ <xs:element name="AbstractPersonData" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>dummy abstract Peson Data element needed for bi-lingual schema (substitution groups)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PersonData" type="PersonDataType" substitutionGroup="AbstractPersonData">
+ <xs:annotation>
+ <xs:documentation>element of signed person datastructure type</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CompactPersonData">
+ <xs:annotation>
+ <xs:documentation>element of signed person datastructure type</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice>
+ <xs:element ref="CompactPhysicalPerson"/>
+ <xs:element ref="CompactCorporateBody"/>
+ </xs:choice>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="InternetAddress"/>
+ <xs:element ref="TelephoneAddress"/>
+ <xs:element ref="CompactPostalAddress"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!-- ### base type for person data ### -->
+ <xs:element name="Person" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>element of person type, essential abstract, subsitute PhysicalPerson or CorporateBody instead or use with xsi:type="..."</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- ### physical person and corporate body ### -->
+ <xs:element name="PhysicalPerson" type="PhysicalPersonType" substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CompactPhysicalPerson" type="CompactPhysicalPersonType" substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CorporateBody" type="CorporateBodyType" substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CompactCorporateBody" type="CompactCorporateBodyType" substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!--### complex child elements of person, also available as standalone ###-->
+ <xs:element name="Name" type="PersonNameType">
+ <xs:annotation>
+ <xs:documentation>data related to the person's name</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CompactName" type="CompactPersonNameType">
+ <xs:annotation>
+ <xs:documentation>data related to the person's name</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AlternativeName">
+ <xs:annotation>
+ <xs:documentation>Former name, Artist name, changes of Given name ..., compare AlternativName</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="PersonNameType">
+ <xs:attribute name="Type" type="AlternativeNameTypeType"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="relatedPerson">
+ <xs:annotation>
+ <xs:documentation>relatives (parents, ...), compare Verwandter</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="TypeOfRelation" type="RelationType" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>type of the relationship, compare Verwandschftsgrad</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="PhysicalPerson"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!-- ### adress data for various types of communications ### -->
+ <xs:element name="Address" type="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>element of address type, essentially abstract. Use InternetAddress, TelephoneAddress, PostalAddress, TypedPostalAddress instead, or use Address with xsi:type Attribute</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PostalAddress" type="PostalAddressType" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Postal or ZMR Address, compare PostAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CompactPostalAddress" type="CompactPostalAddressType" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Postal or ZMR Address, compare PostAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TypedPostalAddress" type="TypedPostalAddressType" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Typed Postal or ZMR Address, compare TypisiertePostAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InternetAddress" type="InternetAddressType" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>InternetAdress such as e-mail or website, compare InternetAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TelephoneAddress" type="TelephoneAddressType" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Typed TelephoneAddress, compare TelefonAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="BankConnection" type="BankConnectionType">
+ <xs:annotation>
+ <xs:documentation>National or international bank connection, compare Bankverbindung</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- ### Identification elements ###-->
+ <xs:element name="AbstractSimpleIdentification" type="AbstractSimpleIdentificationType">
+ <xs:annotation>
+ <xs:documentation>possibility to include common austrian primary keys in human readable way, english translation not available</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ZMRzahl" substitutionGroup="AbstractSimpleIdentification">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="AbstractSimpleIdentificationType">
+ <xs:attribute name="Identifier" type="xs:string" fixed="ZMR"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Stammzahl" type="AbstractSimpleIdentificationType" substitutionGroup="AbstractSimpleIdentification"/>
+ <xs:element name="Firmenbuchnummer" substitutionGroup="AbstractSimpleIdentification">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="AbstractSimpleIdentificationType">
+ <xs:attribute name="Identifier" type="xs:string" fixed="FN"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ERJPZahl" substitutionGroup="AbstractSimpleIdentification">
+ <xs:annotation>
+ <xs:documentation>Ergänzungsregister für nicht-natürliche Personen (CorporateBody)</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="AbstractSimpleIdentificationType">
+ <xs:attribute name="Identifier" type="xs:string" fixed="ERJ"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Vereinsnummer" substitutionGroup="AbstractSimpleIdentification">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="AbstractSimpleIdentificationType">
+ <xs:attribute name="Identifier" type="xs:string" fixed="VR"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Sozialversicherungsnummer" type="AbstractSimpleIdentificationType" substitutionGroup="AbstractSimpleIdentification"/>
+ <xs:element name="Steuernummer" type="AbstractSimpleIdentificationType" substitutionGroup="AbstractSimpleIdentification"/>
+ <xs:element name="Matrikelnummer" type="AbstractSimpleIdentificationType" substitutionGroup="AbstractSimpleIdentification"/>
+ <!-- ### additional telecom elements - not used internally - german translation not available ###-->
+ <xs:element name="Telephone" type="TelcomNumberType"/>
+ <xs:element name="Mobile" type="MobileTelcomNumberType"/>
+ <xs:element name="Fax" type="TelcomNumberType"/>
+ <xs:element name="Pager" type="TelcomNumberType"/>
+ <xs:element name="TTYTDD" type="TelcomNumberType">
+ <xs:annotation>
+ <xs:documentation>teletyper or telephone for the hearing impaired</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!--### elements of simple type ####-->
+ <xs:element name="MaritalStatus" type="MaritalStatusType">
+ <xs:annotation>
+ <xs:documentation>status of a person in the cycle of life, compare Familienstand</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Sex" type="SexType">
+ <xs:annotation>
+ <xs:documentation>gender, comapre Geschlecht</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="DateOfBirth" type="DateOfBirthType">
+ <xs:annotation>
+ <xs:documentation>date of birth, compare Geburtsdatum</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="DateOfDeath" type="DateOfDeathType">
+ <xs:annotation>
+ <xs:documentation>date of death, compare Sterbedatum</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PlaceOfBirth" type="xs:token">
+ <xs:annotation>
+ <xs:documentation>place of birth, compare Geburtsort</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CountryOfBirth" type="xs:token">
+ <xs:annotation>
+ <xs:documentation>country of birth, compare Geburtsland</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="StateOfBirth" type="xs:token">
+ <xs:annotation>
+ <xs:documentation>state of birth, comapre Geburtsbundesland</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Nationality" type="NationalityType">
+ <xs:annotation>
+ <xs:documentation>nationality of Person, compare Staatsangehoerigkeit. attention! New Fomrat is complex, string value accepted for compatibility only</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Confession" type="xs:token">
+ <xs:annotation>
+ <xs:documentation>confession (religion) of Person - xs:token? gibt es wirklich keine Staaten mit Leerzeichen im Namen?</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Occupation" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>occupation, compare Beruf</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!--### complex telephone types ###-->
+ <xs:element name="InternationalCountryCode" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>compare InternationalerLaendercode</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="NationalNumber" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>compare NationalNummer</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AreaCityCode" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>compare Vorwahl</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SubscriberNumber" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>compare Anschlussnummer</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="FormattedNumber" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Complete number, ready formated - e.g. +43 1 5131345 4664 compare FormatierteNummer</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Extension" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>compare Klappe</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Identification" type="IdentificationType">
+ <xs:annotation>
+ <xs:documentation>unique identifier</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!--### complex types ###-->
+ <xs:complexType name="PersonDataType">
+ <xs:annotation>
+ <xs:documentation>signed person datastructure. The first Identification elements (from the base type) denote the record as such (e.g. database key for this record) - not to be mistaken for identifiers of the person or of an address (they have their own Identification elements).</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <xs:element ref="Person"/>
+ <xs:element ref="Address" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>one or more electronic signatures applied on fields above</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AdditionalData" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>container for your Information needs. Contained Elements must reside in a different Namespace</xs:documentation>
+ </xs:annotation>
+ <xs:complexType mixed="true">
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:any namespace="##any" processContents="lax">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="CompactPersonDataType">
+ <xs:annotation>
+ <xs:documentation>signed person datastructure. The first Identification elements (from the base type) denote the record as such (e.g. database key for this record) - not to be mistaken for identifiers of the person or of an address (they have their own Identification elements).</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <xs:element ref="Person"/>
+ <xs:element ref="Address" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>one or more electronic signatures applied on fields above</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AdditionalData" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>container for your Information needs. Contained Elements must reside in a different Namespace</xs:documentation>
+ </xs:annotation>
+ <xs:complexType mixed="true">
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:any namespace="##any" processContents="lax">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="AbstractSimpleIdentificationType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string"/>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="IdentificationType">
+ <xs:annotation>
+ <xs:documentation>unique identifier</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Value">
+ <xs:annotation>
+ <xs:documentation>actual value of the identifier.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Type" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>type of value (eg 'ZMR', 'SV-Nummer', 'Martrikelnummer', database identification, ...)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Authority" type="xs:anyURI" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>authority, which is reponsible for generation of the identifier (eg university in case of 'MatrikelNummer')</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ <xs:anyAttribute namespace="##other"/>
+ </xs:complexType>
+ <xs:complexType name="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>main structure of person data</xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0">
+ <xs:element ref="Identification" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>unique identification entities</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="AbstractSimpleIdentification" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:choice>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ <xs:anyAttribute namespace="##other"/>
+ </xs:complexType>
+ <xs:complexType name="PhysicalPersonType">
+ <xs:annotation>
+ <xs:documentation>physical person, compare NatuerlichePersonTyp</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="Name" minOccurs="0"/>
+ <xs:element ref="AlternativeName" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="MaritalStatus" minOccurs="0"/>
+ <xs:element ref="Sex" minOccurs="0"/>
+ <xs:element ref="DateOfBirth" minOccurs="0"/>
+ <xs:element ref="PlaceOfBirth" minOccurs="0"/>
+ <xs:element ref="StateOfBirth" minOccurs="0"/>
+ <xs:element ref="CountryOfBirth" minOccurs="0"/>
+ <xs:element ref="DateOfDeath" minOccurs="0"/>
+ <xs:element ref="Nationality" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="Confession" minOccurs="0"/>
+ <xs:element ref="Occupation" minOccurs="0"/>
+ <xs:element ref="relatedPerson" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="BankConnection" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="CompactPhysicalPersonType">
+ <xs:annotation>
+ <xs:documentation>physical person, compare NatuerlichePersonTyp</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="CompactName"/>
+ <xs:element ref="MaritalStatus" minOccurs="0"/>
+ <xs:element ref="Sex" minOccurs="0"/>
+ <xs:element ref="DateOfBirth" minOccurs="0"/>
+ <xs:element ref="PlaceOfBirth" minOccurs="0"/>
+ <xs:element ref="Nationality" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="CorporateBodyType">
+ <xs:annotation>
+ <xs:documentation>juridical person, organisation, compare NichtNatuerlichePersonTyp</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="Type" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>URI pointing to a predefined Class of CorporateBodies, compare Typ</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="FullName" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>name of corporate body (whole name), compare VollerName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AlternativeName" type="xs:token" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>alternative names of corporate body (abbreviations, short name, synonyms, ...), comapre AlternativName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="LegalForm" type="xs:anyURI" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>type of company (eg AG, OHG, ...), URI pointing to predefined LegalForm, compare Rechtsform</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Organization" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>part of an organisation, see also X.500 ou (eg departement, section, branch, ...) , compare Organisation</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="BankConnection" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="CompactCorporateBodyType">
+ <xs:annotation>
+ <xs:documentation>juridical person, organisation, compare NichtNatuerlichePersonTyp</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="Type" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>URI pointing to a predefined Class of CorporateBodies, compare Typ</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="FullName" type="xs:token">
+ <xs:annotation>
+ <xs:documentation>name of corporate body (whole name), compare VollerName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="LegalForm" type="xs:anyURI" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>type of company (eg AG, OHG, ...), URI pointing to predefined LegalForm, compare Rechtsform</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Organization" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>part of an organisation, see also X.500 ou (eg departement, section, branch, ...) , compare Organisation</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="PersonNameType">
+ <xs:annotation>
+ <xs:documentation>container for parts of a name, comapre PersonenNameTyp</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="FormattedName" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>Complete Name (including Affixes) of the Person, especially useful for names from different cultural environments</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="type" default="presentation">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="presentation"/>
+ <xs:enumeration value="legal"/>
+ <xs:enumeration value="sortOrder"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="LegalName" type="xs:string" minOccurs="0"/>
+ <xs:element name="GivenName" type="xs:string" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>Every given name should be contained inside a GivenName Tag. If that is not possible due to dabase contraints, ... putting several given names inside one GivenName Element is acceptable</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PreferredGivenName" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>A Person in possesion of more than one GivenName frequently preferrs the use of a Name other than the first GivenName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="MiddleName" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>MiddleNames are not commonly found in central Europe. The field is mainly for compatibility reasons</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="FamilyName" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>Every family name should be contained inside a FamilyName Tag. If that is not possible due to dabase contraints, ... putting several family names inside one FamilyName Element is acceptable</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="primary" default="undefined">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ <xs:enumeration value="undefined"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="prefix" type="xs:string"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Affix" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>Inlcudes all Information that is not exactly a name: academic or aristocratic titles, ... the new position attribute can contain a suffx or prefix value</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="type" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="academicGrade"/>
+ <xs:enumeration value="aristocraticPrefix"/>
+ <xs:enumeration value="aristocraticTitle"/>
+ <xs:enumeration value="familyNamePrefix"/>
+ <xs:enumeration value="familyNameSuffix"/>
+ <xs:enumeration value="formOfAddress"/>
+ <xs:enumeration value="generation"/>
+ <xs:enumeration value="qualification"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="position" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="prefix"/>
+ <xs:enumeration value="suffix"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CompactPersonNameType">
+ <xs:annotation>
+ <xs:documentation>container for parts of a name, comapre PersonenNameTyp</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="GivenName" type="xs:string" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>Every given name should be contained inside a GivenName Tag. If that is not possible due to dabase contraints, ... putting several given names inside one GivenName Element is acceptable</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="FamilyName" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>Every family name should be contained inside a FamilyName Tag. If that is not possible due to dabase contraints, ... putting several family names inside one FamilyName Element is acceptable</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="primary" default="undefined">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ <xs:enumeration value="undefined"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="prefix" type="xs:string"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Affix" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>Inlcudes all Information that is not exactly a name: academic or aristocratic titles, ... the new position attribute can contain a suffx or prefix value</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="type" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="academicGrade"/>
+ <xs:enumeration value="aristocraticPrefix"/>
+ <xs:enumeration value="aristocraticTitle"/>
+ <xs:enumeration value="familyNamePrefix"/>
+ <xs:enumeration value="familyNameSuffix"/>
+ <xs:enumeration value="formOfAddress"/>
+ <xs:enumeration value="generation"/>
+ <xs:enumeration value="qualification"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="position" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="prefix"/>
+ <xs:enumeration value="suffix"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="NationalityType" mixed="true">
+ <xs:annotation>
+ <xs:documentation>comapre, StaatsangehoerigkeitTyp</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="ISOCode3" minOccurs="0">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:length value="3"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="CountryNameDE" type="xs:string" minOccurs="0"/>
+ <xs:element name="CountryNameEN" type="xs:string" minOccurs="0"/>
+ <xs:element name="CountryNameFR" type="xs:string" minOccurs="0"/>
+ <xs:any namespace="##other" processContents="lax"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="BankConnectionType">
+ <xs:annotation>
+ <xs:documentation>compare BankverbindungTyp</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Holder" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Account holder, compare Inhaber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="BankName" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>compare BankName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:choice>
+ <xs:element name="NationalBankConnection">
+ <xs:annotation>
+ <xs:documentation>compare NationaleBankverbindung</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="AccountNumber" type="xs:integer">
+ <xs:annotation>
+ <xs:documentation>compare Kontonummer</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="BankCode" type="xs:integer">
+ <xs:annotation>
+ <xs:documentation>compare BLZ</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="InternationalBankConnection">
+ <xs:annotation>
+ <xs:documentation>compare InternationaleBankverbindung</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="IBAN" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>compare IBAN</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="BIC" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>comapre BIC</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>main structure of address data</xs:documentation>
+ </xs:annotation>
+ <xs:sequence minOccurs="0">
+ <xs:element ref="Identification" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>unique identification entities</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ <xs:anyAttribute namespace="##other"/>
+ </xs:complexType>
+ <xs:complexType name="TypedPostalAddressType">
+ <xs:annotation>
+ <xs:documentation>postal address with type information, compare TypisiertePostAdresseTyp</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="Type" type="xs:anyURI" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>type of address - category (eg 'Wohnsitz', 'Zentrale', ...)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="PostalAddress"/>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="PostalAddressType">
+ <xs:annotation>
+ <xs:documentation>compare PostAdresseTyp</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence>
+ <xs:element name="CountryCode" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Code for the country, use ISO or internatinal Postalstandard, compare Staatscode</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{2}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="CountryName" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Name of the country, use ISO Name, or international Postal Standard, compare Staatsname</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PostalCode" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>ZIP, compare Postleitzahl</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Region" type="xs:string" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>compare Region</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="State" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>compare Bundesland</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Municipality" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>compare Gemeinde</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="MunicipalityNumber" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>compare Gemeindekennzahl</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Hamlet" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>ZMR use, compare Ortschaft</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="HamletBilingual" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>ZMR use, comapre OrtschaftZweisprachig</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="DeliveryAddress" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="AddressLine" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="StreetName" type="xs:string" minOccurs="0"/>
+ <xs:element name="BuildingNumber" type="xs:string" minOccurs="0"/>
+ <xs:element name="Unit" type="xs:string" minOccurs="0"/>
+ <xs:element name="DoorNumber" type="xs:string" minOccurs="0"/>
+ <xs:element name="PostOfficeBox" type="xs:string" minOccurs="0"/>
+ <xs:element name="LivingQuality" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>zmr use only</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="DropOffPoint" type="xs:boolean" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>zmr use only</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AreaNumber" type="xs:string" minOccurs="0"/>
+ <xs:element name="AddressRegisterEntry" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Addressregister database keys used to identify Addresses</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="AddressCode" type="string7"/>
+ <xs:element name="SubCode" type="string3" minOccurs="0"/>
+ <xs:element name="ObjectNumber" type="string7" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Recipient" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>If Addressis used outside of PersonData a recipient can be specified</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="PersonName" type="PersonNameType" minOccurs="0"/>
+ <xs:element name="AdditionalText" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="Organization" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>rather OrganizationUnit e.G Sales Departement</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="OrganizationName" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>e.g. Smith Ltd</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="type" default="undefined">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="postOfficeBoxAddress"/>
+ <xs:enumeration value="streetAddress"/>
+ <xs:enumeration value="militaryAddress"/>
+ <xs:enumeration value="undefined"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="CompactPostalAddressType">
+ <xs:annotation>
+ <xs:documentation>compare PostAdresseTyp</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence>
+ <xs:element name="CountryCode" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Code for the country, use ISO or internatinal Postalstandard, compare Staatscode</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{2}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="CountryName" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Name of the country, use ISO Name, or international Postal Standard, compare Staatsname</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PostalCode" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>ZIP, compare Postleitzahl</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Municipality" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>compare Gemeinde</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="DeliveryAddress">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="StreetName" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>if streetname not available use name of Ortschaft</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="BuildingNumber" type="xs:string"/>
+ <xs:element name="Unit" type="xs:string" minOccurs="0"/>
+ <xs:element name="DoorNumber" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="type" default="undefined">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="postOfficeBoxAddress"/>
+ <xs:enumeration value="streetAddress"/>
+ <xs:enumeration value="militaryAddress"/>
+ <xs:enumeration value="undefined"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="InternetAddressType">
+ <xs:annotation>
+ <xs:documentation>e.g. e-mail, webiste, compare InternetAdresseTyp</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="dsig:KeyInfo" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>certificate for secure communication</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Address" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>URI: email-Address, Web, FTP, LDAP, ..., comapre Adress</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="TelephoneAddressType">
+ <xs:annotation>
+ <xs:documentation>phone numbers, conmpare TelephoneAdresseTyp</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="Type" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>type of phononumber - category (eg 'Festnetz', 'Mobile', 'fax', ...)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Number" type="TelcomNumberType">
+ <xs:annotation>
+ <xs:documentation>phonenumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="MobileTelcomNumberType">
+ <xs:annotation>
+ <xs:documentation>like TelephoneAddresseType but with additional smsEnabled attribute</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="TelcomNumberType">
+ <xs:attribute name="smsEnabled" type="xs:boolean" use="optional"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="TelcomNumberType">
+ <xs:annotation>
+ <xs:documentation>formated number or set of telephone number parts</xs:documentation>
+ </xs:annotation>
+ <xs:choice>
+ <xs:element ref="FormattedNumber"/>
+ <xs:group ref="TelcomNumberGroup"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:group name="TelcomNumberGroup">
+ <xs:annotation>
+ <xs:documentation>set of telephone number parts</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element ref="InternationalCountryCode" minOccurs="0"/>
+ <xs:element ref="NationalNumber" minOccurs="0"/>
+ <xs:element ref="AreaCityCode" minOccurs="0"/>
+ <xs:element ref="SubscriberNumber"/>
+ <xs:element ref="Extension" minOccurs="0"/>
+ </xs:sequence>
+ </xs:group>
+ <!-- ### auxiliary types ### -->
+ <xs:simpleType name="SexType">
+ <xs:annotation>
+ <xs:documentation>simple type for sex (gender) of person</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="male"/>
+ <xs:enumeration value="female"/>
+ <xs:enumeration value="unknown"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="DateOfBirthType">
+ <xs:annotation>
+ <xs:documentation>simple type for dates (union), which may omit day and/or month</xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear"/>
+ </xs:simpleType>
+ <xs:simpleType name="DateOfDeathType">
+ <xs:annotation>
+ <xs:documentation>simple type for dates (union), which may omit day and/or month</xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear"/>
+ </xs:simpleType>
+ <xs:simpleType name="MaritalStatusType">
+ <xs:annotation>
+ <xs:documentation>simple type for marital status of a person</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="single"/>
+ <xs:enumeration value="married"/>
+ <xs:enumeration value="divorced"/>
+ <xs:enumeration value="widowed"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="xStringPatternExtensionType">
+ <xs:annotation>
+ <xs:documentation>pattern type for enlargement of type definitions. Contents as follows
+x:sometext or 12345 or _ or other symbols
+</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="x:\S.*"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="DefinedRelationType">
+ <xs:annotation>
+ <xs:documentation>known relations (family + functional)</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="family:Parent"/>
+ <xs:enumeration value="family:Child"/>
+ <xs:enumeration value="family:Sibling"/>
+ <xs:enumeration value="family:Grandparent"/>
+ <xs:enumeration value="family:Grandchild"/>
+ <xs:enumeration value="family:Spouse"/>
+ <xs:enumeration value="function:LegalGuardian"/>
+ <xs:enumeration value="function:IsGuardedBy"/>
+ <xs:enumeration value="function:Cohabitant"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="RelationType">
+ <xs:annotation>
+ <xs:documentation>known + any other relation</xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xStringPatternExtensionType DefinedRelationType"/>
+ </xs:simpleType>
+ <xs:simpleType name="DefinedAlternativeNameTypeType">
+ <xs:annotation>
+ <xs:documentation>known types of alternative names</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="ArtistName"/>
+ <xs:enumeration value="NickName"/>
+ <xs:enumeration value="FormerName"/>
+ <xs:enumeration value="Alias"/>
+ <xs:enumeration value="MaidenName"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="AlternativeNameTypeType">
+ <xs:annotation>
+ <xs:documentation>known + any other alternative name types</xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xStringPatternExtensionType DefinedAlternativeNameTypeType"/>
+ </xs:simpleType>
+ <!-- ### additional data types for ZMR address #### -->
+ <xs:simpleType name="FederalStateType">
+ <xs:annotation>
+ <xs:documentation>zmr use only</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Wien"/>
+ <xs:enumeration value="Niederoesterreich"/>
+ <xs:enumeration value="Burgenland"/>
+ <xs:enumeration value="Oberoesterreich"/>
+ <xs:enumeration value="Steiermark"/>
+ <xs:enumeration value="Salzburg"/>
+ <xs:enumeration value="Kaernten"/>
+ <xs:enumeration value="Tirol"/>
+ <xs:enumeration value="Vorarlberg"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <!-- ### strings of defined maximum lenght for use with ZMR address ###-->
+ <xs:simpleType name="string3">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="3"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string4">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string7">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="7"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string20">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="20"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string30">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="30"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string50">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="50"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string100">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="100"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="integer5">
+ <xs:restriction base="xs:integer">
+ <xs:minInclusive value="10000"/>
+ <xs:maxInclusive value="99999"/>
+ </xs:restriction>
+ </xs:simpleType>
+</xs:schema>
diff --git a/src/main/resources/wsdl/W3C-XMLDSig.xsd b/src/main/resources/wsdl/W3C-XMLDSig.xsd
new file mode 100644
index 0000000..522cae0
--- /dev/null
+++ b/src/main/resources/wsdl/W3C-XMLDSig.xsd
@@ -0,0 +1,265 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- PUBLIC "-//W3C//DTD XMLSchema 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd"
+ -->
+<!-- Schema for XML Signatures
+ http://www.w3.org/2000/09/xmldsig#
+ $Revision: 1.1 $ on $Date: 2002/11/11 16:24:27 $ by $Author: Linauer $
+
+ Copyright 2001 The Internet Society and W3C (Massachusetts Institute
+ of Technology, Institut National de Recherche en Informatique et en
+ Automatique, Keio University). All Rights Reserved.
+ http://www.w3.org/Consortium/Legal/
+
+ This document is governed by the W3C Software License [1] as described
+ in the FAQ [2].
+
+ [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
+ [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
+-->
+<schema targetNamespace="http://www.w3.org/2000/09/xmldsig#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="0.1">
+ <!-- Basic Types Defined for Signatures -->
+ <!-- modified to ensure that whiteSpace is preserved
+<simpleType name="CryptoBinary">
+ <restriction base="base64Binary">
+ </restriction>
+</simpleType>
+ -->
+ <simpleType name="CryptoBinary">
+ <restriction base="string">
+ <whiteSpace value="preserve"/>
+ <pattern value="[A-Za-z0-9\+/=\n\r\t ]*"/>
+ </restriction>
+ </simpleType>
+ <!-- Start Signature -->
+ <element name="Signature" type="ds:SignatureType"/>
+ <complexType name="SignatureType">
+ <sequence>
+ <element ref="ds:SignedInfo"/>
+ <element ref="ds:SignatureValue"/>
+ <element ref="ds:KeyInfo" minOccurs="0"/>
+ <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="SignatureValue" type="ds:SignatureValueType"/>
+ <complexType name="SignatureValueType">
+ <simpleContent>
+ <extension base="ds:CryptoBinary">
+ <attribute name="Id" type="ID" use="optional"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <!-- Start SignedInfo -->
+ <element name="SignedInfo" type="ds:SignedInfoType"/>
+ <complexType name="SignedInfoType">
+ <sequence>
+ <element ref="ds:CanonicalizationMethod"/>
+ <element ref="ds:SignatureMethod"/>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>
+ <complexType name="CanonicalizationMethodType" mixed="true">
+ <sequence>
+ <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
+ <!-- (0,unbounded) elements from (1,1) namespace -->
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <element name="SignatureMethod" type="ds:SignatureMethodType"/>
+ <complexType name="SignatureMethodType" mixed="true">
+ <sequence>
+ <element name="HMACOutputLength" type="ds:HMACOutputLengthType" minOccurs="0"/>
+ <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+ <!-- (0,unbounded) elements from (1,1) external namespace -->
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <!-- Start Reference -->
+ <element name="Reference" type="ds:ReferenceType"/>
+ <complexType name="ReferenceType">
+ <sequence>
+ <element ref="ds:Transforms" minOccurs="0"/>
+ <element ref="ds:DigestMethod"/>
+ <element ref="ds:DigestValue"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ <attribute name="URI" type="anyURI" use="optional"/>
+ <attribute name="Type" type="anyURI" use="optional"/>
+ </complexType>
+ <element name="Transforms" type="ds:TransformsType"/>
+ <complexType name="TransformsType">
+ <sequence>
+ <element ref="ds:Transform" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <element name="Transform" type="ds:TransformType"/>
+ <complexType name="TransformType" mixed="true">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##other" processContents="lax"/>
+ <element name="XPath" type="string"/>
+ <!-- (1,1) elements from (0,unbounded) namespaces -->
+ </choice>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <!-- End Reference -->
+ <element name="DigestMethod" type="ds:DigestMethodType"/>
+ <complexType name="DigestMethodType" mixed="true">
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <element name="DigestValue" type="ds:DigestValueType"/>
+ <simpleType name="DigestValueType">
+ <restriction base="ds:CryptoBinary"/>
+ </simpleType>
+ <!-- End SignedInfo -->
+ <!-- Start KeyInfo -->
+ <element name="KeyInfo" type="ds:KeyInfoType"/>
+ <complexType name="KeyInfoType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <element ref="ds:KeyName"/>
+ <element ref="ds:KeyValue"/>
+ <element ref="ds:RetrievalMethod"/>
+ <element ref="ds:X509Data"/>
+ <element ref="ds:PGPData"/>
+ <element ref="ds:SPKIData"/>
+ <element ref="ds:MgmtData"/>
+ <any namespace="##other" processContents="lax"/>
+ <!-- (1,1) elements from (0,unbounded) namespaces -->
+ </choice>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="KeyName" type="string"/>
+ <element name="MgmtData" type="string"/>
+ <element name="KeyValue" type="ds:KeyValueType"/>
+ <complexType name="KeyValueType" mixed="true">
+ <choice>
+ <element ref="ds:DSAKeyValue"/>
+ <element ref="ds:RSAKeyValue"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ </complexType>
+ <element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
+ <complexType name="RetrievalMethodType">
+ <sequence>
+ <element name="Transforms" type="ds:TransformsType" minOccurs="0"/>
+ </sequence>
+ <attribute name="URI" type="anyURI"/>
+ <attribute name="Type" type="anyURI" use="optional"/>
+ </complexType>
+ <!-- Start X509Data -->
+ <element name="X509Data" type="ds:X509DataType"/>
+ <complexType name="X509DataType">
+ <sequence maxOccurs="unbounded">
+ <choice>
+ <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
+ <element name="X509SKI" type="ds:CryptoBinary"/>
+ <element name="X509SubjectName" type="string"/>
+ <element name="X509Certificate" type="ds:CryptoBinary"/>
+ <element name="X509CRL" type="ds:CryptoBinary"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ </sequence>
+ </complexType>
+ <complexType name="X509IssuerSerialType">
+ <sequence>
+ <element name="X509IssuerName" type="string"/>
+ <element name="X509SerialNumber" type="integer"/>
+ </sequence>
+ </complexType>
+ <!-- End X509Data -->
+ <!-- Begin PGPData -->
+ <element name="PGPData" type="ds:PGPDataType"/>
+ <complexType name="PGPDataType">
+ <choice>
+ <sequence>
+ <element name="PGPKeyID" type="ds:CryptoBinary"/>
+ <element name="PGPKeyPacket" type="ds:CryptoBinary" minOccurs="0"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <sequence>
+ <element name="PGPKeyPacket" type="ds:CryptoBinary"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </choice>
+ </complexType>
+ <!-- End PGPData -->
+ <!-- Begin SPKIData -->
+ <element name="SPKIData" type="ds:SPKIDataType"/>
+ <complexType name="SPKIDataType">
+ <sequence maxOccurs="unbounded">
+ <element name="SPKISexp" type="ds:CryptoBinary"/>
+ <any namespace="##other" processContents="lax" minOccurs="0"/>
+ </sequence>
+ </complexType>
+ <!-- End SPKIData -->
+ <!-- End KeyInfo -->
+ <!-- Start Object (Manifest, SignatureProperty) -->
+ <element name="Object" type="ds:ObjectType"/>
+ <complexType name="ObjectType" mixed="true">
+ <sequence minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##any" processContents="lax"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ <attribute name="MimeType" type="string" use="optional"/>
+ <attribute name="Encoding" type="anyURI" use="optional"/>
+ <!-- add a grep facet -->
+ </complexType>
+ <element name="Manifest" type="ds:ManifestType"/>
+ <complexType name="ManifestType">
+ <sequence>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="SignatureProperties" type="ds:SignaturePropertiesType"/>
+ <complexType name="SignaturePropertiesType">
+ <sequence>
+ <element ref="ds:SignatureProperty" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="SignatureProperty" type="ds:SignaturePropertyType"/>
+ <complexType name="SignaturePropertyType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <any namespace="##other" processContents="lax"/>
+ <!-- (1,1) elements from (1,unbounded) namespaces -->
+ </choice>
+ <attribute name="Target" type="anyURI" use="required"/>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <!-- End Object (Manifest, SignatureProperty) -->
+ <!-- Start Algorithm Parameters -->
+ <simpleType name="HMACOutputLengthType">
+ <restriction base="integer"/>
+ </simpleType>
+ <!-- Start KeyValue Element-types -->
+ <element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
+ <complexType name="DSAKeyValueType">
+ <sequence>
+ <sequence minOccurs="0">
+ <element name="P" type="ds:CryptoBinary"/>
+ <element name="Q" type="ds:CryptoBinary"/>
+ </sequence>
+ <element name="J" type="ds:CryptoBinary" minOccurs="0"/>
+ <element name="G" type="ds:CryptoBinary" minOccurs="0"/>
+ <element name="Y" type="ds:CryptoBinary"/>
+ <sequence minOccurs="0">
+ <element name="Seed" type="ds:CryptoBinary"/>
+ <element name="PgenCounter" type="ds:CryptoBinary"/>
+ </sequence>
+ </sequence>
+ </complexType>
+ <element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
+ <complexType name="RSAKeyValueType">
+ <sequence>
+ <element name="Modulus" type="ds:CryptoBinary"/>
+ <element name="Exponent" type="ds:CryptoBinary"/>
+ </sequence>
+ </complexType>
+ <!-- End KeyValue Element-types -->
+ <!-- End Signature -->
+</schema>
diff --git a/src/main/resources/wsdl/cs-sstc-schema-assertion-01.xsd b/src/main/resources/wsdl/cs-sstc-schema-assertion-01.xsd
new file mode 100644
index 0000000..8ef0872
--- /dev/null
+++ b/src/main/resources/wsdl/cs-sstc-schema-assertion-01.xsd
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XML Spy v3.5 NT (http://www.xmlspy.com) by Phill Hallam-Baker (VeriSign Inc.) -->
+<schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:oasis:names:tc:SAML:1.0:assertion" elementFormDefault="unqualified">
+ <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="W3C-XMLDSig.xsd"/>
+ <annotation>
+ <documentation>
+ Document identifier: cs-sstc-schema-assertion-01
+ Location: http://www.oasis-open.org/committees/security/docs/
+ </documentation>
+ </annotation>
+ <simpleType name="IDType">
+ <restriction base="string"/>
+ </simpleType>
+ <simpleType name="IDReferenceType">
+ <restriction base="string"/>
+ </simpleType>
+ <simpleType name="DecisionType">
+ <restriction base="string">
+ <enumeration value="Permit"/>
+ <enumeration value="Deny"/>
+ <enumeration value="Indeterminate"/>
+ </restriction>
+ </simpleType>
+ <element name="AssertionIDReference" type="saml:IDReferenceType"/>
+ <element name="Assertion" type="saml:AssertionType"/>
+ <complexType name="AssertionType">
+ <sequence>
+ <element ref="saml:Conditions" minOccurs="0"/>
+ <element ref="saml:Advice" minOccurs="0"/>
+ <choice maxOccurs="unbounded">
+ <element ref="saml:Statement"/>
+ <element ref="saml:SubjectStatement"/>
+ <element ref="saml:AuthenticationStatement"/>
+ <element ref="saml:AuthorizationDecisionStatement"/>
+ <element ref="saml:AttributeStatement"/>
+ </choice>
+ <element ref="ds:Signature" minOccurs="0"/>
+ </sequence>
+ <attribute name="MajorVersion" type="integer" use="required"/>
+ <attribute name="MinorVersion" type="integer" use="required"/>
+ <attribute name="AssertionID" type="saml:IDType" use="required"/>
+ <attribute name="Issuer" type="string" use="required"/>
+ <attribute name="IssueInstant" type="dateTime" use="required"/>
+ </complexType>
+ <element name="Conditions" type="saml:ConditionsType"/>
+ <complexType name="ConditionsType">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element ref="saml:AudienceRestrictionCondition"/>
+ <element ref="saml:Condition"/>
+ </choice>
+ <attribute name="NotBefore" type="dateTime" use="optional"/>
+ <attribute name="NotOnOrAfter" type="dateTime" use="optional"/>
+ </complexType>
+ <element name="Condition" type="saml:ConditionAbstractType"/>
+ <complexType name="ConditionAbstractType" abstract="true"/>
+ <element name="AudienceRestrictionCondition" type="saml:AudienceRestrictionConditionType"/>
+ <complexType name="AudienceRestrictionConditionType">
+ <complexContent>
+ <extension base="saml:ConditionAbstractType">
+ <sequence>
+ <element ref="saml:Audience" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="Audience" type="anyURI"/>
+ <element name="Advice" type="saml:AdviceType"/>
+ <complexType name="AdviceType">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element ref="saml:AssertionIDReference"/>
+ <element ref="saml:Assertion"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ </complexType>
+ <element name="Statement" type="saml:StatementAbstractType"/>
+ <complexType name="StatementAbstractType" abstract="true"/>
+ <element name="SubjectStatement" type="saml:SubjectStatementAbstractType"/>
+ <complexType name="SubjectStatementAbstractType" abstract="true">
+ <complexContent>
+ <extension base="saml:StatementAbstractType">
+ <sequence>
+ <element ref="saml:Subject"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="Subject" type="saml:SubjectType"/>
+ <complexType name="SubjectType">
+ <choice>
+ <sequence>
+ <element ref="saml:NameIdentifier"/>
+ <element ref="saml:SubjectConfirmation" minOccurs="0"/>
+ </sequence>
+ <element ref="saml:SubjectConfirmation"/>
+ </choice>
+ </complexType>
+ <element name="NameIdentifier" type="saml:NameIdentifierType"/>
+ <complexType name="NameIdentifierType">
+ <simpleContent>
+ <extension base="string">
+ <attribute name="NameQualifier" type="string" use="optional"/>
+ <attribute name="Format" type="anyURI" use="optional"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <element name="SubjectConfirmation" type="saml:SubjectConfirmationType"/>
+ <complexType name="SubjectConfirmationType">
+ <sequence>
+ <element ref="saml:ConfirmationMethod" maxOccurs="unbounded"/>
+ <element ref="saml:SubjectConfirmationData" minOccurs="0"/>
+ <element ref="ds:KeyInfo" minOccurs="0"/>
+ </sequence>
+ </complexType>
+ <element name="SubjectConfirmationData" type="anyType"/>
+ <element name="ConfirmationMethod" type="anyURI"/>
+ <element name="AuthenticationStatement" type="saml:AuthenticationStatementType"/>
+ <complexType name="AuthenticationStatementType">
+ <complexContent>
+ <extension base="saml:SubjectStatementAbstractType">
+ <sequence>
+ <element ref="saml:SubjectLocality" minOccurs="0"/>
+ <element ref="saml:AuthorityBinding" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="AuthenticationMethod" type="anyURI" use="required"/>
+ <attribute name="AuthenticationInstant" type="dateTime" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="SubjectLocality" type="saml:SubjectLocalityType"/>
+ <complexType name="SubjectLocalityType">
+ <attribute name="IPAddress" type="string" use="optional"/>
+ <attribute name="DNSAddress" type="string" use="optional"/>
+ </complexType>
+ <element name="AuthorityBinding" type="saml:AuthorityBindingType"/>
+ <complexType name="AuthorityBindingType">
+ <attribute name="AuthorityKind" type="QName" use="required"/>
+ <attribute name="Location" type="anyURI" use="required"/>
+ <attribute name="Binding" type="anyURI" use="required"/>
+ </complexType>
+ <element name="AuthorizationDecisionStatement" type="saml:AuthorizationDecisionStatementType"/>
+ <complexType name="AuthorizationDecisionStatementType">
+ <complexContent>
+ <extension base="saml:SubjectStatementAbstractType">
+ <sequence>
+ <element ref="saml:Action" maxOccurs="unbounded"/>
+ <element ref="saml:Evidence" minOccurs="0"/>
+ </sequence>
+ <attribute name="Resource" type="anyURI" use="required"/>
+ <attribute name="Decision" type="saml:DecisionType" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="Action" type="saml:ActionType"/>
+ <complexType name="ActionType">
+ <simpleContent>
+ <extension base="string">
+ <attribute name="Namespace" type="anyURI"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <element name="Evidence" type="saml:EvidenceType"/>
+ <complexType name="EvidenceType">
+ <choice maxOccurs="unbounded">
+ <element ref="saml:AssertionIDReference"/>
+ <element ref="saml:Assertion"/>
+ </choice>
+ </complexType>
+ <element name="AttributeStatement" type="saml:AttributeStatementType"/>
+ <complexType name="AttributeStatementType">
+ <complexContent>
+ <extension base="saml:SubjectStatementAbstractType">
+ <sequence>
+ <element ref="saml:Attribute" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AttributeDesignator" type="saml:AttributeDesignatorType"/>
+ <complexType name="AttributeDesignatorType">
+ <attribute name="AttributeName" type="string" use="required"/>
+ <attribute name="AttributeNamespace" type="anyURI" use="required"/>
+ </complexType>
+ <element name="Attribute" type="saml:AttributeType"/>
+ <complexType name="AttributeType">
+ <complexContent>
+ <extension base="saml:AttributeDesignatorType">
+ <sequence>
+ <element ref="saml:AttributeValue" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AttributeValue" type="anyType"/>
+</schema>
diff --git a/src/main/resources/wsdl/cs-sstc-schema-protocol-01.xsd b/src/main/resources/wsdl/cs-sstc-schema-protocol-01.xsd
new file mode 100644
index 0000000..eeb9bef
--- /dev/null
+++ b/src/main/resources/wsdl/cs-sstc-schema-protocol-01.xsd
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XML Spy v4.2 U (http://www.xmlspy.com) by Phillip Hallam-Baker (Phillip Hallam-Baker) -->
+<schema xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol" xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:oasis:names:tc:SAML:1.0:protocol" elementFormDefault="unqualified">
+ <import namespace="urn:oasis:names:tc:SAML:1.0:assertion" schemaLocation="cs-sstc-schema-assertion-01.xsd"/>
+ <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="W3C-XMLDSig.xsd"/>
+ <annotation>
+ <documentation>
+ Document identifier: cs-sstc-schema-protocol-01
+ Location: http://www.oasis-open.org/committees/security/docs/
+ </documentation>
+ </annotation>
+ <complexType name="RequestAbstractType" abstract="true">
+ <sequence>
+ <element ref="samlp:RespondWith" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="ds:Signature" minOccurs="0"/>
+ </sequence>
+ <attribute name="RequestID" type="saml:IDType" use="required"/>
+ <attribute name="MajorVersion" type="integer" use="required"/>
+ <attribute name="MinorVersion" type="integer" use="required"/>
+ <attribute name="IssueInstant" type="dateTime" use="required"/>
+ </complexType>
+ <element name="RespondWith" type="QName"/>
+ <element name="Request" type="samlp:RequestType"/>
+ <complexType name="RequestType">
+ <complexContent>
+ <extension base="samlp:RequestAbstractType">
+ <choice>
+ <element ref="samlp:Query"/>
+ <element ref="samlp:SubjectQuery"/>
+ <element ref="samlp:AuthenticationQuery"/>
+ <element ref="samlp:AttributeQuery"/>
+ <element ref="samlp:AuthorizationDecisionQuery"/>
+ <element ref="saml:AssertionIDReference" maxOccurs="unbounded"/>
+ <element ref="samlp:AssertionArtifact" maxOccurs="unbounded"/>
+ </choice>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AssertionArtifact" type="string"/>
+ <element name="Query" type="samlp:QueryAbstractType"/>
+ <complexType name="QueryAbstractType" abstract="true"/>
+ <element name="SubjectQuery" type="samlp:SubjectQueryAbstractType"/>
+ <complexType name="SubjectQueryAbstractType" abstract="true">
+ <complexContent>
+ <extension base="samlp:QueryAbstractType">
+ <sequence>
+ <element ref="saml:Subject"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AuthenticationQuery" type="samlp:AuthenticationQueryType"/>
+ <complexType name="AuthenticationQueryType">
+ <complexContent>
+ <extension base="samlp:SubjectQueryAbstractType">
+ <attribute name="AuthenticationMethod" type="anyURI"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AttributeQuery" type="samlp:AttributeQueryType"/>
+ <complexType name="AttributeQueryType">
+ <complexContent>
+ <extension base="samlp:SubjectQueryAbstractType">
+ <sequence>
+ <element ref="saml:AttributeDesignator" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Resource" type="anyURI" use="optional"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AuthorizationDecisionQuery" type="samlp:AuthorizationDecisionQueryType"/>
+ <complexType name="AuthorizationDecisionQueryType">
+ <complexContent>
+ <extension base="samlp:SubjectQueryAbstractType">
+ <sequence>
+ <element ref="saml:Action" maxOccurs="unbounded"/>
+ <element ref="saml:Evidence" minOccurs="0"/>
+ </sequence>
+ <attribute name="Resource" type="anyURI" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ResponseAbstractType" abstract="true">
+ <sequence>
+ <element ref="ds:Signature" minOccurs="0"/>
+ </sequence>
+ <attribute name="ResponseID" type="saml:IDType" use="required"/>
+ <attribute name="InResponseTo" type="saml:IDReferenceType" use="optional"/>
+ <attribute name="MajorVersion" type="integer" use="required"/>
+ <attribute name="MinorVersion" type="integer" use="required"/>
+ <attribute name="IssueInstant" type="dateTime" use="required"/>
+ <attribute name="Recipient" type="anyURI" use="optional"/>
+ </complexType>
+ <element name="Response" type="samlp:ResponseType"/>
+ <complexType name="ResponseType">
+ <complexContent>
+ <extension base="samlp:ResponseAbstractType">
+ <sequence>
+ <element ref="samlp:Status"/>
+ <element ref="saml:Assertion" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="Status" type="samlp:StatusType"/>
+ <complexType name="StatusType">
+ <sequence>
+ <element ref="samlp:StatusCode"/>
+ <element ref="samlp:StatusMessage" minOccurs="0"/>
+ <element ref="samlp:StatusDetail" minOccurs="0"/>
+ </sequence>
+ </complexType>
+ <element name="StatusCode" type="samlp:StatusCodeType"/>
+ <complexType name="StatusCodeType">
+ <sequence>
+ <element ref="samlp:StatusCode" minOccurs="0"/>
+ </sequence>
+ <attribute name="Value" type="QName" use="required"/>
+ </complexType>
+ <element name="StatusMessage" type="string"/>
+ <element name="StatusDetail" type="samlp:StatusDetailType"/>
+ <complexType name="StatusDetailType">
+ <sequence>
+ <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+</schema>
diff --git a/src/main/resources/wsdl/custom-bindings/ersb-schemas.xml b/src/main/resources/wsdl/custom-bindings/ersb-schemas.xml
new file mode 100644
index 0000000..de765cf
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/ersb-schemas.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings version="2.0" xmlns="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <bindings schemaLocation="../ERsB/1.1/ersb-types.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.ersb" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../ERsB/1.1/ur-simpleTypes.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.ersb.simpletypes" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../ERsB/1.1/ur-basicTypes.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.ersb.basicTypes" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../ERsB/1.1/PersonData_URSuche.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.ersb.pd" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../ERsB/1.1/PersonData_Ersb.xsd">
+ <bindings node="/xs:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.ersb.personendata1" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/ersb-wsdl.xml b/src/main/resources/wsdl/custom-bindings/ersb-wsdl.xml
new file mode 100644
index 0000000..b89c015
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/ersb-wsdl.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings xmlns="http://java.sun.com/xml/ns/jaxws"
+ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <package name="at.gv.util.wsdl.ersb"/>
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/mandate-schemas.xml b/src/main/resources/wsdl/custom-bindings/mandate-schemas.xml
new file mode 100644
index 0000000..c46e41d
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/mandate-schemas.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings version="2.0" xmlns="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
+
+ <bindings schemaLocation="../mandate/Mandate_1.0.0.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.mandate" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../mandate/PersonData.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.mandate.persondata" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../mandate/W3C-XMLDSig.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.mandate.xsd" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/mis-schemas.xml b/src/main/resources/wsdl/custom-bindings/mis-schemas.xml
new file mode 100644
index 0000000..3b4054e
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/mis-schemas.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings version="2.0" xmlns="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
+
+ <bindings schemaLocation="../mis/mis-1.0.3.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.mis" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/mis-usp-schemas.xml b/src/main/resources/wsdl/custom-bindings/mis-usp-schemas.xml
new file mode 100644
index 0000000..2ba224e
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/mis-usp-schemas.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings version="2.0" xmlns="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
+
+ <bindings schemaLocation="../mis/usp/mis-usp-1.0.2.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.mis.usp" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/mis-usp-wsdl.xml b/src/main/resources/wsdl/custom-bindings/mis-usp-wsdl.xml
new file mode 100644
index 0000000..b57b521
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/mis-usp-wsdl.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings xmlns="http://java.sun.com/xml/ns/jaxws"
+ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <package name="at.gv.util.wsdl.mis.usp"/>
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/mis-wsdl.xml b/src/main/resources/wsdl/custom-bindings/mis-wsdl.xml
new file mode 100644
index 0000000..dbe59f3
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/mis-wsdl.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings xmlns="http://java.sun.com/xml/ns/jaxws"
+ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <package name="at.gv.util.wsdl.mis"/>
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/misstork-schemas.xml b/src/main/resources/wsdl/custom-bindings/misstork-schemas.xml
new file mode 100644
index 0000000..95e441e
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/misstork-schemas.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings version="2.0" xmlns="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
+
+ <bindings schemaLocation="../misstork/misstork-1.0.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.misstork" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../PersonData_20_en_moaWID.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.persondata"/>
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../W3C-XMLDSig.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.xmldsig"/>
+ </schemaBindings>
+ </bindings>
+ </bindings>
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/misstork-wsdl.xml b/src/main/resources/wsdl/custom-bindings/misstork-wsdl.xml
new file mode 100644
index 0000000..0883036
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/misstork-wsdl.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings xmlns="http://java.sun.com/xml/ns/jaxws"
+ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <package name="at.gv.util.wsdl.misstork"/>
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/mms-schemas.xml b/src/main/resources/wsdl/custom-bindings/mms-schemas.xml
new file mode 100644
index 0000000..d9e72b2
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/mms-schemas.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings version="2.0" xmlns="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
+
+ <bindings schemaLocation="../mms/mms-1.0.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.mms" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/mms-wsdl.xml b/src/main/resources/wsdl/custom-bindings/mms-wsdl.xml
new file mode 100644
index 0000000..d90d601
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/mms-wsdl.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings xmlns="http://java.sun.com/xml/ns/jaxws"
+ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <package name="at.gv.util.wsdl.mms"/>
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/moa-schemas.xml b/src/main/resources/wsdl/custom-bindings/moa-schemas.xml
new file mode 100644
index 0000000..e5f470e
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/moa-schemas.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings version="2.0" xmlns="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
+
+ <bindings schemaLocation="../MOA-SPSS-1.3.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.moaspss"/>
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../cs-sstc-schema-assertion-01.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.saml.assertion"/>
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../cs-sstc-schema-protocol-01.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.saml.protocol"/>
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../PersonData_20_en_moaWID.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.persondata"/>
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../W3C-XMLDSig.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.xmldsig"/>
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/moa-wsdl.xml b/src/main/resources/wsdl/custom-bindings/moa-wsdl.xml
new file mode 100644
index 0000000..db0c8c8
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/moa-wsdl.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings xmlns="http://java.sun.com/xml/ns/jaxws"
+ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <package name="at.gv.util.wsdl"/>
+
+ <!-- enable mime content for attachments -->
+ <!-- bindings node="wsdl:definitions/wsdl:binding[@name='DeliveryRequestATBinding']/wsdl:operation[@name='DeliveryRequestATOperation']">
+ <enableMIMEContent>true</enableMIMEContent>
+ </bindings -->
+
+
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/mzs-schemas.xml b/src/main/resources/wsdl/custom-bindings/mzs-schemas.xml
new file mode 100644
index 0000000..ca26583
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/mzs-schemas.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings version="2.0" xmlns="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
+
+ <bindings schemaLocation="../mzs/app2mzs.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.mzs" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../mzs/mzs_mypersondata_en.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.mzs.persondata" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/mzs-wsdl.xml b/src/main/resources/wsdl/custom-bindings/mzs-wsdl.xml
new file mode 100644
index 0000000..b6558f3
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/mzs-wsdl.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings xmlns="http://java.sun.com/xml/ns/jaxws"
+ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <package name="at.gv.util.wsdl.mzs"/>
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/omsp-schemas.xml b/src/main/resources/wsdl/custom-bindings/omsp-schemas.xml
new file mode 100644
index 0000000..c062aa2
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/omsp-schemas.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings version="2.0" xmlns="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
+
+ <bindings schemaLocation="../omsp/omsp.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.omsp" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../omsp/W3C-XMLDSig.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.omsp.xsd" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/sl-schemas.xml b/src/main/resources/wsdl/custom-bindings/sl-schemas.xml
new file mode 100644
index 0000000..86643ac
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/sl-schemas.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings version="2.0" xmlns="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
+
+ <bindings schemaLocation="../sl/sl-1.2.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.sl" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../sl/W3C-XMLDSig.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.sl.xmldsig" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/szr-schemas.xml b/src/main/resources/wsdl/custom-bindings/szr-schemas.xml
new file mode 100644
index 0000000..f65d13b
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/szr-schemas.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings version="2.0" xmlns="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
+
+ <bindings schemaLocation="../szr/szr_ecdsa.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.szr.ecdsa" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../szr/szr_persondata.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.szr.persondata" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../szr/szr_pvp_sec.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.szr.pvp.sec" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../szr/szr_pvp.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.szr.pvp" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../szr/szr_v2.0.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.szr" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../szr/szr_xmldsig.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.szr.xmldsig" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/szr-wsdl.xml b/src/main/resources/wsdl/custom-bindings/szr-wsdl.xml
new file mode 100644
index 0000000..8f3c358
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/szr-wsdl.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings xmlns="http://java.sun.com/xml/ns/jaxws"
+ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <package name="at.gv.util.wsdl.szr"/>
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/szrgw-schemas.xml b/src/main/resources/wsdl/custom-bindings/szrgw-schemas.xml
new file mode 100644
index 0000000..7388e8e
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/szrgw-schemas.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings version="2.0" xmlns="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
+
+ <bindings schemaLocation="../szrgw/szr-gw-0.0.3.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.srzgw" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../cs-sstc-schema-assertion-01.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.saml.assertion"/>
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../szrgw/stork.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.stork"/>
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../PersonData_20_en_moaWID.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.persondata"/>
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../W3C-XMLDSig.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.xmldsig"/>
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/szrgw-wsdl.xml b/src/main/resources/wsdl/custom-bindings/szrgw-wsdl.xml
new file mode 100644
index 0000000..a2e5617
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/szrgw-wsdl.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings xmlns="http://java.sun.com/xml/ns/jaxws"
+ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <package name="at.gv.util.wsdl.szrgw"/>
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/ur-schemas.xml b/src/main/resources/wsdl/custom-bindings/ur-schemas.xml
new file mode 100644
index 0000000..fc4b67a
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/ur-schemas.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings version="2.0" xmlns="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
+
+ <bindings schemaLocation="../ur/unternehmenssuche.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.ur.search" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../ur/PersonData_20_dt.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.ur.pd" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../ur/xml-sw.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.ur.xmlsw" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <!-- bindings schemaLocation="../ur/specific/CustomFault.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.ur.cf" />
+ </schemaBindings>
+ </bindings>
+ </bindings -->
+
+ <bindings schemaLocation="../ur/ur-simpleTypes.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.ur.simpletypes" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/ur-wsdl.xml b/src/main/resources/wsdl/custom-bindings/ur-wsdl.xml
new file mode 100644
index 0000000..a8a3875
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/ur-wsdl.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings xmlns="http://java.sun.com/xml/ns/jaxws"
+ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <package name="at.gv.util.wsdl.ur"/>
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/ur_V2-schemas.xml b/src/main/resources/wsdl/custom-bindings/ur_V2-schemas.xml
new file mode 100644
index 0000000..adc4e21
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/ur_V2-schemas.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings version="2.0" xmlns="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
+
+ <bindings schemaLocation="../ur_V2/schema/ur-suche.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.ur_V2.search" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../ur_V2/schema/PersonData_URSuche.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.ur_V2.pd" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../ur_V2/schema/xml-sw.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.ur_V2.xmlsw" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <!-- bindings schemaLocation="../ur_V2/schema/ur-basicTypes.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.ur_V2.basicTypes" />
+ </schemaBindings>
+ </bindings>
+ </bindings -->
+
+ <!-- bindings schemaLocation="../ur/specific/CustomFault.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.ur.cf" />
+ </schemaBindings>
+ </bindings>
+ </bindings -->
+
+ <bindings schemaLocation="../ur_V2/schema/ur-simpleTypes.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.ur_V2.simpletypes" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/ur_V2-wsdl.xml b/src/main/resources/wsdl/custom-bindings/ur_V2-wsdl.xml
new file mode 100644
index 0000000..907eb65
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/ur_V2-wsdl.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings xmlns="http://java.sun.com/xml/ns/jaxws"
+ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <package name="at.gv.util.wsdl.ur_V2"/>
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/zkopf-schemas.xml b/src/main/resources/wsdl/custom-bindings/zkopf-schemas.xml
new file mode 100644
index 0000000..23faedb
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/zkopf-schemas.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings version="2.0" xmlns="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
+
+ <bindings schemaLocation="../zkopf/zkopf.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.zkopf" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../zkopf/W3C-XMLDSig.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.zkopf.xmldsig" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../zkopf/zkopf_mypersondata_en.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.zkopf.persondata" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/zkopf-wsdl.xml b/src/main/resources/wsdl/custom-bindings/zkopf-wsdl.xml
new file mode 100644
index 0000000..1045907
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/zkopf-wsdl.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings xmlns="http://java.sun.com/xml/ns/jaxws"
+ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <package name="at.gv.util.wsdl.zkopf"/>
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/zuserech-schemas.xml b/src/main/resources/wsdl/custom-bindings/zuserech-schemas.xml
new file mode 100644
index 0000000..3f39916
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/zuserech-schemas.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings version="2.0" xmlns="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
+
+ <bindings schemaLocation="../zkopf/zuserech.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.zuserech" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/zuserech-wsdl.xml b/src/main/resources/wsdl/custom-bindings/zuserech-wsdl.xml
new file mode 100644
index 0000000..b8a993e
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/zuserech-wsdl.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings xmlns="http://java.sun.com/xml/ns/jaxws"
+ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
+
+ <package name="at.gv.util.wsdl.zuserech"/>
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/custom-bindings/zusespec-schemas.xml b/src/main/resources/wsdl/custom-bindings/zusespec-schemas.xml
new file mode 100644
index 0000000..e5992ff
--- /dev/null
+++ b/src/main/resources/wsdl/custom-bindings/zusespec-schemas.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bindings version="2.0" xmlns="http://java.sun.com/xml/ns/jaxb"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
+
+ <bindings schemaLocation="../zusespec/recipientnotification.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.zusespec" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+ <bindings schemaLocation="../zusespec/W3C-XMLDSig.xsd">
+ <bindings node="/xsd:schema">
+ <schemaBindings>
+ <package name="at.gv.util.xsd.zusespec.xmldsig" />
+ </schemaBindings>
+ </bindings>
+ </bindings>
+
+</bindings> \ No newline at end of file
diff --git a/src/main/resources/wsdl/mandate/ContactMethod-1_0.xsd b/src/main/resources/wsdl/mandate/ContactMethod-1_0.xsd
new file mode 100644
index 0000000..efc957b
--- /dev/null
+++ b/src/main/resources/wsdl/mandate/ContactMethod-1_0.xsd
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+"Copyright The HR-XML Consortium. All Rights Reserved. http://www.hr-xml.org"
+Name: ContactMethod-1_0.xsd
+Status: Recommendation
+Date this version: 2002-01-31
+Date last version: 2002-01-09
+Purpose: Defines the schema for contact methods
+Author(s): Don Simonson, Robert Half Int'l., CPO Workgroup
+This HR-XML Consortium Work (including specifications, documents,
+software, and related items) is provided by the copyright holders
+under the following license. By obtaining, using and/or copying
+this work, you (the licensee) agree that you have read, understood,
+and will comply with the following terms and conditions.
+Permission to use, copy, modify, or redistribute this Work and
+its documentation, with or without modification, for any purpose
+and without fee or royalty is hereby granted, provided that you
+include the following on ALL copies of the software and
+documentation or portions thereof, including modifications,
+that you make:
+1. This notice: "Copyright The HR-XML Consortium. All Rights
+ Reserved. http://www.hr-xml.org"
+2. Notice of any changes or modifications to the The HR-XML
+ Consortium files.
+
+THIS WORK, INCLUDING SPECIFICATIONS, DOCUMENTS, SOFTWARE, OR OTHER
+RELATED ITEMS, IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO
+REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
+NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY
+PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION
+WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS
+OR OTHER RIGHTS.
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT,
+SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE
+SOFTWARE OR DOCUMENTATION.
+TITLE TO COPYRIGHT IN THIS WORK AND ANY ASSOCIATED DOCUMENTATION
+WILL AT ALL TIMES REMAIN WITH COPYRIGHT HOLDERS.
+-->
+<xsd:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified">
+ <xsd:include schemaLocation="http://ns.hr-xml.org/CPO/PostalAddress-1_2/PostalAddress-1_2.xsd"/>
+ <xsd:include schemaLocation="http://ns.hr-xml.org/CPO/ContactInfo-1_0/TelcomNumber-1_0.xsd"/>
+ <xsd:include schemaLocation="http://ns.hr-xml.org/CPO/ContactInfo-1_0/OnlineAddress-1_0.xsd"/>
+ <xsd:element name="Use" type="contactMethodUsePatternExtensionType"/>
+ <xsd:element name="Location" type="contactMethodLocationPatternExtensionType"/>
+ <xsd:element name="WhenAvailable" type="contactMethodWhenAvailableType"/>
+ <xsd:complexType name="ContactMethodType">
+ <xsd:sequence>
+ <xsd:element ref="Use" minOccurs="0"/>
+ <xsd:element ref="Location" minOccurs="0"/>
+ <xsd:element ref="WhenAvailable" minOccurs="0"/>
+ <xsd:element ref="Telephone" minOccurs="0"/>
+ <xsd:element ref="Mobile" minOccurs="0"/>
+ <xsd:element ref="Fax" minOccurs="0"/>
+ <xsd:element ref="Pager" minOccurs="0"/>
+ <xsd:element ref="TTYTDD" minOccurs="0"/>
+ <xsd:element ref="InternetEmailAddress" minOccurs="0"/>
+ <xsd:element ref="InternetWebAddress" minOccurs="0"/>
+ <xsd:element ref="PostalAddress" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="contactMethodUseType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="business"/>
+ <xsd:enumeration value="businessDirect"/>
+ <xsd:enumeration value="personal"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="contactMethodLocationType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="office"/>
+ <xsd:enumeration value="vehicle"/>
+ <xsd:enumeration value="onPerson"/>
+ <xsd:enumeration value="home"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="contactMethodWhenAvailableType">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="xStringPatternExtensionType">
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern value="x:\S.*"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="contactMethodUsePatternExtensionType">
+ <xsd:union memberTypes="contactMethodUseType xStringPatternExtensionType"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="contactMethodLocationPatternExtensionType">
+ <xsd:union memberTypes="contactMethodLocationType xStringPatternExtensionType"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="contactMethodWhenAvailablePatternExtensionType">
+ <xsd:union memberTypes="contactMethodWhenAvailableType xStringPatternExtensionType"/>
+ </xsd:simpleType>
+</xsd:schema>
diff --git a/src/main/resources/wsdl/mandate/Mandate_1.0.0.xsd b/src/main/resources/wsdl/mandate/Mandate_1.0.0.xsd
new file mode 100644
index 0000000..48dd47e
--- /dev/null
+++ b/src/main/resources/wsdl/mandate/Mandate_1.0.0.xsd
@@ -0,0 +1,267 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--Schema fuer elektronische Vollmachten - V 1.0.0
+ (c) Chief Information Office Austria, Stabsstelle IKT-Strategie des Bundes
+ Kontakt: Arno Hollosi (arno.hollosi@cio.gv.at), Thomas Roessler (thomas.roessler@a-sit.at)
+ Die freie Verwendung dieses Schemas in Applikationen (behoerdenintern, kommerziell, privat) ist erlaubt und erwuenscht.
+-->
+<xs:schema xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:md="http://reference.e-government.gv.at/namespace/mandates/20040701#" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" targetNamespace="http://reference.e-government.gv.at/namespace/mandates/20040701#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.0.4">
+ <!--#### includes of several other schemes ####-->
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#" schemaLocation="PersonData.xsd"/>
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="W3C-XMLDSig.xsd"/>
+ <!--#### Main Elements ####-->
+ <xs:element name="Mandate">
+ <xs:annotation>
+ <xs:documentation>electronic mandate</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="md:Annotation" minOccurs="0"/>
+ <xs:element ref="md:StatusInformationService" minOccurs="0"/>
+ <xs:element ref="md:Representative"/>
+ <xs:element ref="md:Mandator"/>
+ <xs:element ref="md:Intermediary" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="md:Issued"/>
+ <xs:element ref="md:Properties" minOccurs="0"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="md:SimpleMandateContent"/>
+ </xs:choice>
+ <xs:element ref="dsig:Signature"/>
+ </xs:sequence>
+ <xs:attribute name="MandateID" type="xs:token" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <!--#### Global Element Definitions ####-->
+ <xs:element name="StatusInformationService" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>location to retrieve current status information</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Annotation">
+ <xs:annotation>
+ <xs:documentation>arbitrary annotation containing a short description of the mandate</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:whiteSpace value="collapse"/>
+ <xs:maxLength value="255"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Representative">
+ <xs:annotation>
+ <xs:documentation>personal data defining the representative</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:choice>
+ <xs:element ref="pr:PhysicalPerson"/>
+ <xs:element ref="pr:CorporateBody"/>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Mandator">
+ <xs:annotation>
+ <xs:documentation>personal data defining the mandator</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:choice>
+ <xs:element ref="pr:PhysicalPerson"/>
+ <xs:element ref="pr:CorporateBody"/>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Intermediary" type="pr:PhysicalPersonType">
+ <xs:annotation>
+ <xs:documentation>personal data defining the intermediary</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Issued">
+ <xs:annotation>
+ <xs:documentation>the place and the date of issuing the mandate</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Place" type="xs:token"/>
+ <xs:element name="Date" type="md:DateType"/>
+ <xs:element name="Time" type="xs:time" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Properties" type="md:PropertiesType">
+ <xs:annotation>
+ <xs:documentation>element contains arbitrary properties of a mandate</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SimpleMandateContent" type="md:SimpleMandateContentType">
+ <xs:annotation>
+ <xs:documentation>element contains the content of a mandate</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AnyConstraints" type="md:TextualDescriptionType">
+ <xs:annotation>
+ <xs:documentation>element contains arbitrary restrictions</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ValidFrom" type="md:DateType">
+ <xs:annotation>
+ <xs:documentation>element describes beginning of the validity period</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ValidTo" type="md:DateType">
+ <xs:annotation>
+ <xs:documentation>element describes endpoint of the validity period</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ParameterisedDescription" type="md:ParameterisedDescriptionType">
+ <xs:annotation>
+ <xs:documentation>element contains a parameterised description of a mandate's content</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ParameterisedText" type="md:ParameterisedTextType">
+ <xs:annotation>
+ <xs:documentation>element contains parameterised text and the definition of the parameters</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TextualDescription" type="md:TextualDescriptionType">
+ <xs:annotation>
+ <xs:documentation>element contians parameterised text</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ParameterDefinition">
+ <xs:annotation>
+ <xs:documentation>element contains the definition of parameters used</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="md:SetParameter"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PasteParameter">
+ <xs:annotation>
+ <xs:documentation>element represent a parameter to be replaced in the parameterised text</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name="Name" type="xs:token"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SetParameter">
+ <xs:annotation>
+ <xs:documentation>element defines a parameter</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:token">
+ <xs:attribute name="Name" type="xs:token"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <!--#### Datatypes, Groups,... ####-->
+ <xs:simpleType name="DateType">
+ <xs:annotation>
+ <xs:documentation>simple type for dates (union), which may omit day and/or month</xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear"/>
+ </xs:simpleType>
+ <xs:simpleType name="TextualDescriptionType">
+ <xs:annotation>
+ <xs:documentation>simple type for textual descriptions of mandates, constraints,..</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:token">
+ <xs:whiteSpace value="collapse"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="PropertiesType">
+ <xs:annotation>
+ <xs:documentation>complex type for describing arbitrary properties of mandates</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="SubstitutionAllowed" type="xs:boolean" default="false" minOccurs="0"/>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SimpleMandateContentType">
+ <xs:annotation>
+ <xs:documentation>complex type for describing the mandate using some textual descriptions</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="md:TextualDescription"/>
+ <xs:element ref="md:ParameterisedDescription"/>
+ </xs:choice>
+ <xs:element name="References" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence maxOccurs="unbounded">
+ <xs:element name="MandateID">
+ <xs:annotation>
+ <xs:documentation>the ID of the Mandate which is referenced by the TextualDescription-Element</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:token"/>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:group ref="md:ConstraintsGroup"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:group name="ConstraintsGroup">
+ <xs:annotation>
+ <xs:documentation>group of constraints applicable for a mandate content</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="TimeConstraint" minOccurs="0">
+ <xs:complexType>
+ <xs:choice>
+ <xs:sequence>
+ <xs:element ref="md:ValidFrom" minOccurs="0"/>
+ <xs:element ref="md:ValidTo" minOccurs="0"/>
+ </xs:sequence>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CollectiveConstraint" minOccurs="0">
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="pr:PhysicalPerson"/>
+ <xs:element ref="pr:CorporateBody"/>
+ <xs:element ref="md:AnyConstraints"/>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TransactionLimit" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Amount" type="xs:float"/>
+ <xs:element name="Currency" type="xs:token" default="EUR"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element ref="md:AnyConstraints" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:complexType name="ParameterisedTextType" mixed="true">
+ <xs:annotation>
+ <xs:documentation>complex type for describing a parameterised text</xs:documentation>
+ </xs:annotation>
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:element ref="md:PasteParameter"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ParameterisedDescriptionType">
+ <xs:annotation>
+ <xs:documentation>complex type for a parameterised description</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element ref="md:ParameterisedText"/>
+ <xs:element ref="md:ParameterDefinition"/>
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
diff --git a/src/main/resources/wsdl/mandate/OnlineAddress-1_0.xsd b/src/main/resources/wsdl/mandate/OnlineAddress-1_0.xsd
new file mode 100644
index 0000000..b749ab4
--- /dev/null
+++ b/src/main/resources/wsdl/mandate/OnlineAddress-1_0.xsd
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+"Copyright The HR-XML Consortium. All Rights Reserved. http://www.hr-xml.org"
+Name: OnlineAddress-1_0.xsd
+Status:Recommendation
+Date this version: 2002-01-31
+Date last version: 2001-12-20
+Purpose: Defines the schema for online addresses.
+Author(s): Don Simonson, Robert Half Int'l., CPO Workgroup
+
+This HR-XML Consortium Work (including specifications, documents,
+software, and related items) is provided by the copyright holders
+under the following license. By obtaining, using and/or copying
+this work, you (the licensee) agree that you have read, understood,
+and will comply with the following terms and conditions.
+
+Permission to use, copy, modify, or redistribute this Work and
+its documentation, with or without modification, for any purpose
+and without fee or royalty is hereby granted, provided that you
+include the following on ALL copies of the software and
+documentation or portions thereof, including modifications,
+that you make:
+
+1. This notice: "Copyright The HR-XML Consortium. All Rights
+ Reserved. http://www.hr-xml.org"
+2. Notice of any changes or modifications to the The HR-XML
+ Consortium files.
+
+THIS WORK, INCLUDING SPECIFICATIONS, DOCUMENTS, SOFTWARE, OR OTHER
+RELATED ITEMS, IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO
+REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
+NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY
+PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION
+WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS
+OR OTHER RIGHTS.
+
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT,
+SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE
+SOFTWARE OR DOCUMENTATION.
+
+TITLE TO COPYRIGHT IN THIS WORK AND ANY ASSOCIATED DOCUMENTATION
+WILL AT ALL TIMES REMAIN WITH COPYRIGHT HOLDERS.
+-->
+<xsd:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified">
+ <xsd:element name="InternetEmailAddress" type="InternetEmailAddressType"/>
+ <xsd:element name="InternetWebAddress" type="InternetWebAddressType"/>
+ <xsd:simpleType name="InternetEmailAddressType">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="InternetWebAddressType">
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+</xsd:schema>
diff --git a/src/main/resources/wsdl/mandate/PersonData.xsd b/src/main/resources/wsdl/mandate/PersonData.xsd
new file mode 100644
index 0000000..0e3bc6b
--- /dev/null
+++ b/src/main/resources/wsdl/mandate/PersonData.xsd
@@ -0,0 +1,426 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- edited with XML Spy v4.1 U (http://www.xmlspy.com) by Peter Reichstädter (CIO) -->
+<!--Generisches Schema zum Speichern und Austauschen von Personendaten
+ (c) 2001-2002 Chief Information Office Austria, Stabsstelle IKT-Strategie des Bundes, BMÖLS
+ Kontakt: Peter Reichstädter (peter.reichstaedter@cio.gv.at), Arno Hollosi (arno.hollosi@cio.gv.at)
+ Die freie Verwendung dieses Schemas in Applikationen (behördenintern, kommerziell, privat) ist erlaubt und erwünscht.
+-->
+<xs:schema targetNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0.0">
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="W3C-XMLDSig.xsd"/>
+ <!-- ### include definitions from hr-xml schemas ###-->
+ <xs:include schemaLocation="PersonName-1_2.xsd"/>
+ <xs:include schemaLocation="PostalAddress-1_2.xsd"/>
+ <xs:include schemaLocation="TelcomNumber-1_0.xsd"/>
+ <!-- ### type definition of Unique Identifier Entities ### -->
+ <xs:complexType name="IdentificationType">
+ <xs:annotation>
+ <xs:documentation>unique identifier</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Value">
+ <xs:annotation>
+ <xs:documentation>actual value of the identifier.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Type" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>type of value (eg 'ZMR', 'SV-Nummer', 'Martrikelnummer', database identification, ...)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Authority" type="xs:anyURI" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>authority, which is reponsible for generation of the identifier (eg university in case of 'MatrikelNummer')</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ <xs:anyAttribute namespace="##other"/>
+ </xs:complexType>
+ <!-- ### base type for person data ### -->
+ <xs:element name="Person" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>element of person type</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="AbstractPersonType" abstract="true">
+ <xs:annotation>
+ <xs:documentation>main structure of person data</xs:documentation>
+ </xs:annotation>
+ <xs:sequence minOccurs="0">
+ <xs:element name="Identification" type="IdentificationType" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>unique identification entities</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ <xs:anyAttribute namespace="##other"/>
+ </xs:complexType>
+ <!-- ### physical person and corporate body ### -->
+ <xs:element name="PhysicalPerson" type="PhysicalPersonType">
+ <xs:annotation>
+ <xs:documentation>element of physical person type</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="PhysicalPersonType">
+ <xs:annotation>
+ <xs:documentation>physical person</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="Name" type="PersonNameType" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>data related to the person's name</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AlternativeName" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>Former name, Artist name, changes of Given name ...</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="PersonNameType">
+ <xs:attribute name="Type" type="AlternativeNameTypeType"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MaritalStatus" type="MaritalStatusType" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>status of a person in the cycle of life</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Sex" type="SexType" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>gender</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="DateOfBirth" type="DateOfBirthType" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>date of birth</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PlaceOfBirth" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>place of birth</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CountryOfBirth" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>country of birth</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Nationality" type="xs:token" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>nationality of Person (Staatsbürgerschaft)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Confession" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>confession (religion) of Person</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="relatedPerson" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>relatives (parents, ...)</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="TypeOfRelation" type="RelationType" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>type of the relationship</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="Person"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="CorporateBody" type="CorporateBodyType">
+ <xs:annotation>
+ <xs:documentation>element of corporate body type</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="CorporateBodyType">
+ <xs:annotation>
+ <xs:documentation>juridical person, organisation</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="Type" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>category (eg organisation, function, sector, ...)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="FullName" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>name of corporate body (whole name)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AlternativeName" type="xs:token" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>alternative names of corporate body (abbreviations, short name, synonyms, ...)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="LegalForm" type="xs:anyURI" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>type of company (eg AG, OHG, ...)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Organisation" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>part of an organisation, see also X.500 ou (eg departement, section, branch, ...) </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <!-- ### signed structure of a person ### -->
+ <xs:element name="PersonData" type="PersonDataType">
+ <xs:annotation>
+ <xs:documentation>element of signed person datastructure type</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="PersonDataType">
+ <xs:annotation>
+ <xs:documentation>signed person datastructure. The first Identification elements (from the base type) denote the record as such (e.g. database key for this record) - not to be mistaken for identifiers of the person or of an address (they have their own Identification elements).</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <xs:element ref="Person"/>
+ <xs:element ref="Address" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="dsig:Signature" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>one or more electronic signatures applied on fields above</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AdditionalData" minOccurs="0">
+ <xs:complexType mixed="true">
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:any namespace="##any" processContents="lax">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <!-- ### auxiliary types ### -->
+ <xs:simpleType name="SexType">
+ <xs:annotation>
+ <xs:documentation>simple type for sex (gender) of person</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="male"/>
+ <xs:enumeration value="female"/>
+ <xs:enumeration value="unknown"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="DateOfBirthType">
+ <xs:annotation>
+ <xs:documentation>simple type for dates (union), which may omit day and/or month</xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear"/>
+ </xs:simpleType>
+ <xs:simpleType name="MaritalStatusType">
+ <xs:annotation>
+ <xs:documentation>simple type for marital status of a person</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="single"/>
+ <xs:enumeration value="married"/>
+ <xs:enumeration value="divorced"/>
+ <xs:enumeration value="widowed"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="xStringPatternExtensionType">
+ <xs:annotation>
+ <xs:documentation>pattern type for enlargement of type definitions</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="x:\S.*"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="DefinedRelationType">
+ <xs:annotation>
+ <xs:documentation>known relations (family + functional)</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="family:Parent"/>
+ <xs:enumeration value="family:Child"/>
+ <xs:enumeration value="family:Sibling"/>
+ <xs:enumeration value="family:Grandparent"/>
+ <xs:enumeration value="family:Grandchild"/>
+ <xs:enumeration value="family:Spouse"/>
+ <xs:enumeration value="function:LegalGuardian"/>
+ <xs:enumeration value="function:IsGuardedBy"/>
+ <xs:enumeration value="function:Cohabitant"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="RelationType">
+ <xs:annotation>
+ <xs:documentation>known + any other relation</xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xStringPatternExtensionType DefinedRelationType"/>
+ </xs:simpleType>
+ <xs:simpleType name="DefinedAlternativeNameTypeType">
+ <xs:annotation>
+ <xs:documentation>known types of alternative names</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="ArtistName"/>
+ <xs:enumeration value="NickName"/>
+ <xs:enumeration value="FormerName"/>
+ <xs:enumeration value="Alias"/>
+ <xs:enumeration value="MaidenName"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="AlternativeNameTypeType">
+ <xs:annotation>
+ <xs:documentation>known + any other alternative name types</xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xStringPatternExtensionType DefinedAlternativeNameTypeType"/>
+ </xs:simpleType>
+ <!-- ### adress data for various types of communications ### -->
+ <xs:element name="Address" type="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>element of address type</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="AbstractAddressType" abstract="true">
+ <xs:annotation>
+ <xs:documentation>main structure of address data</xs:documentation>
+ </xs:annotation>
+ <xs:sequence minOccurs="0">
+ <xs:element name="Identification" type="IdentificationType" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>unique identification entities</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ <xs:anyAttribute namespace="##other"/>
+ </xs:complexType>
+ <xs:element name="TypedPostalAddress" type="TypedPostalAddressType">
+ <xs:annotation>
+ <xs:documentation>element of postal address type</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="TypedPostalAddressType">
+ <xs:annotation>
+ <xs:documentation>postal address</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="Type" type="xs:anyURI" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>type of address - category (eg 'Wohnsitz', 'Zentrale', ...)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element ref="PostalAddress"/>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="TelephoneAddress" type="TelephoneAddressType">
+ <xs:annotation>
+ <xs:documentation>element of telephone address type</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="TelephoneAddressType">
+ <xs:annotation>
+ <xs:documentation>phone numbers</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="Type" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>type of phononumber - category (eg 'Festnetz', 'Mobile', 'fax', ...)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Number" type="TelcomNumberType">
+ <xs:annotation>
+ <xs:documentation>phonenumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="InternetAddress" type="InternetAddressType">
+ <xs:annotation>
+ <xs:documentation>element of internet address type</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="InternetAddressType">
+ <xs:annotation>
+ <xs:documentation>internet based communication</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="dsig:KeyInfo" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>certificate for secure communication</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Address" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>email-Address, Web, FTP, LDAP, ...</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+</xs:schema>
diff --git a/src/main/resources/wsdl/mandate/PersonName-1_2.xsd b/src/main/resources/wsdl/mandate/PersonName-1_2.xsd
new file mode 100644
index 0000000..7a52b85
--- /dev/null
+++ b/src/main/resources/wsdl/mandate/PersonName-1_2.xsd
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- CHANGES from original HR-XML schema for use with PersonData.xsd:
+ * elementFormDefault set to "qualified" -->
+<!--
+"Copyright The HR-XML Consortium. All Rights Reserved. http://www.hr-xml.org"
+Name: PersonName-1_2.xsd, Second Edition
+Status: Recommendation
+Date this version: 2001-12-17
+Date last version: 2001-09-05
+Purpose: Defines the schema for PersonName
+Author(s): Paul Kiel, Kim Bartkus, CPO Workgroup
+
+Note: This Second Edition corrects an inconsistency between the schema in this xsd file and the schema in the pdf documentation. The documentation is correct. This schema was changed in syntax only, not functionality. When adding attributes to elements, "xsd:restriction" was used. This Second Edition correctly changes it to "xsd:extension".
+
+This HR-XML Consortium Work (including specifications, documents,
+software, and related items) is provided by the copyright holders
+under the following license. By obtaining, using and/or copying
+this work, you (the licensee) agree that you have read, understood,
+and will comply with the following terms and conditions.
+
+Permission to use, copy, modify, or redistribute this Work and
+its documentation, with or without modification, for any purpose
+and without fee or royalty is hereby granted, provided that you
+include the following on ALL copies of the software and
+documentation or portions thereof, including modifications,
+that you make:
+
+1. This notice: "Copyright The HR-XML Consortium. All Rights
+ Reserved. http://www.hr-xml.org"
+2. Notice of any changes or modifications to the The HR-XML
+ Consortium files.
+
+THIS WORK, INCLUDING SPECIFICATIONS, DOCUMENTS, SOFTWARE, OR OTHER
+RELATED ITEMS, IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO
+REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
+NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY
+PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION
+WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS
+OR OTHER RIGHTS.
+
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT,
+SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE
+SOFTWARE OR DOCUMENTATION.
+
+TITLE TO COPYRIGHT IN THIS WORK AND ANY ASSOCIATED DOCUMENTATION
+WILL AT ALL TIMES REMAIN WITH COPYRIGHT HOLDERS.
+-->
+<xsd:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xsd:complexType name="PersonNameType">
+ <xsd:sequence>
+ <xsd:element name="FormattedName" minOccurs="0" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="type" default="presentation">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="presentation"/>
+ <xsd:enumeration value="legal"/>
+ <xsd:enumeration value="sortOrder"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="LegalName" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="GivenName" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="PreferredGivenName" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="MiddleName" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="FamilyName" minOccurs="0" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="primary" default="undefined">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="true"/>
+ <xsd:enumeration value="false"/>
+ <xsd:enumeration value="undefined"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ <xsd:attribute name="prefix" type="xsd:string"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Affix" minOccurs="0" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ <xsd:attribute name="type" use="required">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="academicGrade"/>
+ <xsd:enumeration value="aristocraticPrefix"/>
+ <xsd:enumeration value="aristocraticTitle"/>
+ <xsd:enumeration value="familyNamePrefix"/>
+ <xsd:enumeration value="familyNameSuffix"/>
+ <xsd:enumeration value="formOfAddress"/>
+ <xsd:enumeration value="generation"/>
+ <xsd:enumeration value="qualification"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="PersonName" type="PersonNameType"/>
+</xsd:schema>
diff --git a/src/main/resources/wsdl/mandate/PostalAddress-1_2.xsd b/src/main/resources/wsdl/mandate/PostalAddress-1_2.xsd
new file mode 100644
index 0000000..2203ede
--- /dev/null
+++ b/src/main/resources/wsdl/mandate/PostalAddress-1_2.xsd
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- CHANGES from original HR-XML schema for use with PersonData.xsd:
+ * elementFormDefault set to "qualified"
+ * CountryCode set to minOccurs="0" -->
+<!--
+"Copyright The HR-XML Consortium. All Rights Reserved. http://www.hr-xml.org"
+Name: PostalAddress-1_2.xsd
+Status: Recommendation
+Date this version: 2001-08-20
+Date last version: 2001-07-20
+Purpose: Defines the schema for Postal Address
+Author(s): Paul Kiel, Kim Bartkus, CPO Workgroup
+
+This HR-XML Consortium Work (including specifications, documents,
+software, and related items) is provided by the copyright holders
+under the following license. By obtaining, using and/or copying
+this work, you (the licensee) agree that you have read, understood,
+and will comply with the following terms and conditions.
+
+Permission to use, copy, modify, or redistribute this Work and
+its documentation, with or without modification, for any purpose
+and without fee or royalty is hereby granted, provided that you
+include the following on ALL copies of the software and
+documentation or portions thereof, including modifications,
+that you make:
+
+1. This notice: "Copyright The HR-XML Consortium. All Rights
+ Reserved. http://www.hr-xml.org"
+2. Notice of any changes or modifications to the The HR-XML
+ Consortium files.
+
+THIS WORK, INCLUDING SPECIFICATIONS, DOCUMENTS, SOFTWARE, OR OTHER
+RELATED ITEMS, IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO
+REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
+NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY
+PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION
+WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS
+OR OTHER RIGHTS.
+
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT,
+SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE
+SOFTWARE OR DOCUMENTATION.
+
+TITLE TO COPYRIGHT IN THIS WORK AND ANY ASSOCIATED DOCUMENTATION
+WILL AT ALL TIMES REMAIN WITH COPYRIGHT HOLDERS.
+-->
+<xsd:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xsd:include schemaLocation="PersonName-1_2.xsd"/>
+ <xsd:complexType name="PostalAddressType">
+ <xsd:sequence>
+ <xsd:element name="CountryCode" minOccurs="0">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern value="[A-Z]{2}"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:element>
+ <xsd:element name="PostalCode" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="Region" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="Municipality" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="DeliveryAddress" minOccurs="0">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="AddressLine" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="StreetName" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="BuildingNumber" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="Unit" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="PostOfficeBox" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Recipient" minOccurs="0" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="PersonName" type="PersonNameType" minOccurs="0"/>
+ <xsd:element name="AdditionalText" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="Organization" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="OrganizationName" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="type" default="undefined">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="postOfficeBoxAddress"/>
+ <xsd:enumeration value="streetAddress"/>
+ <xsd:enumeration value="militaryAddress"/>
+ <xsd:enumeration value="undefined"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:complexType>
+ <xsd:element name="PostalAddress" type="PostalAddressType"/>
+</xsd:schema>
diff --git a/src/main/resources/wsdl/mandate/TelcomNumber-1_0.xsd b/src/main/resources/wsdl/mandate/TelcomNumber-1_0.xsd
new file mode 100644
index 0000000..8bc02d4
--- /dev/null
+++ b/src/main/resources/wsdl/mandate/TelcomNumber-1_0.xsd
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- CHANGES from original HR-XML schema for use with PersonData.xsd:
+ * elementFormDefault set to "qualified" -->
+<!--
+"Copyright The HR-XML Consortium. All Rights Reserved. http://www.hr-xml.org"
+Name: TelcomNumber-1_0.xsd
+Status:Recommendation
+Date this version: 2002-01-31
+Date last version: 2001-12-20
+Purpose: Schema for Telecommunications data.
+Author(s): Don Simonson, Robert Half Int'l., CPO Workgroup
+
+This HR-XML Consortium Work (including specifications, documents,
+software, and related items) is provided by the copyright holders
+under the following license. By obtaining, using and/or copying
+this work, you (the licensee) agree that you have read, understood,
+and will comply with the following terms and conditions.
+
+Permission to use, copy, modify, or redistribute this Work and
+its documentation, with or without modification, for any purpose
+and without fee or royalty is hereby granted, provided that you
+include the following on ALL copies of the software and
+documentation or portions thereof, including modifications,
+that you make:
+
+1. This notice: "Copyright The HR-XML Consortium. All Rights
+ Reserved. http://www.hr-xml.org"
+2. Notice of any changes or modifications to the The HR-XML
+ Consortium files.
+
+THIS WORK, INCLUDING SPECIFICATIONS, DOCUMENTS, SOFTWARE, OR OTHER
+RELATED ITEMS, IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO
+REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
+NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY
+PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION
+WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS
+OR OTHER RIGHTS.
+
+COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT,
+SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE
+SOFTWARE OR DOCUMENTATION.
+
+TITLE TO COPYRIGHT IN THIS WORK AND ANY ASSOCIATED DOCUMENTATION
+WILL AT ALL TIMES REMAIN WITH COPYRIGHT HOLDERS.
+-->
+<xsd:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xsd:group name="TelcomNumberGroup">
+ <xsd:sequence>
+ <xsd:element ref="InternationalCountryCode" minOccurs="0"/>
+ <xsd:element ref="NationalNumber" minOccurs="0"/>
+ <xsd:element ref="AreaCityCode" minOccurs="0"/>
+ <xsd:element ref="SubscriberNumber"/>
+ <xsd:element ref="Extension" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:group>
+ <xsd:element name="FormattedNumber" type="xsd:string"/>
+ <xsd:element name="InternationalCountryCode" type="xsd:string"/>
+ <xsd:element name="NationalNumber" type="xsd:string"/>
+ <xsd:element name="AreaCityCode" type="xsd:string"/>
+ <xsd:element name="SubscriberNumber" type="xsd:string"/>
+ <xsd:complexType name="TelcomNumberType">
+ <xsd:choice>
+ <xsd:element ref="FormattedNumber"/>
+ <xsd:group ref="TelcomNumberGroup"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:element name="Extension" type="xsd:string"/>
+ <xsd:element name="Telephone" type="TelcomNumberType"/>
+ <xsd:element name="Mobile" type="MobileTelcomNumberType"/>
+ <xsd:element name="Fax" type="TelcomNumberType"/>
+ <xsd:element name="Pager" type="TelcomNumberType"/>
+ <xsd:element name="TTYTDD" type="TelcomNumberType"/>
+ <xsd:complexType name="MobileTelcomNumberType">
+ <xsd:complexContent>
+ <xsd:extension base="TelcomNumberType">
+ <xsd:attribute name="smsEnabled" type="xsd:boolean" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="TelcomNumberListType">
+ <xsd:sequence>
+ <xsd:element ref="Telephone" minOccurs="0"/>
+ <xsd:element ref="Mobile" minOccurs="0"/>
+ <xsd:element ref="Fax" minOccurs="0"/>
+ <xsd:element ref="Pager" minOccurs="0"/>
+ <xsd:element ref="TTYTDD" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+</xsd:schema>
diff --git a/src/main/resources/wsdl/mandate/W3C-XMLDSig.xsd b/src/main/resources/wsdl/mandate/W3C-XMLDSig.xsd
new file mode 100644
index 0000000..a232420
--- /dev/null
+++ b/src/main/resources/wsdl/mandate/W3C-XMLDSig.xsd
@@ -0,0 +1,271 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE schema PUBLIC "-//W3C//DTD XMLSchema 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd" [
+ <!ATTLIST schema
+ xmlns:ds CDATA #FIXED "http://www.w3.org/2000/09/xmldsig#"
+>
+ <!ENTITY dsig 'http://www.w3.org/2000/09/xmldsig#'>
+ <!ENTITY % p ''>
+ <!ENTITY % s ''>
+]>
+<!-- Schema for XML Signatures
+ http://www.w3.org/2000/09/xmldsig#
+ $Revision: 1.3 $ on $Date: 2001/08/28 16:14:01 $ by $Author: reagle $
+
+ Copyright 2001 The Internet Society and W3C (Massachusetts Institute
+ of Technology, Institut National de Recherche en Informatique et en
+ Automatique, Keio University). All Rights Reserved.
+ http://www.w3.org/Consortium/Legal/
+
+ This document is governed by the W3C Software License [1] as described
+ in the FAQ [2].
+
+ [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
+ [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
+-->
+<schema targetNamespace="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" version="0.1">
+ <!-- Basic Types Defined for Signatures -->
+ <!-- modified to ensure that whiteSpace is preserved
+<simpleType name="CryptoBinary">
+ <restriction base="base64Binary">
+ </restriction>
+</simpleType>
+ -->
+ <simpleType name="CryptoBinary">
+ <restriction base="string">
+ <whiteSpace value="preserve"/>
+ <pattern value="[A-Za-z0-9\+/=\n\r\t ]*"/>
+ </restriction>
+ </simpleType>
+ <!-- Start Signature -->
+ <element name="Signature" type="ds:SignatureType"/>
+ <complexType name="SignatureType">
+ <sequence>
+ <element ref="ds:SignedInfo"/>
+ <element ref="ds:SignatureValue"/>
+ <element ref="ds:KeyInfo" minOccurs="0"/>
+ <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="SignatureValue" type="ds:SignatureValueType"/>
+ <complexType name="SignatureValueType">
+ <simpleContent>
+ <extension base="ds:CryptoBinary">
+ <attribute name="Id" type="ID" use="optional"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <!-- Start SignedInfo -->
+ <element name="SignedInfo" type="ds:SignedInfoType"/>
+ <complexType name="SignedInfoType">
+ <sequence>
+ <element ref="ds:CanonicalizationMethod"/>
+ <element ref="ds:SignatureMethod"/>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>
+ <complexType name="CanonicalizationMethodType" mixed="true">
+ <sequence>
+ <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
+ <!-- (0,unbounded) elements from (1,1) namespace -->
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <element name="SignatureMethod" type="ds:SignatureMethodType"/>
+ <complexType name="SignatureMethodType" mixed="true">
+ <sequence>
+ <element name="HMACOutputLength" type="ds:HMACOutputLengthType" minOccurs="0"/>
+ <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+ <!-- (0,unbounded) elements from (1,1) external namespace -->
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <!-- Start Reference -->
+ <element name="Reference" type="ds:ReferenceType"/>
+ <complexType name="ReferenceType">
+ <sequence>
+ <element ref="ds:Transforms" minOccurs="0"/>
+ <element ref="ds:DigestMethod"/>
+ <element ref="ds:DigestValue"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ <attribute name="URI" type="anyURI" use="optional"/>
+ <attribute name="Type" type="anyURI" use="optional"/>
+ </complexType>
+ <element name="Transforms" type="ds:TransformsType"/>
+ <complexType name="TransformsType">
+ <sequence>
+ <element ref="ds:Transform" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <element name="Transform" type="ds:TransformType"/>
+ <complexType name="TransformType" mixed="true">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##other" processContents="lax"/>
+ <element name="XPath" type="string"/>
+ <!-- (1,1) elements from (0,unbounded) namespaces -->
+ </choice>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <!-- End Reference -->
+ <element name="DigestMethod" type="ds:DigestMethodType"/>
+ <complexType name="DigestMethodType" mixed="true">
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <element name="DigestValue" type="ds:DigestValueType"/>
+ <simpleType name="DigestValueType">
+ <restriction base="ds:CryptoBinary"/>
+ </simpleType>
+ <!-- End SignedInfo -->
+ <!-- Start KeyInfo -->
+ <element name="KeyInfo" type="ds:KeyInfoType"/>
+ <complexType name="KeyInfoType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <element ref="ds:KeyName"/>
+ <element ref="ds:KeyValue"/>
+ <element ref="ds:RetrievalMethod"/>
+ <element ref="ds:X509Data"/>
+ <element ref="ds:PGPData"/>
+ <element ref="ds:SPKIData"/>
+ <element ref="ds:MgmtData"/>
+ <any namespace="##other" processContents="lax"/>
+ <!-- (1,1) elements from (0,unbounded) namespaces -->
+ </choice>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="KeyName" type="string"/>
+ <element name="MgmtData" type="string"/>
+ <element name="KeyValue" type="ds:KeyValueType"/>
+ <complexType name="KeyValueType" mixed="true">
+ <choice>
+ <element ref="ds:DSAKeyValue"/>
+ <element ref="ds:RSAKeyValue"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ </complexType>
+ <element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
+ <complexType name="RetrievalMethodType">
+ <sequence>
+ <element name="Transforms" type="ds:TransformsType" minOccurs="0"/>
+ </sequence>
+ <attribute name="URI" type="anyURI"/>
+ <attribute name="Type" type="anyURI" use="optional"/>
+ </complexType>
+ <!-- Start X509Data -->
+ <element name="X509Data" type="ds:X509DataType"/>
+ <complexType name="X509DataType">
+ <sequence maxOccurs="unbounded">
+ <choice>
+ <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
+ <element name="X509SKI" type="ds:CryptoBinary"/>
+ <element name="X509SubjectName" type="string"/>
+ <element name="X509Certificate" type="ds:CryptoBinary"/>
+ <element name="X509CRL" type="ds:CryptoBinary"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ </sequence>
+ </complexType>
+ <complexType name="X509IssuerSerialType">
+ <sequence>
+ <element name="X509IssuerName" type="string"/>
+ <element name="X509SerialNumber" type="integer"/>
+ </sequence>
+ </complexType>
+ <!-- End X509Data -->
+ <!-- Begin PGPData -->
+ <element name="PGPData" type="ds:PGPDataType"/>
+ <complexType name="PGPDataType">
+ <choice>
+ <sequence>
+ <element name="PGPKeyID" type="ds:CryptoBinary"/>
+ <element name="PGPKeyPacket" type="ds:CryptoBinary" minOccurs="0"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <sequence>
+ <element name="PGPKeyPacket" type="ds:CryptoBinary"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </choice>
+ </complexType>
+ <!-- End PGPData -->
+ <!-- Begin SPKIData -->
+ <element name="SPKIData" type="ds:SPKIDataType"/>
+ <complexType name="SPKIDataType">
+ <sequence maxOccurs="unbounded">
+ <element name="SPKISexp" type="ds:CryptoBinary"/>
+ <any namespace="##other" processContents="lax" minOccurs="0"/>
+ </sequence>
+ </complexType>
+ <!-- End SPKIData -->
+ <!-- End KeyInfo -->
+ <!-- Start Object (Manifest, SignatureProperty) -->
+ <element name="Object" type="ds:ObjectType"/>
+ <complexType name="ObjectType" mixed="true">
+ <sequence minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##any" processContents="lax"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ <attribute name="MimeType" type="string" use="optional"/>
+ <attribute name="Encoding" type="anyURI" use="optional"/>
+ <!-- add a grep facet -->
+ </complexType>
+ <element name="Manifest" type="ds:ManifestType"/>
+ <complexType name="ManifestType">
+ <sequence>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="SignatureProperties" type="ds:SignaturePropertiesType"/>
+ <complexType name="SignaturePropertiesType">
+ <sequence>
+ <element ref="ds:SignatureProperty" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="SignatureProperty" type="ds:SignaturePropertyType"/>
+ <complexType name="SignaturePropertyType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <any namespace="##other" processContents="lax"/>
+ <!-- (1,1) elements from (1,unbounded) namespaces -->
+ </choice>
+ <attribute name="Target" type="anyURI" use="required"/>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <!-- End Object (Manifest, SignatureProperty) -->
+ <!-- Start Algorithm Parameters -->
+ <simpleType name="HMACOutputLengthType">
+ <restriction base="integer"/>
+ </simpleType>
+ <!-- Start KeyValue Element-types -->
+ <element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
+ <complexType name="DSAKeyValueType">
+ <sequence>
+ <sequence minOccurs="0">
+ <element name="P" type="ds:CryptoBinary"/>
+ <element name="Q" type="ds:CryptoBinary"/>
+ </sequence>
+ <element name="J" type="ds:CryptoBinary" minOccurs="0"/>
+ <element name="G" type="ds:CryptoBinary" minOccurs="0"/>
+ <element name="Y" type="ds:CryptoBinary"/>
+ <sequence minOccurs="0">
+ <element name="Seed" type="ds:CryptoBinary"/>
+ <element name="PgenCounter" type="ds:CryptoBinary"/>
+ </sequence>
+ </sequence>
+ </complexType>
+ <element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
+ <complexType name="RSAKeyValueType">
+ <sequence>
+ <element name="Modulus" type="ds:CryptoBinary"/>
+ <element name="Exponent" type="ds:CryptoBinary"/>
+ </sequence>
+ </complexType>
+ <!-- End KeyValue Element-types -->
+ <!-- End Signature -->
+</schema>
diff --git a/src/main/resources/wsdl/mis/mis-1.0.3.wsdl b/src/main/resources/wsdl/mis/mis-1.0.3.wsdl
new file mode 100644
index 0000000..4d02d43
--- /dev/null
+++ b/src/main/resources/wsdl/mis/mis-1.0.3.wsdl
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://reference.e-government.gv.at/namespace/mandates/mis/1.0/wsdl"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:mis="http://reference.e-government.gv.at/namespace/mandates/mis/1.0/xsd"
+ name="mis"
+ targetNamespace="http://reference.e-government.gv.at/namespace/mandates/mis/1.0/wsdl">
+
+ <xsd:schema targetNamespace="http://reference.e-government.gv.at/namespace/mandates/mis/1.0/wsdl">
+ <xsd:import namespace="http://reference.e-government.gv.at/namespace/mandates/mis/1.0/xsd" schemaLocation="mis-1.0.3.xsd"/>
+ </xsd:schema>
+
+ <message name="MandateIssueRequest">
+ <part name="MandateIssueRequest" element="mis:MandateIssueRequest"/>
+ </message>
+ <message name="MandateIssueResponse">
+ <part name="MandateIssueResponse" element="mis:MandateIssueResponse"/>
+ </message>
+ <portType name="MandateIssuePortType">
+ <operation name="MandateIssueOperation">
+ <input message="tns:MandateIssueRequest"/>
+ <output message="tns:MandateIssueResponse"/>
+ </operation>
+ </portType>
+ <binding name="MandateIssueBinding" type="tns:MandateIssuePortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="MandateIssueOperation">
+ <soap:operation soapAction="mis:MandateIssuePortType#MandateIssueOperation" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="MandateIssueService">
+ <port name="MandateIssuePort" binding="tns:MandateIssueBinding">
+ <soap:address location="http://localhost:8000/mis/MandateIssue"/>
+ </port>
+ </service>
+</definitions>
diff --git a/src/main/resources/wsdl/mis/mis-1.0.3.xsd b/src/main/resources/wsdl/mis/mis-1.0.3.xsd
new file mode 100644
index 0000000..1a3fb14
--- /dev/null
+++ b/src/main/resources/wsdl/mis/mis-1.0.3.xsd
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Mit XMLSpy v2013 sp1 (http://www.altova.com) von Thomas Lenz (Graz University of Technology IAIK) bearbeitet -->
+<!-- edited with XMLSpy v2006 sp2 U (http://www.altova.com) by Arne Tauber (Technische Universität Graz) -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://reference.e-government.gv.at/namespace/mandates/mis/1.0/xsd" targetNamespace="http://reference.e-government.gv.at/namespace/mandates/mis/1.0/xsd" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:element name="MandateIssueRequest" type="MandateIssueRequestType">
+ <xs:annotation>
+ <xs:documentation>Request to MIS</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="MandateIssueRequestType">
+ <xs:choice>
+ <xs:sequence>
+ <xs:element name="IdentityLink" type="xs:base64Binary"/>
+ <xs:element name="X509SignatureCertificate" type="xs:base64Binary" minOccurs="0"/>
+ <xs:element name="OAFriendlyName" type="xs:string" minOccurs="0"/>
+ <xs:element name="RedirectURL" type="xs:anyURI"/>
+ <xs:element name="ReferenceValue">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:minLength value="10"/>
+ <xs:maxLength value="100"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Filters" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="MandateIdentifiers" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Target" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Type" type="xs:anyURI" minOccurs="1"/>
+ <xs:element name="Value" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:element name="SessionID" type="xs:string"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:element name="MandateIdentifiers">
+ <xs:complexType>
+ <xs:sequence maxOccurs="unbounded">
+ <xs:element name="MandateIdentifier" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MandateIssueResponse" type="MandateIssueResponseType">
+ <xs:annotation>
+ <xs:documentation>Response from MIS</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="MandateIssueResponseType">
+ <xs:choice>
+ <xs:sequence>
+ <xs:element name="SessionID" type="xs:string"/>
+ <xs:element name="GuiRedirectURL" type="xs:anyURI"/>
+ </xs:sequence>
+ <xs:element name="Mandates">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Mandate" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:base64Binary">
+ <xs:attribute name="ProfessionalRepresentative" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Organwalter oder berufsm. Parteienvertreter</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="OWbPK" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>bPK des Organwalters</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Error">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Code" type="xs:positiveInteger"/>
+ <xs:element name="Text" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+</xs:schema>
diff --git a/src/main/resources/wsdl/mis/usp/mis-usp-1.0.2.wsdl b/src/main/resources/wsdl/mis/usp/mis-usp-1.0.2.wsdl
new file mode 100644
index 0000000..2a249f3
--- /dev/null
+++ b/src/main/resources/wsdl/mis/usp/mis-usp-1.0.2.wsdl
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://reference.e-government.gv.at/namespace/mandates/mis/usp/1.0.2/wsdl"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:usp="http://reference.e-government.gv.at/namespace/mandates/mis/usp/1.0.2/xsd"
+ name="usp"
+ targetNamespace="http://reference.e-government.gv.at/namespace/mandates/mis/usp/1.0.2/wsdl">
+
+ <xsd:schema targetNamespace="http://reference.e-government.gv.at/namespace/mandates/mis/usp/1.0.2/wsdl">
+ <xsd:import namespace="http://reference.e-government.gv.at/namespace/mandates/mis/usp/1.0.2/xsd" schemaLocation="mis-usp-1.0.2.xsd"/>
+ </xsd:schema>
+
+ <message name="GetMandatesRequest">
+ <part name="GetMandatesRequest" element="usp:GetMandatesRequest"/>
+ </message>
+ <message name="GetMandatesResponse">
+ <part name="GetMandatesResponse" element="usp:GetMandatesResponse"/>
+ </message>
+ <portType name="GetMandatesPortType">
+ <operation name="GetMandatesOperation">
+ <input message="tns:GetMandatesRequest"/>
+ <output message="tns:GetMandatesResponse"/>
+ </operation>
+ </portType>
+ <binding name="GetMandatesBinding" type="tns:GetMandatesPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="GetMandatesOperation">
+ <soap:operation soapAction="usp:GetMandatesPortType#GetMandatesOperation" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="GetMandatesService">
+ <port name="GetMandatesPort" binding="tns:GetMandatesBinding">
+ <soap:address location="http://localhost:8080/usp/GetMandatesService"/>
+ </port>
+ </service>
+</definitions>
diff --git a/src/main/resources/wsdl/mis/usp/mis-usp-1.0.2.xsd b/src/main/resources/wsdl/mis/usp/mis-usp-1.0.2.xsd
new file mode 100644
index 0000000..e958e8d
--- /dev/null
+++ b/src/main/resources/wsdl/mis/usp/mis-usp-1.0.2.xsd
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSpy v2006 sp2 U (http://www.altova.com) by Arne Tauber (Technische Universität Graz) -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://reference.e-government.gv.at/namespace/mandates/mis/usp/1.0.2/xsd" targetNamespace="http://reference.e-government.gv.at/namespace/mandates/mis/usp/1.0.2/xsd" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:element name="GetMandatesRequest">
+ <xs:annotation>
+ <xs:documentation>Request for retrieving electronic mandates</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Identification" type="IdentificationType"/>
+ <xs:element name="MandateFilters" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence maxOccurs="unbounded">
+ <xs:element name="MandateFilter" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="RequestId" type="xs:token" use="required"/>
+ <xs:attribute name="Timestamp" type="xs:dateTime" use="required"/>
+ <xs:attribute name="ApplicationId" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GetMandatesResponse">
+ <xs:annotation>
+ <xs:documentation>Response containing all (filtered) mandates of a specific representative</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:choice>
+ <xs:sequence>
+ <xs:element name="Mandates">
+ <xs:complexType>
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="Mandate">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:base64Binary">
+ <xs:attribute name="MandateFilter"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:sequence>
+ <xs:element name="Error">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Code" type="xs:positiveInteger"/>
+ <xs:element name="Info" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="IdentificationType">
+ <xs:sequence>
+ <xs:element name="Value" type="xs:string"/>
+ <xs:element name="Type" type="xs:anyURI"/>
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
diff --git a/src/main/resources/wsdl/misstork/misstork-1.0.xsd b/src/main/resources/wsdl/misstork/misstork-1.0.xsd
new file mode 100644
index 0000000..9205483
--- /dev/null
+++ b/src/main/resources/wsdl/misstork/misstork-1.0.xsd
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ms="http://reference.e-government.gv.at/namespace/misstork/20131126/xsd" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:mis="http://reference.e-government.gv.at/namespace/mandates/mis/1.0/xsd" targetNamespace="http://reference.e-government.gv.at/namespace/misstork/20131126/xsd" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.0.1">
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#" schemaLocation="../PersonData_20_en_moaWID.xsd"/>
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/mandates/mis/1.0/xsd" schemaLocation="../mis/mis-1.0.3.xsd"/>
+ <xs:element name="MisStorkRequest">
+ <xs:complexType>
+ <xs:choice>
+ <xs:sequence>
+ <xs:element name="StorkMandateType" type="xs:integer" minOccurs="1"/>
+ <xs:element ref="ms:MandatorType" minOccurs="1" maxOccurs="1"/>
+ <xs:element ref="mis:MandateIdentifiers" minOccurs="0"/>
+ </xs:sequence>
+ <xs:sequence>
+ <xs:element ref="ms:ReferenceValue" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="MISMandateType" type="xs:string" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="Mandator">
+ <xs:complexType>
+ <xs:choice>
+ <xs:sequence>
+ <xs:element ref="pr:PhysicalPerson" minOccurs="1" maxOccurs="1"/>
+ </xs:sequence>
+ <xs:sequence>
+ <xs:element ref="pr:CorporateBody" minOccurs="1" maxOccurs="1"/>
+ </xs:sequence>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Representative">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="pr:PhysicalPerson" minOccurs="1" maxOccurs="1"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MisStorkResponse">
+ <xs:complexType>
+ <xs:choice>
+ <xs:sequence>
+ <xs:element name="MISMandateType" type="xs:string" minOccurs="1" maxOccurs="1"/>
+ <xs:element ref="ms:ReferenceValue" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="ERsBMandateType" type="xs:integer" minOccurs="0" maxOccurs="1"/>
+ </xs:sequence>
+ <xs:sequence>
+ <xs:element name="Mandate" type="xs:base64Binary" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MisStorkError">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ErrorCode"/>
+ <xs:element name="Info"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MandatorType">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="jur"/>
+ <xs:enumeration value="nat"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="ReferenceValue">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:minLength value="10"/>
+ <xs:maxLength value="100"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+</xs:schema>
diff --git a/src/main/resources/wsdl/misstork/misstork.wsdl b/src/main/resources/wsdl/misstork/misstork.wsdl
new file mode 100644
index 0000000..615401c
--- /dev/null
+++ b/src/main/resources/wsdl/misstork/misstork.wsdl
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ms="http://reference.e-government.gv.at/namespace/misstork/20131126/xsd" xmlns:tns="http://reference.e-government.gv.at/namespace/misstork/20131126/wsdl" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" name="misstork" targetNamespace="http://reference.e-government.gv.at/namespace/misstork/20131126/wsdl">
+ <wsdl:types>
+ <xs:schema>
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/misstork/20131126/xsd" schemaLocation="misstork-1.0.xsd"/>
+ </xs:schema>
+ </wsdl:types>
+ <wsdl:message name="MisStorkRequest">
+ <wsdl:part name="MisStorkRequest" element="ms:MisStorkRequest"/>
+ </wsdl:message>
+ <wsdl:message name="MisStorkResponse">
+ <wsdl:part name="MisStorkResponse" element="ms:MisStorkResponse"/>
+ </wsdl:message>
+ <wsdl:message name="MisStorkError">
+ <wsdl:part name="MisStorkError" element="ms:MisStorkError"/>
+ </wsdl:message>
+ <wsdl:portType name="MISSTORKType">
+ <wsdl:operation name="MISSTORKOperation">
+ <wsdl:input message="tns:MisStorkRequest"/>
+ <wsdl:output message="tns:MisStorkResponse"/>
+ <wsdl:fault name="MISSTORKError" message="tns:MisStorkError"/>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="MISSTORKBinding" type="tns:MISSTORKType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="MISSTORKOperation">
+ <soap:operation soapAction="ms:MISSTORKType#MISSTORKOperation" style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ <wsdl:fault name="MISSTORKError">
+ <soap:fault name="MISSTORKError" use="literal"/>
+ </wsdl:fault>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="MISSTORKService">
+ <wsdl:port name="MISSTORKPort" binding="tns:MISSTORKBinding">
+ <soap:address location="http://localhost:8000/szr-gateway/IdentityLinkCreation"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/src/main/resources/wsdl/mms/mms-1.0.xsd b/src/main/resources/wsdl/mms/mms-1.0.xsd
new file mode 100644
index 0000000..47e8669
--- /dev/null
+++ b/src/main/resources/wsdl/mms/mms-1.0.xsd
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSpy v2006 sp2 U (http://www.altova.com) by Arne Tauber (Technische Universität Graz) -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://reference.e-government.gv.at/namespace/mandates/mms/1.0/xsd" targetNamespace="http://reference.e-government.gv.at/namespace/mandates/mms/1.0/xsd" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:element name="GetMandatesRequest">
+ <xs:annotation>
+ <xs:documentation>Comment describing your root element</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ssPIN" type="xs:string"/>
+ <xs:element name="MandateIdentifiers" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence maxOccurs="unbounded">
+ <xs:element name="MandateIdentifier" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GetMandatesResponse">
+ <xs:complexType>
+ <xs:choice>
+ <xs:sequence>
+ <xs:element name="ssPIN" type="xs:string"/>
+ <xs:element name="Mandates">
+ <xs:complexType>
+ <xs:sequence maxOccurs="unbounded">
+ <xs:element name="Mandate" type="xs:base64Binary"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:sequence>
+ <xs:element name="ErrorResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Code" type="xs:positiveInteger"/>
+ <xs:element name="Info" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/src/main/resources/wsdl/mms/mms.wsdl b/src/main/resources/wsdl/mms/mms.wsdl
new file mode 100644
index 0000000..70dcf96
--- /dev/null
+++ b/src/main/resources/wsdl/mms/mms.wsdl
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://reference.e-government.gv.at/namespace/mandates/mms/1.0/wsdl"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:mms="http://reference.e-government.gv.at/namespace/mandates/mms/1.0/xsd"
+ name="mms"
+ targetNamespace="http://reference.e-government.gv.at/namespace/mandates/mms/1.0/wsdl">
+
+ <xsd:schema targetNamespace="http://reference.e-government.gv.at/namespace/mandates/mms/1.0/wsdl">
+ <xsd:import namespace="http://reference.e-government.gv.at/namespace/mandates/mms/1.0/xsd" schemaLocation="mms-1.0.xsd"/>
+ </xsd:schema>
+
+ <message name="GetMandatesRequest">
+ <part name="GetMandatesRequest" element="mms:GetMandatesRequest"/>
+ </message>
+ <message name="GetMandatesResponse">
+ <part name="GetMandatesResponse" element="mms:GetMandatesResponse"/>
+ </message>
+ <portType name="GetMandatesPortType">
+ <operation name="GetMandatesOperation">
+ <input message="tns:GetMandatesRequest"/>
+ <output message="tns:GetMandatesResponse"/>
+ </operation>
+ </portType>
+ <binding name="GetMandatesBinding" type="tns:GetMandatesPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="GetMandatesOperation">
+ <soap:operation soapAction="mis:GetMandatesPortType#GetMandatesOperation" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="GetMandatesService">
+ <port name="GetMandatesPort" binding="tns:GetMandatesBinding">
+ <soap:address location="http://localhost:8000/mms/GetMandates"/>
+ </port>
+ </service>
+</definitions>
diff --git a/src/main/resources/wsdl/mzs/app2mzs.wsdl b/src/main/resources/wsdl/mzs/app2mzs.wsdl
new file mode 100644
index 0000000..1667809
--- /dev/null
+++ b/src/main/resources/wsdl/mzs/app2mzs.wsdl
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions
+ name="app2mzs"
+ targetNamespace="http://reference.e-government.gv.at/namespace/app2mzs.wsdl"
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
+ xmlns:mzs="http://reference.e-government.gv.at/namespace/moazs10/app2mzs#"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://reference.e-government.gv.at/namespace/app2mzs.wsdl"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+
+ <xsd:schema targetNamespace="http://reference.e-government.gv.at/namespace/app2mzs.wsdl">
+ <xsd:import schemaLocation="app2mzs.xsd" namespace="http://reference.e-government.gv.at/namespace/moazs10/app2mzs#" />
+ </xsd:schema>
+
+
+ <message name="DeliveryRequest">
+ <part name="DeliveryRequest" element="mzs:DeliveryRequest"/>
+ </message>
+ <message name="DeliveryResponse">
+ <part name="DeliveryResponse" element="mzs:DeliveryResponse"/>
+ </message>
+ <portType name="app2mzsPortType">
+ <operation name="app2mzs">
+ <input message="tns:DeliveryRequest"/>
+ <output message="tns:DeliveryResponse"/>
+ </operation>
+ </portType>
+ <binding name="app2mzsBinding" type="tns:app2mzsPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="app2mzs">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <soap:body parts="DeliveryRequest" use="literal"/>
+ </input>
+ <output>
+ <soap:body parts="DeliveryResponse" use="literal"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="app2mzs">
+ <port binding="tns:app2mzsBinding" name="app2mzsPort">
+ <soap:address location="http://localhost:8080/moa-zs/services/DeliveryRequest"/>
+ </port>
+ </service>
+</definitions>
diff --git a/src/main/resources/wsdl/mzs/app2mzs.xsd b/src/main/resources/wsdl/mzs/app2mzs.xsd
new file mode 100644
index 0000000..b15d375
--- /dev/null
+++ b/src/main/resources/wsdl/mzs/app2mzs.xsd
@@ -0,0 +1,307 @@
+<?xml version="1.0"?>
+<!-- edited with XMLSpy v2006 sp2 U (http://www.altova.com) by Arne Tauber (Technische Universität Graz) -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:p="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns="http://reference.e-government.gv.at/namespace/moazs10/app2mzs#" targetNamespace="http://reference.e-government.gv.at/namespace/moazs10/app2mzs#" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#" schemaLocation="mzs_mypersondata_en.xsd"/>
+ <!--### Webservice Nachrichten: Request-Response ###-->
+ <!--### Zustellstückanlieferung, synchronous communication ###-->
+ <xs:element name="DeliveryRequest" type="DeliveryRequestType"/>
+ <xs:complexType name="DeliveryRequestType">
+ <xs:sequence>
+ <xs:element name="Server" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Falls angegeben, wird keine Zustellkopfabfrage durchgeführt.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ZUSEUrlID" type="xs:anyURI"/>
+ <xs:element name="X509" type="xs:base64Binary" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Sender">
+ <xs:annotation>
+ <xs:documentation>Alle weiteren Daten sind im Konfigurationsprofil gespeichert</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="ProfileID" type="xs:string"/>
+ <xs:sequence>
+ <xs:element ref="p:Person"/>
+ <xs:element ref="p:Address" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:choice>
+ <xs:element name="WebserviceURL" type="xs:anyURI"/>
+ <xs:element name="EMailAddress" type="xs:string"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:choice>
+ <xs:sequence>
+ <xs:element name="SignatureKeyID" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>fuer Signatur mit MOA-SS</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element ref="Receiver"/>
+ <xs:element name="MetaData">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="AppDeliveryID"/>
+ <xs:element name="DeliveryQuality">
+ <xs:annotation>
+ <xs:documentation>RSa oder non-RSa</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="RSa"/>
+ <xs:enumeration value="RSa+"/>
+ <xs:enumeration value="nonRSa"/>
+ <xs:enumeration value="nonRSa+"/>
+ <xs:enumeration value="R"/>
+ <xs:enumeration value="R+"/>
+ <xs:enumeration value="RS"/>
+ <xs:enumeration value="RS+"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="RequiresEncryption" type="xs:boolean"/>
+ <xs:element name="PrivateDelivery" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="DocumentClass" minOccurs="0">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:maxLength value="255"/>
+ <xs:minLength value="1"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="DualDelivery" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="DualDeliveryServer" type="xs:string" minOccurs="0"/>
+ <xs:element name="PrintParameter" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any namespace="##any" processContents="skip" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="profile" type="xs:anyURI" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MailBody" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Optional mail body</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MimeType" type="xs:token"/>
+ <xs:element name="Content" type="xs:base64Binary"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="XMLDocument" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="XMLContent">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any namespace="##any" processContents="lax"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:choice>
+ <xs:element name="XMLProfileID"/>
+ <xs:sequence>
+ <xs:element name="FileName" type="xs:token"/>
+ <xs:element name="MIMEType" type="xs:token"/>
+ <xs:element name="ResultingMIMEType" type="xs:token"/>
+ <xs:element name="SignatureXPath">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Index" type="xs:integer" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SignatureStylesheet">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="XMLContent">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any namespace="##any" processContents="lax"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PreviewStylesheet" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="FileName" type="xs:token"/>
+ <xs:element name="XMLContent">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any namespace="##any" processContents="lax"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Payload" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:choice>
+ <xs:element name="BinaryDocument">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Base64Content" type="xs:base64Binary"/>
+ <xs:element name="FileName" type="xs:token"/>
+ <xs:element name="MIMEType" type="xs:token"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="DocumentReference">
+ <xs:annotation>
+ <xs:documentation>URL fuer Callback Attachment</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="URL" type="xs:anyURI"/>
+ <xs:element name="FileName" type="xs:token"/>
+ <xs:element name="MIMEType" type="xs:token"/>
+ <xs:element name="MD5Checksum" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="sync" type="xs:boolean"/>
+ </xs:complexType>
+ <xs:element name="DeliveryResponse" type="DeliveryResponseType"/>
+ <xs:complexType name="DeliveryResponseType">
+ <xs:choice>
+ <xs:element ref="PartialSuccess"/>
+ <xs:element ref="Success"/>
+ <xs:element ref="Error"/>
+ </xs:choice>
+ </xs:complexType>
+ <!--### ProgressNotifiaction, Failure notices, asynchronous communication ###-->
+ <xs:element name="DeliveryNotification" type="DeliveryNotificationType">
+ <xs:annotation>
+ <xs:documentation>asynchronous communication moazs2app</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="DeliveryNotificationType">
+ <xs:choice>
+ <xs:element ref="Success"/>
+ <xs:element ref="Error"/>
+ <xs:element ref="DeliveryStatement"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:element name="DeliveryNotificationACK" type="DeliveryNotificationACKType">
+ <xs:annotation>
+ <xs:documentation>Webservice Response of ZSDeliveryNotification</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="DeliveryNotificationACKType">
+ <xs:sequence>
+ <xs:element ref="AppDeliveryID"/>
+ <xs:element ref="MZSDeliveryID"/>
+ </xs:sequence>
+ </xs:complexType>
+ <!--### Globale Elemente ###-->
+ <xs:element name="AppDeliveryID" nillable="false">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:minLength value="1"/>
+ <xs:maxLength value="255"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="MZSDeliveryID" type="xs:string"/>
+ <xs:element name="Receiver" type="p:PersonDataType"/>
+ <!--### Response/Notification Untertypen ###-->
+ <xs:element name="Success" type="SuccessType">
+ <xs:annotation>
+ <xs:documentation>Zustellstück was successfully delivered to MOA-ZS</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="SuccessType">
+ <xs:complexContent>
+ <xs:extension base="MessageType"/>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="PartialSuccess" type="PartialSuccessType">
+ <xs:annotation>
+ <xs:documentation>Delivery Information was successfully delivered to MOA-ZS, Attachements will be loaded</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="PartialSuccessType">
+ <xs:complexContent>
+ <xs:extension base="MessageType"/>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="Error" type="ErrorType">
+ <xs:annotation>
+ <xs:documentation>Delivery to MOA-ZS failed, or there was an error in processing</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="ErrorType">
+ <xs:complexContent>
+ <xs:extension base="MessageType">
+ <xs:sequence>
+ <xs:element name="Code" type="xs:integer"/>
+ <xs:element name="Text" type="xs:string"/>
+ <xs:element name="DocumentReference" type="xs:anyURI" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>download of callback attachment failed</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="DeliveryStatement" type="DeliveryStatementType">
+ <xs:annotation>
+ <xs:documentation>Zustellstück was successfully forwarded to the Zustellserver</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="DeliveryStatementType">
+ <xs:complexContent>
+ <xs:extension base="MessageType">
+ <xs:sequence>
+ <xs:element name="DeliveryServer" type="xs:anyURI"/>
+ <xs:element name="ZSDeliveryID" type="xs:token"/>
+ <xs:element name="Timestamp" type="xs:dateTime"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <!--### Abstrakter Antworten Typ ###-->
+ <xs:complexType name="MessageType">
+ <xs:annotation>
+ <xs:documentation>abstract message type</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element ref="AppDeliveryID"/>
+ <xs:element ref="MZSDeliveryID"/>
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
diff --git a/src/main/resources/wsdl/mzs/mzs_mypersondata_en.xsd b/src/main/resources/wsdl/mzs/mzs_mypersondata_en.xsd
new file mode 100644
index 0000000..bc48eb9
--- /dev/null
+++ b/src/main/resources/wsdl/mzs/mzs_mypersondata_en.xsd
@@ -0,0 +1,267 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+PersonData Blueprint solution for use with MZS Spezifikation, containes slimmed down version of PersonData 2.0 spec with special consideration to MZS Needs, compatible with PersonData 2.0
+-->
+<xs:schema xmlns="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0.0">
+ <!-- <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="W3C-XMLDSig.xsd"/> -->
+ <xs:annotation>
+ <xs:documentation>This version of person deploys only global elements. All types derived from abstract types have been replaced by substitution groups</xs:documentation>
+ </xs:annotation>
+ <!-- ### signed structure of a person ### -->
+ <xs:element name="AbstractPersonData" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>dummy abstract Peson Data element needed for bi-lingual schema (substitution groups)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PersonData" type="PersonDataType">
+ <xs:annotation>
+ <xs:documentation>element of signed person datastructure type</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- ### base type for person data ### -->
+ <xs:element name="Person" type="AbstractPersonType"/>
+ <!-- ### physical person and corporate body ### -->
+ <xs:element name="PhysicalPerson" type="PhysicalPersonType" substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CorporateBody" type="CorporateBodyType" substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Name" type="PersonNameType">
+ <xs:annotation>
+ <xs:documentation>data related to the person's name</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="DateOfBirth" type="xs:date">
+ <xs:annotation>
+ <xs:documentation>date of birth, compare Geburtsdatum</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- ### adress data for various types of communications ### -->
+ <xs:element name="Address" type="AbstractAddressType"/>
+ <xs:element name="PostalAddress" type="PostalAddressType" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Postal or ZMR Address, compare PostAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InternetAddress" type="InternetAddressType" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>element of internet address type</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TelephoneAddress" type="TelephoneAddressType" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>element of TelephoneAddressType, compare TelefonAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!--### elements of simple type ####-->
+ <xs:element name="FormattedNumber" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Complete Number ready formated, spaces are meaningless, e.g. +43 1 524 123 456</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!--### Complex types ###-->
+ <xs:complexType name="PersonDataType">
+ <xs:annotation>
+ <xs:documentation>signed person datastructure. The first Identification elements (from the base type) denote the record as such (e.g. database key for this record) - not to be mistaken for identifiers of the person or of an address (they have their own Identification elements).</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element ref="Person"/>
+ <xs:element ref="Address" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="IdentificationType">
+ <xs:annotation>
+ <xs:documentation>unique identifier</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Value">
+ <xs:annotation>
+ <xs:documentation>actual value of the identifier.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Type" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>type of valueas a urn e.g. urn:publicid:gv.at:cdid+ZS</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ <xs:anyAttribute namespace="##other"/>
+ </xs:complexType>
+ <xs:complexType name="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>main structure of person data</xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0">
+ <xs:element name="Identification" type="IdentificationType" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>bPK, ZbPK, vZbPK goes here</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ <xs:anyAttribute namespace="##other"/>
+ </xs:complexType>
+ <xs:complexType name="PhysicalPersonType">
+ <xs:annotation>
+ <xs:documentation>physical person</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="Name"/>
+ <xs:element ref="DateOfBirth" minOccurs="0"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="PersonNameType">
+ <xs:sequence>
+ <xs:element name="GivenName" type="xs:string"/>
+ <xs:element name="FamilyName">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="primary" default="undefined">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ <xs:enumeration value="undefined"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="prefix" type="xs:string"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CorporateBodyType">
+ <xs:annotation>
+ <xs:documentation>juridical person, organisation</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="FullName" type="xs:token">
+ <xs:annotation>
+ <xs:documentation>name of corporate body (whole name), compare VollerName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Organization" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>part of an organisation, see also X.500 ou (eg departement, section, branch, ...) , compare Organisation</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>main structure of address data</xs:documentation>
+ </xs:annotation>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ <xs:anyAttribute namespace="##other"/>
+ </xs:complexType>
+ <xs:complexType name="PostalAddressType">
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence>
+ <xs:element name="CountryCode" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Code for the country, use ISO or internatinal Postalstandard, compare Staatscode</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{2}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="PostalCode" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>ZIP, compare Postleitzahl</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Municipality" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>compare Gemeinde</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="DeliveryAddress">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="StreetName" type="xs:string"/>
+ <xs:element name="BuildingNumber" type="xs:string"/>
+ <xs:element name="Unit" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Stiege oder näheren Bezeichnung wie z.b. Werkstatt</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="DoorNumber" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="TelcomNumberType">
+ <xs:sequence>
+ <xs:element ref="FormattedNumber"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="InternetAddressType">
+ <xs:annotation>
+ <xs:documentation>internet based communication</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="Address" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>URI: email-Address, Web, FTP, LDAP, ..., comapre Adress</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="TelephoneAddressType">
+ <xs:annotation>
+ <xs:documentation>phone numbers</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence>
+ <xs:element name="Number" type="TelcomNumberType">
+ <xs:annotation>
+ <xs:documentation>phonenumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <!-- ### strings of defined maximum lenght for use with ZMR address #### -->
+ <xs:simpleType name="DateOfBirthType">
+ <xs:annotation>
+ <xs:documentation>simple type for dates (union), which may omit day and/or month</xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear"/>
+ </xs:simpleType>
+</xs:schema>
diff --git a/src/main/resources/wsdl/omsp/W3C-XMLDSig.xsd b/src/main/resources/wsdl/omsp/W3C-XMLDSig.xsd
new file mode 100644
index 0000000..a232420
--- /dev/null
+++ b/src/main/resources/wsdl/omsp/W3C-XMLDSig.xsd
@@ -0,0 +1,271 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE schema PUBLIC "-//W3C//DTD XMLSchema 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd" [
+ <!ATTLIST schema
+ xmlns:ds CDATA #FIXED "http://www.w3.org/2000/09/xmldsig#"
+>
+ <!ENTITY dsig 'http://www.w3.org/2000/09/xmldsig#'>
+ <!ENTITY % p ''>
+ <!ENTITY % s ''>
+]>
+<!-- Schema for XML Signatures
+ http://www.w3.org/2000/09/xmldsig#
+ $Revision: 1.3 $ on $Date: 2001/08/28 16:14:01 $ by $Author: reagle $
+
+ Copyright 2001 The Internet Society and W3C (Massachusetts Institute
+ of Technology, Institut National de Recherche en Informatique et en
+ Automatique, Keio University). All Rights Reserved.
+ http://www.w3.org/Consortium/Legal/
+
+ This document is governed by the W3C Software License [1] as described
+ in the FAQ [2].
+
+ [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
+ [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
+-->
+<schema targetNamespace="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" version="0.1">
+ <!-- Basic Types Defined for Signatures -->
+ <!-- modified to ensure that whiteSpace is preserved
+<simpleType name="CryptoBinary">
+ <restriction base="base64Binary">
+ </restriction>
+</simpleType>
+ -->
+ <simpleType name="CryptoBinary">
+ <restriction base="string">
+ <whiteSpace value="preserve"/>
+ <pattern value="[A-Za-z0-9\+/=\n\r\t ]*"/>
+ </restriction>
+ </simpleType>
+ <!-- Start Signature -->
+ <element name="Signature" type="ds:SignatureType"/>
+ <complexType name="SignatureType">
+ <sequence>
+ <element ref="ds:SignedInfo"/>
+ <element ref="ds:SignatureValue"/>
+ <element ref="ds:KeyInfo" minOccurs="0"/>
+ <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="SignatureValue" type="ds:SignatureValueType"/>
+ <complexType name="SignatureValueType">
+ <simpleContent>
+ <extension base="ds:CryptoBinary">
+ <attribute name="Id" type="ID" use="optional"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <!-- Start SignedInfo -->
+ <element name="SignedInfo" type="ds:SignedInfoType"/>
+ <complexType name="SignedInfoType">
+ <sequence>
+ <element ref="ds:CanonicalizationMethod"/>
+ <element ref="ds:SignatureMethod"/>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>
+ <complexType name="CanonicalizationMethodType" mixed="true">
+ <sequence>
+ <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
+ <!-- (0,unbounded) elements from (1,1) namespace -->
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <element name="SignatureMethod" type="ds:SignatureMethodType"/>
+ <complexType name="SignatureMethodType" mixed="true">
+ <sequence>
+ <element name="HMACOutputLength" type="ds:HMACOutputLengthType" minOccurs="0"/>
+ <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+ <!-- (0,unbounded) elements from (1,1) external namespace -->
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <!-- Start Reference -->
+ <element name="Reference" type="ds:ReferenceType"/>
+ <complexType name="ReferenceType">
+ <sequence>
+ <element ref="ds:Transforms" minOccurs="0"/>
+ <element ref="ds:DigestMethod"/>
+ <element ref="ds:DigestValue"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ <attribute name="URI" type="anyURI" use="optional"/>
+ <attribute name="Type" type="anyURI" use="optional"/>
+ </complexType>
+ <element name="Transforms" type="ds:TransformsType"/>
+ <complexType name="TransformsType">
+ <sequence>
+ <element ref="ds:Transform" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <element name="Transform" type="ds:TransformType"/>
+ <complexType name="TransformType" mixed="true">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##other" processContents="lax"/>
+ <element name="XPath" type="string"/>
+ <!-- (1,1) elements from (0,unbounded) namespaces -->
+ </choice>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <!-- End Reference -->
+ <element name="DigestMethod" type="ds:DigestMethodType"/>
+ <complexType name="DigestMethodType" mixed="true">
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <element name="DigestValue" type="ds:DigestValueType"/>
+ <simpleType name="DigestValueType">
+ <restriction base="ds:CryptoBinary"/>
+ </simpleType>
+ <!-- End SignedInfo -->
+ <!-- Start KeyInfo -->
+ <element name="KeyInfo" type="ds:KeyInfoType"/>
+ <complexType name="KeyInfoType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <element ref="ds:KeyName"/>
+ <element ref="ds:KeyValue"/>
+ <element ref="ds:RetrievalMethod"/>
+ <element ref="ds:X509Data"/>
+ <element ref="ds:PGPData"/>
+ <element ref="ds:SPKIData"/>
+ <element ref="ds:MgmtData"/>
+ <any namespace="##other" processContents="lax"/>
+ <!-- (1,1) elements from (0,unbounded) namespaces -->
+ </choice>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="KeyName" type="string"/>
+ <element name="MgmtData" type="string"/>
+ <element name="KeyValue" type="ds:KeyValueType"/>
+ <complexType name="KeyValueType" mixed="true">
+ <choice>
+ <element ref="ds:DSAKeyValue"/>
+ <element ref="ds:RSAKeyValue"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ </complexType>
+ <element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
+ <complexType name="RetrievalMethodType">
+ <sequence>
+ <element name="Transforms" type="ds:TransformsType" minOccurs="0"/>
+ </sequence>
+ <attribute name="URI" type="anyURI"/>
+ <attribute name="Type" type="anyURI" use="optional"/>
+ </complexType>
+ <!-- Start X509Data -->
+ <element name="X509Data" type="ds:X509DataType"/>
+ <complexType name="X509DataType">
+ <sequence maxOccurs="unbounded">
+ <choice>
+ <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
+ <element name="X509SKI" type="ds:CryptoBinary"/>
+ <element name="X509SubjectName" type="string"/>
+ <element name="X509Certificate" type="ds:CryptoBinary"/>
+ <element name="X509CRL" type="ds:CryptoBinary"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ </sequence>
+ </complexType>
+ <complexType name="X509IssuerSerialType">
+ <sequence>
+ <element name="X509IssuerName" type="string"/>
+ <element name="X509SerialNumber" type="integer"/>
+ </sequence>
+ </complexType>
+ <!-- End X509Data -->
+ <!-- Begin PGPData -->
+ <element name="PGPData" type="ds:PGPDataType"/>
+ <complexType name="PGPDataType">
+ <choice>
+ <sequence>
+ <element name="PGPKeyID" type="ds:CryptoBinary"/>
+ <element name="PGPKeyPacket" type="ds:CryptoBinary" minOccurs="0"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <sequence>
+ <element name="PGPKeyPacket" type="ds:CryptoBinary"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </choice>
+ </complexType>
+ <!-- End PGPData -->
+ <!-- Begin SPKIData -->
+ <element name="SPKIData" type="ds:SPKIDataType"/>
+ <complexType name="SPKIDataType">
+ <sequence maxOccurs="unbounded">
+ <element name="SPKISexp" type="ds:CryptoBinary"/>
+ <any namespace="##other" processContents="lax" minOccurs="0"/>
+ </sequence>
+ </complexType>
+ <!-- End SPKIData -->
+ <!-- End KeyInfo -->
+ <!-- Start Object (Manifest, SignatureProperty) -->
+ <element name="Object" type="ds:ObjectType"/>
+ <complexType name="ObjectType" mixed="true">
+ <sequence minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##any" processContents="lax"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ <attribute name="MimeType" type="string" use="optional"/>
+ <attribute name="Encoding" type="anyURI" use="optional"/>
+ <!-- add a grep facet -->
+ </complexType>
+ <element name="Manifest" type="ds:ManifestType"/>
+ <complexType name="ManifestType">
+ <sequence>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="SignatureProperties" type="ds:SignaturePropertiesType"/>
+ <complexType name="SignaturePropertiesType">
+ <sequence>
+ <element ref="ds:SignatureProperty" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="SignatureProperty" type="ds:SignaturePropertyType"/>
+ <complexType name="SignaturePropertyType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <any namespace="##other" processContents="lax"/>
+ <!-- (1,1) elements from (1,unbounded) namespaces -->
+ </choice>
+ <attribute name="Target" type="anyURI" use="required"/>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <!-- End Object (Manifest, SignatureProperty) -->
+ <!-- Start Algorithm Parameters -->
+ <simpleType name="HMACOutputLengthType">
+ <restriction base="integer"/>
+ </simpleType>
+ <!-- Start KeyValue Element-types -->
+ <element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
+ <complexType name="DSAKeyValueType">
+ <sequence>
+ <sequence minOccurs="0">
+ <element name="P" type="ds:CryptoBinary"/>
+ <element name="Q" type="ds:CryptoBinary"/>
+ </sequence>
+ <element name="J" type="ds:CryptoBinary" minOccurs="0"/>
+ <element name="G" type="ds:CryptoBinary" minOccurs="0"/>
+ <element name="Y" type="ds:CryptoBinary"/>
+ <sequence minOccurs="0">
+ <element name="Seed" type="ds:CryptoBinary"/>
+ <element name="PgenCounter" type="ds:CryptoBinary"/>
+ </sequence>
+ </sequence>
+ </complexType>
+ <element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
+ <complexType name="RSAKeyValueType">
+ <sequence>
+ <element name="Modulus" type="ds:CryptoBinary"/>
+ <element name="Exponent" type="ds:CryptoBinary"/>
+ </sequence>
+ </complexType>
+ <!-- End KeyValue Element-types -->
+ <!-- End Signature -->
+</schema>
diff --git a/src/main/resources/wsdl/omsp/omsp.xsd b/src/main/resources/wsdl/omsp/omsp.xsd
new file mode 100644
index 0000000..fbc27c6
--- /dev/null
+++ b/src/main/resources/wsdl/omsp/omsp.xsd
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<!-- edited with XMLSpy v2006 sp2 U (http://www.altova.com) by Arne Tauber (Technische Universität Graz) -->
+<!--W3C Schema generated by XMLSpy v2006 sp2 U (http://www.altova.com)-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns="http://reference.e-government.gv.at/namespace/moavv/20070102#" targetNamespace="http://reference.e-government.gv.at/namespace/moavv/20070102#" elementFormDefault="qualified">
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="W3C-XMLDSig.xsd"/>
+ <xs:element name="MandateID">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="asdfasdf"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="SignedStatusResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="StatusResponse" maxOccurs="unbounded"/>
+ <xs:element ref="dsig:Signature"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SimpleResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="MandateID"/>
+ <xs:element ref="StatusDate"/>
+ <xs:element ref="Status"/>
+ <xs:element ref="RevocationDate"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Status">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="unknown"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="RevocationDate">
+ <xs:simpleType>
+ <xs:restriction base="xs:dateTime"/>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="StatusDate">
+ <xs:simpleType>
+ <xs:restriction base="xs:dateTime"/>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="StatusResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="SimpleResponse" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="ID" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="unknown"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/src/main/resources/wsdl/sl/W3C-XMLDSig.xsd b/src/main/resources/wsdl/sl/W3C-XMLDSig.xsd
new file mode 100644
index 0000000..a232420
--- /dev/null
+++ b/src/main/resources/wsdl/sl/W3C-XMLDSig.xsd
@@ -0,0 +1,271 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE schema PUBLIC "-//W3C//DTD XMLSchema 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd" [
+ <!ATTLIST schema
+ xmlns:ds CDATA #FIXED "http://www.w3.org/2000/09/xmldsig#"
+>
+ <!ENTITY dsig 'http://www.w3.org/2000/09/xmldsig#'>
+ <!ENTITY % p ''>
+ <!ENTITY % s ''>
+]>
+<!-- Schema for XML Signatures
+ http://www.w3.org/2000/09/xmldsig#
+ $Revision: 1.3 $ on $Date: 2001/08/28 16:14:01 $ by $Author: reagle $
+
+ Copyright 2001 The Internet Society and W3C (Massachusetts Institute
+ of Technology, Institut National de Recherche en Informatique et en
+ Automatique, Keio University). All Rights Reserved.
+ http://www.w3.org/Consortium/Legal/
+
+ This document is governed by the W3C Software License [1] as described
+ in the FAQ [2].
+
+ [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
+ [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
+-->
+<schema targetNamespace="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" version="0.1">
+ <!-- Basic Types Defined for Signatures -->
+ <!-- modified to ensure that whiteSpace is preserved
+<simpleType name="CryptoBinary">
+ <restriction base="base64Binary">
+ </restriction>
+</simpleType>
+ -->
+ <simpleType name="CryptoBinary">
+ <restriction base="string">
+ <whiteSpace value="preserve"/>
+ <pattern value="[A-Za-z0-9\+/=\n\r\t ]*"/>
+ </restriction>
+ </simpleType>
+ <!-- Start Signature -->
+ <element name="Signature" type="ds:SignatureType"/>
+ <complexType name="SignatureType">
+ <sequence>
+ <element ref="ds:SignedInfo"/>
+ <element ref="ds:SignatureValue"/>
+ <element ref="ds:KeyInfo" minOccurs="0"/>
+ <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="SignatureValue" type="ds:SignatureValueType"/>
+ <complexType name="SignatureValueType">
+ <simpleContent>
+ <extension base="ds:CryptoBinary">
+ <attribute name="Id" type="ID" use="optional"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <!-- Start SignedInfo -->
+ <element name="SignedInfo" type="ds:SignedInfoType"/>
+ <complexType name="SignedInfoType">
+ <sequence>
+ <element ref="ds:CanonicalizationMethod"/>
+ <element ref="ds:SignatureMethod"/>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>
+ <complexType name="CanonicalizationMethodType" mixed="true">
+ <sequence>
+ <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
+ <!-- (0,unbounded) elements from (1,1) namespace -->
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <element name="SignatureMethod" type="ds:SignatureMethodType"/>
+ <complexType name="SignatureMethodType" mixed="true">
+ <sequence>
+ <element name="HMACOutputLength" type="ds:HMACOutputLengthType" minOccurs="0"/>
+ <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+ <!-- (0,unbounded) elements from (1,1) external namespace -->
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <!-- Start Reference -->
+ <element name="Reference" type="ds:ReferenceType"/>
+ <complexType name="ReferenceType">
+ <sequence>
+ <element ref="ds:Transforms" minOccurs="0"/>
+ <element ref="ds:DigestMethod"/>
+ <element ref="ds:DigestValue"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ <attribute name="URI" type="anyURI" use="optional"/>
+ <attribute name="Type" type="anyURI" use="optional"/>
+ </complexType>
+ <element name="Transforms" type="ds:TransformsType"/>
+ <complexType name="TransformsType">
+ <sequence>
+ <element ref="ds:Transform" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <element name="Transform" type="ds:TransformType"/>
+ <complexType name="TransformType" mixed="true">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##other" processContents="lax"/>
+ <element name="XPath" type="string"/>
+ <!-- (1,1) elements from (0,unbounded) namespaces -->
+ </choice>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <!-- End Reference -->
+ <element name="DigestMethod" type="ds:DigestMethodType"/>
+ <complexType name="DigestMethodType" mixed="true">
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <element name="DigestValue" type="ds:DigestValueType"/>
+ <simpleType name="DigestValueType">
+ <restriction base="ds:CryptoBinary"/>
+ </simpleType>
+ <!-- End SignedInfo -->
+ <!-- Start KeyInfo -->
+ <element name="KeyInfo" type="ds:KeyInfoType"/>
+ <complexType name="KeyInfoType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <element ref="ds:KeyName"/>
+ <element ref="ds:KeyValue"/>
+ <element ref="ds:RetrievalMethod"/>
+ <element ref="ds:X509Data"/>
+ <element ref="ds:PGPData"/>
+ <element ref="ds:SPKIData"/>
+ <element ref="ds:MgmtData"/>
+ <any namespace="##other" processContents="lax"/>
+ <!-- (1,1) elements from (0,unbounded) namespaces -->
+ </choice>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="KeyName" type="string"/>
+ <element name="MgmtData" type="string"/>
+ <element name="KeyValue" type="ds:KeyValueType"/>
+ <complexType name="KeyValueType" mixed="true">
+ <choice>
+ <element ref="ds:DSAKeyValue"/>
+ <element ref="ds:RSAKeyValue"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ </complexType>
+ <element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
+ <complexType name="RetrievalMethodType">
+ <sequence>
+ <element name="Transforms" type="ds:TransformsType" minOccurs="0"/>
+ </sequence>
+ <attribute name="URI" type="anyURI"/>
+ <attribute name="Type" type="anyURI" use="optional"/>
+ </complexType>
+ <!-- Start X509Data -->
+ <element name="X509Data" type="ds:X509DataType"/>
+ <complexType name="X509DataType">
+ <sequence maxOccurs="unbounded">
+ <choice>
+ <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
+ <element name="X509SKI" type="ds:CryptoBinary"/>
+ <element name="X509SubjectName" type="string"/>
+ <element name="X509Certificate" type="ds:CryptoBinary"/>
+ <element name="X509CRL" type="ds:CryptoBinary"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ </sequence>
+ </complexType>
+ <complexType name="X509IssuerSerialType">
+ <sequence>
+ <element name="X509IssuerName" type="string"/>
+ <element name="X509SerialNumber" type="integer"/>
+ </sequence>
+ </complexType>
+ <!-- End X509Data -->
+ <!-- Begin PGPData -->
+ <element name="PGPData" type="ds:PGPDataType"/>
+ <complexType name="PGPDataType">
+ <choice>
+ <sequence>
+ <element name="PGPKeyID" type="ds:CryptoBinary"/>
+ <element name="PGPKeyPacket" type="ds:CryptoBinary" minOccurs="0"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <sequence>
+ <element name="PGPKeyPacket" type="ds:CryptoBinary"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </choice>
+ </complexType>
+ <!-- End PGPData -->
+ <!-- Begin SPKIData -->
+ <element name="SPKIData" type="ds:SPKIDataType"/>
+ <complexType name="SPKIDataType">
+ <sequence maxOccurs="unbounded">
+ <element name="SPKISexp" type="ds:CryptoBinary"/>
+ <any namespace="##other" processContents="lax" minOccurs="0"/>
+ </sequence>
+ </complexType>
+ <!-- End SPKIData -->
+ <!-- End KeyInfo -->
+ <!-- Start Object (Manifest, SignatureProperty) -->
+ <element name="Object" type="ds:ObjectType"/>
+ <complexType name="ObjectType" mixed="true">
+ <sequence minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##any" processContents="lax"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ <attribute name="MimeType" type="string" use="optional"/>
+ <attribute name="Encoding" type="anyURI" use="optional"/>
+ <!-- add a grep facet -->
+ </complexType>
+ <element name="Manifest" type="ds:ManifestType"/>
+ <complexType name="ManifestType">
+ <sequence>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="SignatureProperties" type="ds:SignaturePropertiesType"/>
+ <complexType name="SignaturePropertiesType">
+ <sequence>
+ <element ref="ds:SignatureProperty" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="SignatureProperty" type="ds:SignaturePropertyType"/>
+ <complexType name="SignaturePropertyType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <any namespace="##other" processContents="lax"/>
+ <!-- (1,1) elements from (1,unbounded) namespaces -->
+ </choice>
+ <attribute name="Target" type="anyURI" use="required"/>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <!-- End Object (Manifest, SignatureProperty) -->
+ <!-- Start Algorithm Parameters -->
+ <simpleType name="HMACOutputLengthType">
+ <restriction base="integer"/>
+ </simpleType>
+ <!-- Start KeyValue Element-types -->
+ <element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
+ <complexType name="DSAKeyValueType">
+ <sequence>
+ <sequence minOccurs="0">
+ <element name="P" type="ds:CryptoBinary"/>
+ <element name="Q" type="ds:CryptoBinary"/>
+ </sequence>
+ <element name="J" type="ds:CryptoBinary" minOccurs="0"/>
+ <element name="G" type="ds:CryptoBinary" minOccurs="0"/>
+ <element name="Y" type="ds:CryptoBinary"/>
+ <sequence minOccurs="0">
+ <element name="Seed" type="ds:CryptoBinary"/>
+ <element name="PgenCounter" type="ds:CryptoBinary"/>
+ </sequence>
+ </sequence>
+ </complexType>
+ <element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
+ <complexType name="RSAKeyValueType">
+ <sequence>
+ <element name="Modulus" type="ds:CryptoBinary"/>
+ <element name="Exponent" type="ds:CryptoBinary"/>
+ </sequence>
+ </complexType>
+ <!-- End KeyValue Element-types -->
+ <!-- End Signature -->
+</schema>
diff --git a/src/main/resources/wsdl/sl/sl-1.2.xsd b/src/main/resources/wsdl/sl/sl-1.2.xsd
new file mode 100644
index 0000000..b614037
--- /dev/null
+++ b/src/main/resources/wsdl/sl/sl-1.2.xsd
@@ -0,0 +1,974 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Securitylayer, Schnittstellenspezifikation -->
+<!-- XML-Schema fuer Schnittstellenspezifikation Version 1.2.2 -->
+<!-- 01. 03. 2005, Bundeskanzleramt, Stabsstelle IKT-Strategie, Technik und Standards -->
+<xsd:schema targetNamespace="http://www.buergerkarte.at/namespaces/securitylayer/1.2#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.2.1" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.buergerkarte.at/namespaces/securitylayer/1.2#">
+ <xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="W3C-XMLDSig.xsd"/>
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+ <!--###################################################################### -->
+ <!--# Create CMS Signature # -->
+ <!--###################################################################### -->
+ <!--====================================================================== -->
+
+ <!--= Create CMS Signature Request = -->
+ <!--====================================================================== -->
+ <xsd:element name="CreateCMSSignatureRequest" type="CreateCMSSignatureRequestType"/>
+ <xsd:complexType name="CreateCMSSignatureRequestType">
+ <xsd:sequence>
+ <xsd:element name="KeyboxIdentifier" type="BoxIdentifierType"/>
+ <xsd:element name="DataObject" type="CMSDataObjectRequiredMetaType"/>
+ </xsd:sequence>
+ <xsd:attribute name="Structure" use="required">
+
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="detached"/>
+ <xsd:enumeration value="enveloping"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:complexType>
+ <xsd:complexType name="CMSDataObjectRequiredMetaType">
+
+ <xsd:complexContent>
+ <xsd:restriction base="CMSDataObjectOptionalMetaType">
+ <xsd:sequence>
+ <xsd:element name="MetaInfo" type="MetaInfoType"/>
+ <xsd:element name="Content" type="Base64OptRefContentType"/>
+ </xsd:sequence>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="CMSDataObjectOptionalMetaType">
+ <xsd:sequence>
+ <xsd:element name="MetaInfo" type="MetaInfoType" minOccurs="0"/>
+ <xsd:element name="Content" type="Base64OptRefContentType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--====================================================================== -->
+ <!--= Create CMS Siganture Response = -->
+ <!--====================================================================== -->
+
+ <xsd:element name="CreateCMSSignatureResponse" type="CreateCMSSignatureResponseType"/>
+ <xsd:complexType name="CreateCMSSignatureResponseType">
+ <xsd:sequence>
+ <xsd:element name="CMSSignature" type="xsd:base64Binary"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--###################################################################### -->
+ <!--# Create XML Signature # -->
+ <!--###################################################################### -->
+
+ <!--====================================================================== -->
+ <!--= Create XML Signature Request = -->
+ <!--====================================================================== -->
+ <xsd:element name="CreateXMLSignatureRequest" type="CreateXMLSignatureRequestType"/>
+ <xsd:complexType name="CreateXMLSignatureRequestType">
+ <xsd:sequence>
+ <xsd:element name="KeyboxIdentifier" type="BoxIdentifierType"/>
+ <xsd:element name="DataObjectInfo" type="DataObjectInfoType" maxOccurs="unbounded"/>
+ <xsd:element name="SignatureInfo" type="SignatureInfoCreationType" minOccurs="0"/>
+
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="SignatureInfoCreationType">
+ <xsd:sequence>
+ <xsd:element name="SignatureEnvironment" type="Base64XMLOptRefContentType"/>
+ <xsd:element name="SignatureLocation">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:token">
+
+ <xsd:attribute name="Index" type="xsd:nonNegativeInteger" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Supplement" type="DataObjectAssociationType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="MetaInfoType">
+
+ <xsd:sequence>
+ <xsd:element name="MimeType" type="MimeTypeType"/>
+ <xsd:element name="Description" type="xsd:string" minOccurs="0"/>
+ <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="DataObjectInfoType">
+ <xsd:sequence>
+ <xsd:element name="DataObject" type="Base64XMLLocRefOptRefContentType"/>
+
+ <xsd:element name="TransformsInfo" type="TransformsInfoType" maxOccurs="unbounded"/>
+ <xsd:element name="Supplement" type="DataObjectAssociationType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="Structure" use="required">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="detached"/>
+ <xsd:enumeration value="enveloping"/>
+ </xsd:restriction>
+
+ </xsd:simpleType>
+ </xsd:attribute>
+ </xsd:complexType>
+ <xsd:complexType name="TransformsInfoType">
+ <xsd:sequence>
+ <xsd:element ref="dsig:Transforms" minOccurs="0"/>
+ <xsd:element name="FinalDataMetaInfo" type="MetaInfoType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!--====================================================================== -->
+ <!--= Create XML Signature Response = -->
+ <!--====================================================================== -->
+ <xsd:element name="CreateXMLSignatureResponse" type="CreateXMLSignatureResponseType"/>
+ <xsd:complexType name="CreateXMLSignatureResponseType">
+ <xsd:sequence>
+ <xsd:any namespace="##any" processContents="lax"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!--###################################################################### -->
+ <!--# Verify CMS Signature # -->
+ <!--###################################################################### -->
+ <!--====================================================================== -->
+ <!--= Verify CMS Signature Request = -->
+ <!--====================================================================== -->
+ <xsd:element name="VerifyCMSSignatureRequest" type="VerifyCMSSignatureRequestType"/>
+ <xsd:complexType name="VerifyCMSSignatureRequestType">
+ <xsd:sequence>
+
+ <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/>
+ <xsd:element name="CMSSignature" type="xsd:base64Binary"/>
+ <xsd:element name="DataObject" type="CMSDataObjectOptionalMetaType" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="Signatories" type="SignatoriesType" use="optional" default="1"/>
+ </xsd:complexType>
+ <xsd:simpleType name="SignatoriesType">
+ <xsd:union memberTypes="AllSignatoriesType">
+ <xsd:simpleType>
+
+ <xsd:list itemType="xsd:positiveInteger"/>
+ </xsd:simpleType>
+ </xsd:union>
+ </xsd:simpleType>
+ <xsd:simpleType name="AllSignatoriesType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="all"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!--====================================================================== -->
+ <!--= Verify CMS Signature Response = -->
+ <!--====================================================================== -->
+ <xsd:element name="VerifyCMSSignatureResponse" type="VerifyCMSSignatureResponseType"/>
+ <xsd:complexType name="VerifyCMSSignatureResponseType">
+ <xsd:sequence maxOccurs="unbounded">
+ <xsd:element name="SignerInfo" type="dsig:KeyInfoType"/>
+ <xsd:element name="SignatureCheck" type="CheckResultType"/>
+ <xsd:element name="CertificateCheck" type="CheckResultType"/>
+
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="QualifiedCertificate"/>
+ <!--###################################################################### -->
+ <!--# Verify XML Signature # -->
+ <!--###################################################################### -->
+ <!--====================================================================== -->
+ <!--= Verify XML Signature Request = -->
+ <!--====================================================================== -->
+
+ <xsd:element name="VerifyXMLSignatureRequest" type="VerifyXMLSignatureRequestType"/>
+ <xsd:complexType name="VerifyXMLSignatureRequestType">
+ <xsd:sequence>
+ <xsd:element name="DateTime" type="xsd:dateTime" minOccurs="0"/>
+ <xsd:element name="SignatureInfo" type="SignatureInfoVerificationType"/>
+ <xsd:element name="Supplement" type="DataObjectAssociationType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="SignatureInfoVerificationType">
+
+ <xsd:sequence>
+ <xsd:element name="SignatureEnvironment" type="Base64XMLOptRefContentType"/>
+ <xsd:element name="SignatureLocation" type="xsd:token"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--====================================================================== -->
+ <!--= Verify XML Signature Response = -->
+ <!--====================================================================== -->
+ <xsd:element name="VerifyXMLSignatureResponse" type="VerifyXMLSignatureResponseType"/>
+
+ <xsd:complexType name="VerifyXMLSignatureResponseType">
+ <xsd:sequence>
+ <xsd:element name="SignerInfo" type="dsig:KeyInfoType"/>
+ <xsd:element name="SignatureCheck" type="ReferencesCheckResultType"/>
+ <xsd:element name="SignatureManifestCheck" type="ReferencesCheckResultType"/>
+ <xsd:element name="XMLDSIGManifestCheck" type="ManifestRefsCheckResultType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="CertificateCheck" type="CheckResultType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="ReferencesCheckResultType">
+ <xsd:sequence>
+ <xsd:element name="Code" type="xsd:nonNegativeInteger"/>
+ <xsd:element name="Info" type="ReferencesCheckResultInfoType" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="ReferencesCheckResultInfoType" mixed="true">
+ <xsd:sequence>
+ <xsd:element name="FailedReference" type="xsd:positiveInteger" minOccurs="0" maxOccurs="unbounded"/>
+
+ <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="ManifestRefsCheckResultType">
+ <xsd:sequence>
+ <xsd:element name="Code" type="xsd:nonNegativeInteger"/>
+ <xsd:element name="Info" type="ManifestRefsCheckResultInfoType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="ManifestRefsCheckResultInfoType" mixed="true">
+ <xsd:sequence>
+ <xsd:element name="ReferringSigReference" type="xsd:positiveInteger"/>
+ <xsd:element name="FailedReference" type="xsd:positiveInteger" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CheckResultType">
+ <xsd:sequence>
+
+ <xsd:element name="Code" type="xsd:nonNegativeInteger"/>
+ <xsd:element name="Info" type="AnyMixedChildrenType" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--###################################################################### -->
+ <!--# Encrypt a CMS message # -->
+ <!--###################################################################### -->
+ <!--====================================================================== -->
+ <!--= Encrypt a CMS message: Request = -->
+
+ <!--====================================================================== -->
+ <xsd:element name="EncryptCMSRequest" type="EncryptCMSRequestType"/>
+ <xsd:complexType name="EncryptCMSRequestType">
+ <xsd:sequence>
+ <xsd:element name="RecipientPublicKey" type="CMSRecipientPublicKeyType" maxOccurs="unbounded"/>
+ <xsd:element name="ToBeEncrypted" type="CMSToBeEncryptedType"/>
+ </xsd:sequence>
+ <xsd:attribute name="ReturnBinaryResult" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+
+ <xsd:complexType name="CMSToBeEncryptedType">
+ <xsd:sequence>
+ <xsd:element name="MetaInfo" type="MetaInfoType"/>
+ <xsd:element name="Content" type="Base64OptRefContentType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CMSRecipientPublicKeyType">
+ <xsd:choice>
+ <xsd:element name="X509Certificate" type="xsd:base64Binary"/>
+
+ </xsd:choice>
+ </xsd:complexType>
+ <!--====================================================================== -->
+ <!--= Encrypt a CMS message: Response = -->
+ <!--====================================================================== -->
+ <xsd:element name="EncryptCMSResponse" type="EncryptCMSResponseType"/>
+ <xsd:complexType name="EncryptCMSResponseType">
+ <xsd:sequence>
+ <xsd:element name="CMSMessage" type="xsd:base64Binary"/>
+
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--###################################################################### -->
+ <!--# Decrypt a CMS message # -->
+ <!--###################################################################### -->
+ <!--====================================================================== -->
+ <!--= Decrypt a CMS message: Request = -->
+ <!--====================================================================== -->
+ <xsd:element name="DecryptCMSRequest" type="DecryptCMSRequestType"/>
+
+ <xsd:complexType name="DecryptCMSRequestType">
+ <xsd:sequence>
+ <xsd:element name="CMSMessage" type="xsd:base64Binary"/>
+ <xsd:element name="EncryptedContent" type="CMSEncryptedContentType" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="ReturnResult" type="ReturnResultType" use="optional" default="xml"/>
+ </xsd:complexType>
+ <xsd:complexType name="CMSEncryptedContentType">
+ <xsd:sequence>
+
+ <xsd:element name="MetaInfo" type="MetaInfoType" minOccurs="0"/>
+ <xsd:element name="Content" type="Base64OptRefContentType" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ReturnResultType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="binary"/>
+ <xsd:enumeration value="xml"/>
+ <xsd:enumeration value="none"/>
+
+ </xsd:restriction>
+ </xsd:simpleType>
+ <!--====================================================================== -->
+ <!--= Decrypt a CMS message: Response = -->
+ <!--====================================================================== -->
+ <xsd:element name="DecryptCMSResponse" type="DecryptCMSResponseType"/>
+ <xsd:complexType name="DecryptCMSResponseType">
+ <xsd:sequence>
+ <xsd:element name="DecryptedData" type="xsd:base64Binary"/>
+
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--###################################################################### -->
+ <!--# Encrypt an XML document # -->
+ <!--###################################################################### -->
+ <!--====================================================================== -->
+ <!--= Encrypt an XML document: Request = -->
+ <!--====================================================================== -->
+ <xsd:element name="EncryptXMLRequest">
+
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="EncryptXMLRequestType"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="EncryptXMLRequestType">
+ <xsd:sequence>
+ <xsd:element name="RecipientPublicKey" type="XMLRecipientPublicKeyType" maxOccurs="unbounded"/>
+
+ <xsd:element name="ToBeEncrypted" type="ToBeEncryptedType" maxOccurs="unbounded"/>
+ <xsd:element name="EncryptionInfo" type="EncryptionInfoType" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="ToBeEncryptedType">
+ <xsd:choice>
+ <xsd:element name="Element">
+ <xsd:complexType>
+ <xsd:attribute name="Selector" type="xsd:token" use="required"/>
+
+ <xsd:attribute name="EncDataReference" type="xsd:anyURI" use="optional"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="ElementContent">
+ <xsd:complexType>
+ <xsd:attribute name="Selector" type="xsd:token" use="required"/>
+ <xsd:attribute name="EncDataReference" type="xsd:anyURI" use="optional"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="New" type="XMLToBeEncryptedNewType"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:complexType name="XMLToBeEncryptedNewType">
+ <xsd:sequence>
+ <xsd:element name="MetaInfo" type="MetaInfoType"/>
+ <xsd:element name="Content" type="XMLToBeEncryptedNewContentType"/>
+ </xsd:sequence>
+ <xsd:attribute name="ParentSelector" type="xsd:token" use="required"/>
+
+ <xsd:attribute name="NodeCount" type="xsd:nonNegativeInteger" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="XMLToBeEncryptedNewContentType">
+ <xsd:complexContent>
+ <xsd:extension base="Base64XMLLocRefContentType">
+ <xsd:attribute name="EncDataReference" type="xsd:anyURI" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="XMLRecipientPublicKeyType">
+ <xsd:choice>
+ <xsd:element ref="dsig:KeyValue"/>
+ <xsd:element name="X509Certificate" type="xsd:base64Binary"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:complexType name="EncryptionInfoType">
+ <xsd:sequence>
+ <xsd:element name="EncryptionEnvironment" type="Base64XMLOptRefContentType"/>
+
+ <xsd:element name="EncryptedKeyLocation" minOccurs="0">
+ <xsd:complexType>
+ <xsd:attribute name="ParentSelector" type="xsd:token" use="required"/>
+ <xsd:attribute name="NodeCount" type="xsd:nonNegativeInteger" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="Supplement" type="DataObjectAssociationType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!--====================================================================== -->
+ <!--= Encrypt an XML document: Response = -->
+ <!--====================================================================== -->
+ <xsd:element name="EncryptXMLResponse" type="EncryptXMLResponseType"/>
+ <xsd:complexType name="EncryptXMLResponseType">
+ <xsd:sequence>
+ <xsd:element name="EncryptionEnvironment">
+ <xsd:complexType>
+ <xsd:sequence>
+
+ <xsd:any namespace="##any" processContents="lax"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="EncryptedData" type="EncryptedDataType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="EncryptedDataType">
+ <xsd:simpleContent>
+
+ <xsd:extension base="xsd:base64Binary">
+ <xsd:attribute name="EncDataReference" type="xsd:anyURI" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <!--###################################################################### -->
+ <!--# Decrypt an XML document # -->
+ <!--###################################################################### -->
+ <!--====================================================================== -->
+
+ <!--= Decrypt an XML document: Request = -->
+ <!--====================================================================== -->
+ <xsd:element name="DecryptXMLRequest" type="DecryptXMLRequestType"/>
+ <xsd:complexType name="DecryptXMLRequestType">
+ <xsd:sequence>
+ <xsd:element name="EncryptedContent" type="Base64XMLOptRefContentType"/>
+ <xsd:element name="EncrElemsSelector" type="xsd:string"/>
+ <xsd:element name="Supplement" type="DataObjectAssociationType" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+
+ <xsd:attribute name="ReturnResult" type="ReturnResultType" use="optional" default="xml"/>
+ </xsd:complexType>
+ <!--====================================================================== -->
+ <!--= Decrypt an XML document: Response = -->
+ <!--====================================================================== -->
+ <xsd:element name="DecryptXMLResponse" type="DecryptXMLResponseType"/>
+ <xsd:complexType name="DecryptXMLResponseType">
+ <xsd:sequence minOccurs="0">
+ <xsd:element name="CandidateDocument" type="XMLContentType"/>
+
+ <xsd:element name="DecryptedBinaryData" minOccurs="0" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:base64Binary">
+ <xsd:attribute name="EncrElemSelector" type="xsd:string" use="required"/>
+ <xsd:attribute name="MimeType" type="xsd:string" use="optional"/>
+ <xsd:attribute name="Encoding" type="xsd:anyURI" use="optional"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--###################################################################### -->
+ <!--# Hashing # -->
+ <!--###################################################################### -->
+ <!--====================================================================== -->
+ <!--= Hash Computation Request = -->
+
+ <!--====================================================================== -->
+ <xsd:element name="CreateHashRequest" type="CreateHashRequestType"/>
+ <xsd:complexType name="CreateHashRequestType">
+ <xsd:sequence>
+ <xsd:element name="HashInfo" type="CreateHashInfoRequestType" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CreateHashInfoRequestType">
+ <xsd:sequence>
+
+ <xsd:element name="HashData" type="HashDataType"/>
+ <xsd:element name="HashAlgorithm" type="xsd:anyURI"/>
+ <xsd:element name="FriendlyName" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="RespondHashData" type="xsd:boolean" use="required"/>
+ </xsd:complexType>
+ <xsd:complexType name="HashDataType">
+ <xsd:sequence>
+ <xsd:element name="MetaInfo" type="MetaInfoType"/>
+
+ <xsd:element name="Content" type="Base64XMLOptRefContentType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--====================================================================== -->
+ <!--= Hash Computation Response = -->
+ <!--====================================================================== -->
+ <xsd:element name="CreateHashResponse" type="CreateHashResponseType"/>
+ <xsd:complexType name="CreateHashResponseType">
+ <xsd:sequence>
+
+ <xsd:element name="HashInfo" type="CreateHashInfoResponseType" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="CreateHashInfoResponseType">
+ <xsd:sequence>
+ <xsd:element name="HashData" type="HashDataType" minOccurs="0"/>
+ <xsd:element name="HashAlgorithm" type="xsd:anyURI"/>
+ <xsd:element name="FriendlyName" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="HashValue" type="xsd:base64Binary"/>
+
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--====================================================================== -->
+ <!--= Hash Verification Request = -->
+ <!--====================================================================== -->
+ <xsd:element name="VerifyHashRequest" type="VerifyHashRequestType"/>
+ <xsd:complexType name="VerifyHashRequestType">
+ <xsd:sequence>
+ <xsd:element name="HashInfo" type="VerifyHashInfoRequestType" maxOccurs="unbounded"/>
+
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="VerifyHashInfoRequestType">
+ <xsd:sequence>
+ <xsd:element name="HashData" type="HashDataType"/>
+ <xsd:element name="HashAlgorithm" type="xsd:anyURI"/>
+ <xsd:element name="FriendlyName" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="HashValue" type="xsd:base64Binary"/>
+ </xsd:sequence>
+
+ </xsd:complexType>
+ <!--====================================================================== -->
+ <!--= Hash Verification Response = -->
+ <!--====================================================================== -->
+ <xsd:element name="VerifyHashResponse" type="VerifyHashResponseType"/>
+ <xsd:complexType name="VerifyHashResponseType">
+ <xsd:sequence>
+ <xsd:element name="VerificationResult" type="VerificationResultType" maxOccurs="unbounded"/>
+ </xsd:sequence>
+
+ </xsd:complexType>
+ <xsd:complexType name="VerificationResultType">
+ <xsd:sequence>
+ <xsd:element name="FriendlyName" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="Result" type="xsd:boolean"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--###################################################################### -->
+ <!--# Infobox Commands # -->
+
+ <!--###################################################################### -->
+ <!--====================================================================== -->
+ <!--= Check Available Infoboxes Request = -->
+ <!--====================================================================== -->
+ <xsd:element name="InfoboxAvailableRequest" type="InfoboxAvailableRequestType"/>
+ <xsd:complexType name="InfoboxAvailableRequestType"/>
+ <!--====================================================================== -->
+ <!--= Check Available Infoboxes Response = -->
+ <!--====================================================================== -->
+
+ <xsd:element name="InfoboxAvailableResponse" type="InfoboxAvailableResponseType"/>
+ <xsd:complexType name="InfoboxAvailableResponseType">
+ <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="InfoboxIdentifier" type="BoxIdentifierType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--====================================================================== -->
+ <!--= Create Infobox Request = -->
+ <!--====================================================================== -->
+
+ <xsd:element name="InfoboxCreateRequest" type="InfoboxCreateRequestType"/>
+ <xsd:complexType name="InfoboxCreateRequestType">
+ <xsd:sequence>
+ <xsd:element name="InfoboxIdentifier" type="BoxIdentifierType"/>
+ <xsd:element name="InfoboxType" type="InfoboxTypeType"/>
+ <xsd:element name="Creator" type="xsd:string"/>
+ <xsd:element name="Purpose" type="xsd:string"/>
+ <xsd:element name="ReadAccessAuthorization" type="AccessAuthorizationType" minOccurs="0"/>
+ <xsd:element name="UpdateAccessAuthorization" type="AccessAuthorizationType" minOccurs="0"/>
+
+ <xsd:element name="ReadUserConfirmation" type="UserConfirmationType" minOccurs="0"/>
+ <xsd:element name="UpdateUserConfirmation" type="UserConfirmationType" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="InfoboxTypeType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="BinaryFile"/>
+ <xsd:enumeration value="AssocArray"/>
+ </xsd:restriction>
+
+ </xsd:simpleType>
+ <xsd:complexType name="AccessAuthorizationType">
+ <xsd:sequence>
+ <xsd:element name="RequesterID" type="RequesterIDType" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="UserMayChange" type="xsd:boolean" use="required"/>
+ </xsd:complexType>
+ <xsd:simpleType name="RequesterIDSimpleType">
+ <xsd:restriction base="xsd:string"/>
+
+ </xsd:simpleType>
+ <xsd:complexType name="RequesterIDType">
+ <xsd:simpleContent>
+ <xsd:extension base="RequesterIDSimpleType">
+ <xsd:attribute name="AuthenticationClass" type="AuthenticationClassType" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:complexType name="UserConfirmationType">
+
+ <xsd:simpleContent>
+ <xsd:extension base="UserConfirmationSimpleType">
+ <xsd:attribute name="UserMayChange" type="xsd:boolean" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ <xsd:simpleType name="UserConfirmationSimpleType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="none"/>
+
+ <xsd:enumeration value="info"/>
+ <xsd:enumeration value="confirm"/>
+ <xsd:enumeration value="confirmWithSecret"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:simpleType name="AuthenticationClassType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="anonym"/>
+ <xsd:enumeration value="pseudoanonym"/>
+
+ <xsd:enumeration value="certified"/>
+ <xsd:enumeration value="certifiedGovAgency"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <!--====================================================================== -->
+ <!--= Create Infobox Response = -->
+ <!--====================================================================== -->
+ <xsd:element name="InfoboxCreateResponse" type="InfoboxCreateResponseType"/>
+ <xsd:complexType name="InfoboxCreateResponseType"/>
+
+ <!--====================================================================== -->
+ <!--= Delete Infobox Request = -->
+ <!--====================================================================== -->
+ <xsd:element name="InfoboxDeleteRequest" type="InfoboxDeleteRequestType"/>
+ <xsd:complexType name="InfoboxDeleteRequestType">
+ <xsd:sequence>
+ <xsd:element name="InfoboxIdentifier" type="BoxIdentifierType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!--====================================================================== -->
+ <!--= Delete Infobox Response = -->
+ <!--====================================================================== -->
+ <xsd:element name="InfoboxDeleteResponse" type="InfoboxDeleteResponseType"/>
+ <xsd:complexType name="InfoboxDeleteResponseType"/>
+ <!--====================================================================== -->
+ <!--= Read Infobox Request = -->
+ <!--====================================================================== -->
+ <xsd:element name="InfoboxReadRequest" type="InfoboxReadRequestType"/>
+
+ <xsd:complexType name="InfoboxReadRequestType">
+ <xsd:sequence>
+ <xsd:element name="InfoboxIdentifier" type="BoxIdentifierType"/>
+ <xsd:choice>
+ <xsd:element name="BinaryFileParameters" type="InfoboxReadParamsBinaryFileType"/>
+ <xsd:element name="AssocArrayParameters" type="InfoboxReadParamsAssocArrayType"/>
+ </xsd:choice>
+ <xsd:element name="BoxSpecificParameters" type="AnyChildrenType" minOccurs="0"/>
+ </xsd:sequence>
+
+ </xsd:complexType>
+ <xsd:complexType name="InfoboxReadParamsBinaryFileType">
+ <xsd:attribute name="ContentIsXMLEntity" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ <xsd:complexType name="InfoboxReadParamsAssocArrayType">
+ <xsd:choice>
+ <xsd:element name="ReadKeys">
+ <xsd:complexType>
+ <xsd:attribute name="SearchString" type="WildCardSearchStringType" use="required"/>
+
+ <xsd:attribute name="UserMakesUnique" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="ReadPairs">
+ <xsd:complexType>
+ <xsd:attribute name="SearchString" type="WildCardSearchStringType" use="required"/>
+ <xsd:attribute name="UserMakesUnique" type="xsd:boolean" use="optional" default="false"/>
+ <xsd:attribute name="ValuesAreXMLEntities" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+
+ </xsd:element>
+ <xsd:element name="ReadValue">
+ <xsd:complexType>
+ <xsd:attribute name="Key" type="BoxIdentifierType" use="required"/>
+ <xsd:attribute name="ValueIsXMLEntity" type="xsd:boolean" use="optional" default="false"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+
+ <xsd:element name="IdentityLinkDomainIdentifier" type="xsd:anyURI"/>
+ <!--====================================================================== -->
+ <!--= Read Infobox Response = -->
+ <!--====================================================================== -->
+ <xsd:element name="InfoboxReadResponse" type="InfoboxReadResponseType"/>
+ <xsd:complexType name="InfoboxReadResponseType">
+ <xsd:choice>
+ <xsd:element name="BinaryFileData" type="Base64XMLContentType"/>
+ <xsd:element name="AssocArrayData" type="InfoboxReadDataAssocArrayType"/>
+
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:complexType name="InfoboxReadDataAssocArrayType">
+ <xsd:choice>
+ <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="Key" type="BoxIdentifierType"/>
+ </xsd:sequence>
+ <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+ <xsd:element name="Pair" type="InfoboxAssocArrayPairType"/>
+
+ </xsd:sequence>
+ </xsd:choice>
+ </xsd:complexType>
+ <!--====================================================================== -->
+ <!--= Update Infobox Request = -->
+ <!--====================================================================== -->
+ <xsd:element name="InfoboxUpdateRequest" type="InfoboxUpdateRequestType"/>
+ <xsd:complexType name="InfoboxUpdateRequestType">
+ <xsd:sequence>
+
+ <xsd:element name="InfoboxIdentifier" type="BoxIdentifierType"/>
+ <xsd:choice>
+ <xsd:element name="BinaryFileParameters" type="Base64XMLContentType"/>
+ <xsd:element name="AssocArrayParameters" type="InfoboxUpdateParamsAssocArrayType"/>
+ </xsd:choice>
+ <xsd:element name="BoxSpecificParameters" type="AnyChildrenType" minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="InfoboxUpdateParamsAssocArrayType">
+
+ <xsd:choice>
+ <xsd:element name="UpdateKey">
+ <xsd:complexType>
+ <xsd:attribute name="Key" type="xsd:token" use="required"/>
+ <xsd:attribute name="NewKey" type="xsd:token" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:element name="UpdateValue" type="InfoboxAssocArrayPairType"/>
+ <xsd:element name="DeletePair">
+
+ <xsd:complexType>
+ <xsd:attribute name="Key" type="xsd:token" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:complexType>
+ <!--====================================================================== -->
+ <!--= Update Infobox Response = -->
+ <!--====================================================================== -->
+
+ <xsd:element name="InfoboxUpdateResponse" type="InfoboxUpdateResponseType"/>
+ <xsd:complexType name="InfoboxUpdateResponseType"/>
+ <!--###################################################################### -->
+ <!--# Null-Operation # -->
+ <!--###################################################################### -->
+ <!--====================================================================== -->
+ <!--= Null-Operation ReQuest = -->
+ <!--====================================================================== -->
+ <xsd:element name="NullOperationRequest" type="NullOperationRequestType"/>
+
+ <xsd:complexType name="NullOperationRequestType"/>
+ <!--====================================================================== -->
+ <!--= Null-Operation Response = -->
+ <!--====================================================================== -->
+ <xsd:element name="NullOperationResponse" type="NullOperationResponseType"/>
+ <xsd:complexType name="NullOperationResponseType"/>
+ <!--###################################################################### -->
+ <!--# Get Properties # -->
+ <!--###################################################################### -->
+
+ <xsd:element name="GetPropertiesRequest">
+ <xsd:complexType>
+ <xsd:complexContent>
+ <xsd:extension base="GetPropertiesRequestType"/>
+ </xsd:complexContent>
+ </xsd:complexType>
+ </xsd:element>
+ <xsd:complexType name="GetPropertiesRequestType"/>
+ <!--====================================================================== -->
+
+ <!--= Get Properties Response = -->
+ <!--====================================================================== -->
+ <xsd:element name="GetPropertiesResponse" type="GetPropertiesResponseType"/>
+ <xsd:complexType name="GetPropertiesResponseType">
+ <xsd:sequence>
+ <xsd:element name="ViewerMediaType" type="MimeTypeType" maxOccurs="unbounded"/>
+ <xsd:element name="XMLSignatureTransform" type="xsd:anyURI" maxOccurs="unbounded"/>
+ <xsd:element name="KeyboxIdentifier" type="QualifiedBoxIdentifierType" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="Binding" type="BindingType" maxOccurs="unbounded"/>
+
+ <xsd:element name="ProtocolVersion" type="xsd:token" maxOccurs="unbounded"/>
+ <xsd:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="BindingType">
+ <xsd:complexContent>
+ <xsd:extension base="AnyChildrenType">
+ <xsd:attribute name="Identifier" type="xsd:token" use="required"/>
+ </xsd:extension>
+
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="QualifiedBoxIdentifierType">
+ <xsd:simpleContent>
+ <xsd:extension base="BoxIdentifierType">
+ <xsd:attribute name="Signature" type="xsd:boolean" use="required"/>
+ <xsd:attribute name="Encryption" type="xsd:boolean" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+
+ </xsd:complexType>
+ <!--###################################################################### -->
+ <!--# Get Token Status # -->
+ <!--###################################################################### -->
+ <!--====================================================================== -->
+ <!--= Get Token Status Request = -->
+ <!--====================================================================== -->
+ <xsd:element name="GetStatusRequest" type="GetStatusRequestType"/>
+ <xsd:complexType name="GetStatusRequestType">
+
+ <xsd:sequence minOccurs="0">
+ <xsd:element name="TokenStatus" type="TokenStatusType"/>
+ <xsd:element name="MaxDelay" type="xsd:nonNegativeInteger"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <!--====================================================================== -->
+ <!--= Get Token Status Response = -->
+ <!--====================================================================== -->
+ <xsd:element name="GetStatusResponse" type="GetStatusResponseType"/>
+
+ <xsd:complexType name="GetStatusResponseType">
+ <xsd:sequence>
+ <xsd:element name="TokenStatus" type="TokenStatusType"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="TokenStatusType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value="ready"/>
+ <xsd:enumeration value="removed"/>
+
+ </xsd:restriction>
+ </xsd:simpleType>
+ <!--###################################################################### -->
+ <!--# Error Response # -->
+ <!--###################################################################### -->
+ <xsd:element name="ErrorResponse" type="ErrorResponseType"/>
+ <xsd:complexType name="ErrorResponseType">
+ <xsd:sequence>
+ <xsd:element name="ErrorCode" type="ErrorCodeType"/>
+
+ <xsd:element name="Info" type="xsd:string"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:simpleType name="ErrorCodeType">
+ <xsd:restriction base="xsd:integer">
+ <xsd:minInclusive value="1000"/>
+ <xsd:maxInclusive value="99999"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!--###################################################################### -->
+ <!--# Auxiliary Types # -->
+ <!--###################################################################### -->
+ <xsd:simpleType name="BoxIdentifierType">
+ <xsd:restriction base="xsd:token"/>
+ </xsd:simpleType>
+ <xsd:simpleType name="MimeTypeType">
+ <xsd:restriction base="xsd:token"/>
+ </xsd:simpleType>
+
+ <xsd:simpleType name="WildCardSearchStringType">
+ <xsd:restriction base="xsd:string">
+ <xsd:pattern value="[^\*/]*(\*[^\*/]*)?(/[^\*/]*(\*[^\*/]*)?)*"/>
+ <xsd:pattern value="\*\*"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ <xsd:complexType name="InfoboxAssocArrayPairType">
+ <xsd:complexContent>
+ <xsd:extension base="Base64XMLContentType">
+
+ <xsd:attribute name="Key" type="xsd:string" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="AnyChildrenType" mixed="false">
+ <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+ <xsd:any namespace="##any" processContents="lax"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="AnyMixedChildrenType" mixed="true">
+ <xsd:sequence minOccurs="0" maxOccurs="unbounded">
+ <xsd:any namespace="##any" processContents="lax"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="XMLContentType" mixed="true">
+ <xsd:complexContent mixed="true">
+ <xsd:extension base="AnyMixedChildrenType">
+ <xsd:attribute ref="xml:space" use="optional"/>
+
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="Base64XMLLocRefOptRefContentType">
+ <xsd:complexContent>
+ <xsd:extension base="Base64XMLLocRefContentType">
+ <xsd:attribute name="Reference" type="xsd:anyURI" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+
+ </xsd:complexType>
+ <xsd:complexType name="Base64XMLLocRefReqRefContentType">
+ <xsd:complexContent>
+ <xsd:extension base="Base64XMLLocRefContentType">
+ <xsd:attribute name="Reference" type="xsd:anyURI" use="required"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="Base64XMLOptRefContentType">
+
+ <xsd:complexContent>
+ <xsd:extension base="Base64XMLContentType">
+ <xsd:attribute name="Reference" type="xsd:anyURI" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="Base64OptRefContentType">
+ <xsd:complexContent>
+ <xsd:extension base="Base64ContentType">
+
+ <xsd:attribute name="Reference" type="xsd:anyURI" use="optional"/>
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+ <xsd:complexType name="Base64ContentType">
+ <xsd:choice minOccurs="0">
+ <xsd:element name="Base64Content" type="xsd:base64Binary"/>
+ </xsd:choice>
+ </xsd:complexType>
+
+ <xsd:complexType name="Base64XMLContentType">
+ <xsd:choice minOccurs="0">
+ <xsd:element name="Base64Content" type="xsd:base64Binary"/>
+ <xsd:element name="XMLContent" type="XMLContentType"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:complexType name="Base64XMLLocRefContentType">
+ <xsd:choice minOccurs="0">
+ <xsd:element name="Base64Content" type="xsd:base64Binary"/>
+
+ <xsd:element name="XMLContent" type="XMLContentType"/>
+ <xsd:element name="LocRefContent" type="xsd:anyURI"/>
+ </xsd:choice>
+ </xsd:complexType>
+ <xsd:complexType name="DataObjectAssociationType">
+ <xsd:sequence>
+ <xsd:element name="MetaInfo" type="MetaInfoType" minOccurs="0"/>
+ <xsd:element name="Content" type="Base64XMLLocRefReqRefContentType"/>
+ </xsd:sequence>
+
+ </xsd:complexType>
+</xsd:schema>
diff --git a/src/main/resources/wsdl/szr/SZR_v2.0.wsdl b/src/main/resources/wsdl/szr/SZR_v2.0.wsdl
new file mode 100644
index 0000000..4819cdc
--- /dev/null
+++ b/src/main/resources/wsdl/szr/SZR_v2.0.wsdl
@@ -0,0 +1,269 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:szr="urn:SZRServices"
+ xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/20020228#"
+ xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:ecdsa="http://www.w3.org/2001/04/xmldsig-more#"
+ xmlns:pvp="http://egov.gv.at/pvp1.xsd" xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
+ targetNamespace="urn:SZRServices">
+
+ <import namespace="urn:SZRServices" location="szr_v2.0.xsd"/>
+
+ <message name="Header">
+ <part name="SecurityHeader" element="wsse:Security" />
+ </message>
+ <message name="GetIdentityLinkRequest">
+ <part name="parameters" element="szr:GetIdentityLink" />
+ </message>
+ <message name="GetIdentityLinkResponse">
+ <part name="parameters" element="szr:GetIdentityLinkResponse" />
+ </message>
+ <message name="GetBPKRequest">
+ <part name="parameters" element="szr:GetBPK" />
+ </message>
+ <message name="GetBPKResponse">
+ <part name="parameters" element="szr:GetBPKResponse" />
+ </message>
+ <message name="GetBPKKombiRequest">
+ <part name="parameters" element="szr:GetBPKKombi" />
+ </message>
+ <message name="GetBPKKombiResponse">
+ <part name="parameters" element="szr:GetBPKKombiResponse" />
+ </message>
+ <message name="BPKzuBasiszahlRequest">
+ <part name="parameters" element="szr:BPKzuBasiszahl" />
+ </message>
+ <message name="BPKzuBasiszahlResponse">
+ <part name="parameters" element="szr:BPKzuBasiszahlResponse" />
+ </message>
+ <message name="BasiszahlZuBPKRequest">
+ <part name="parameters" element="szr:BasiszahlZuBPK" />
+ </message>
+ <message name="BasiszahlZuBPKResponse">
+ <part name="parameters" element="szr:BasiszahlZuBPKResponse" />
+ </message>
+ <message name="ValidateIdentityLinkRequest">
+ <part name="parameters" element="szr:ValidateIdentityLink" />
+ </message>
+ <message name="ValidateIdentityLinkResponse">
+ <part name="parameters" element="szr:ValidateIdentityLinkResponse" />
+ </message>
+ <message name="TransformBPKRequest">
+ <part name="parameters" element="szr:TransformBPK" />
+ </message>
+ <message name="TransformBPKResponse">
+ <part name="parameters" element="szr:TransformBPKResponse" />
+ </message>
+ <message name="ZMRAnwendungsIntegrationRequest">
+ <part name="parameters" element="szr:ZMRAnwendungsIntegration" />
+ </message>
+ <message name="ZMRAnwendungsIntegrationResponse">
+ <part name="parameters" element="szr:ZMRAnwendungsIntegrationResponse" />
+ </message>
+ <message name="GetStammzahlRequest">
+ <part name="parameters" element="szr:GetStammzahl" />
+ </message>
+ <message name="GetStammzahlResponse">
+ <part name="parameters" element="szr:GetStammzahlResponse" />
+ </message>
+ <message name="GetVersionRequest">
+ <part name="parameters" element="szr:GetVersion" />
+ </message>
+ <message name="GetVersionResponse">
+ <part name="parameters" element="szr:GetVersionResponse" />
+ </message>
+ <message name="SZRException">
+ <part name="fault" element="szr:SZRException" />
+ </message>
+ <portType name="SZR">
+ <operation name="GetIdentityLink">
+ <input name="GetIdentityLinkRequest" message="szr:GetIdentityLinkRequest" />
+ <output name="GetIdentityLinkResponse" message="szr:GetIdentityLinkResponse" />
+ <fault name="SZRException" message="szr:SZRException" />
+ </operation>
+ <operation name="GetBPK">
+ <input name="GetBPKRequest" message="szr:GetBPKRequest" />
+ <output name="GetBPKResponse" message="szr:GetBPKResponse" />
+ <fault name="SZRException" message="szr:SZRException" />
+ </operation>
+ <operation name="GetBPKKombi">
+ <input name="GetBPKKombiRequest" message="szr:GetBPKKombiRequest" />
+ <output name="GetBPKKombiResponse" message="szr:GetBPKKombiResponse" />
+ <fault name="SZRException" message="szr:SZRException" />
+ </operation>
+ <operation name="ValidateIdentityLink">
+ <input name="ValidateIdentityLinkRequest" message="szr:ValidateIdentityLinkRequest" />
+ <output name="ValidateIdentityLinkResponse" message="szr:ValidateIdentityLinkResponse" />
+ <fault name="SZRException" message="szr:SZRException" />
+ </operation>
+ <operation name="TransformBPK">
+ <input name="TransformBPKRequest" message="szr:TransformBPKRequest" />
+ <output name="TransformBPKResponse" message="szr:TransformBPKResponse" />
+ <fault name="SZRException" message="szr:SZRException" />
+ </operation>
+ <operation name="BPKzuBasiszahl">
+ <input name="BPKzuBasiszahlRequest" message="szr:BPKzuBasiszahlRequest" />
+ <output name="BPKzuBasiszahlResponse" message="szr:BPKzuBasiszahlResponse" />
+ <fault name="SZRException" message="szr:SZRException" />
+ </operation>
+ <operation name="BasiszahlZuBPK">
+ <input name="BasiszahlZuBPKRequest" message="szr:BasiszahlZuBPKRequest" />
+ <output name="BasiszahlZuBPKResponse" message="szr:BasiszahlZuBPKResponse" />
+ <fault name="SZRException" message="szr:SZRException" />
+ </operation>
+ <operation name="ZMRAnwendungsIntegration">
+ <input name="ZMRAnwendungsIntegrationRequest" message="szr:ZMRAnwendungsIntegrationRequest" />
+ <output name="ZMRAnwendungsIntegrationResponse" message="szr:ZMRAnwendungsIntegrationResponse" />
+ <fault name="SZRException" message="szr:SZRException" />
+ </operation>
+ <operation name="GetStammzahl">
+ <input name="GetStammzahlRequest" message="szr:GetStammzahlRequest" />
+ <output name="GetStammzahlResponse" message="szr:GetStammzahlResponse" />
+ <fault name="SZRException" message="szr:SZRException" />
+ </operation>
+ <operation name="GetVersion">
+ <input name="GetVersionRequest" message="szr:GetVersionRequest" />
+ <output name="GetVersionResponse" message="szr:GetVersionResponse" />
+ <fault name="SZRException" message="szr:SZRException" />
+ </operation>
+ </portType>
+ <binding name="SZRSoapBinding" type="szr:SZR">
+ <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="GetIdentityLink">
+ <wsdlsoap:operation soapAction="" />
+ <input name="GetIdentityLinkRequest">
+ <wsdlsoap:header message="szr:Header" part="SecurityHeader" use="literal" />
+ <wsdlsoap:body use="literal" />
+ </input>
+ <output name="GetIdentityLinkResponse">
+ <wsdlsoap:body use="literal" />
+ </output>
+ <fault name="SZRException">
+ <wsdlsoap:fault use="literal" name="SZRException" />
+ </fault>
+ </operation>
+ <operation name="GetBPK">
+ <wsdlsoap:operation soapAction="" />
+ <input name="GetBPKRequest">
+ <wsdlsoap:header message="szr:Header" part="SecurityHeader" use="literal" />
+ <wsdlsoap:body use="literal" />
+ </input>
+ <output name="GetBPKResponse">
+ <wsdlsoap:body use="literal" />
+ </output>
+ <fault name="SZRException">
+ <wsdlsoap:fault use="literal" name="SZRException" />
+ </fault>
+ </operation>
+ <operation name="GetBPKKombi">
+ <wsdlsoap:operation soapAction="" />
+ <input name="GetBPKKombiRequest">
+ <wsdlsoap:header message="szr:Header" part="SecurityHeader" use="literal" />
+ <wsdlsoap:body use="literal" />
+ </input>
+ <output name="GetBPKKombiResponse">
+ <wsdlsoap:body use="literal" />
+ </output>
+ <fault name="SZRException">
+ <wsdlsoap:fault use="literal" name="SZRException" />
+ </fault>
+ </operation>
+ <operation name="ValidateIdentityLink">
+ <wsdlsoap:operation soapAction="" />
+ <input name="ValidateIdentityLinkRequest">
+ <wsdlsoap:header message="szr:Header" part="SecurityHeader" use="literal" />
+ <wsdlsoap:body use="literal" />
+ </input>
+ <output name="ValidateIdentityLinkResponse">
+ <wsdlsoap:body use="literal" />
+ </output>
+ <fault name="SZRException">
+ <wsdlsoap:fault use="literal" name="SZRException" />
+ </fault>
+ </operation>
+ <operation name="TransformBPK">
+ <wsdlsoap:operation soapAction="" />
+ <input name="TransformBPKRequest">
+ <wsdlsoap:header message="szr:Header" part="SecurityHeader" use="literal" />
+ <wsdlsoap:body use="literal" />
+ </input>
+ <output name="TransformBPKResponse">
+ <wsdlsoap:body use="literal" />
+ </output>
+ <fault name="SZRException">
+ <wsdlsoap:fault use="literal" name="SZRException" />
+ </fault>
+ </operation>
+ <operation name="BPKzuBasiszahl">
+ <wsdlsoap:operation soapAction="" />
+ <input name="BPKzuBasiszahlRequest">
+ <wsdlsoap:header message="szr:Header" part="SecurityHeader" use="literal" />
+ <wsdlsoap:body use="literal" />
+ </input>
+ <output name="BPKzuBasiszahlResponse">
+ <wsdlsoap:body use="literal" />
+ </output>
+ <fault name="SZRException">
+ <wsdlsoap:fault use="literal" name="SZRException" />
+ </fault>
+ </operation>
+ <operation name="BasiszahlZuBPK">
+ <wsdlsoap:operation soapAction="" />
+ <input name="BasiszahlZuBPKRequest">
+ <wsdlsoap:header message="szr:Header" part="SecurityHeader" use="literal" />
+ <wsdlsoap:body use="literal"></wsdlsoap:body>
+ </input>
+ <output name="BasiszahlZuBPKResponse">
+ <wsdlsoap:body use="literal" />
+ </output>
+ <fault name="SZRException">
+ <wsdlsoap:fault use="literal" name="SZRException" />
+ </fault>
+ </operation>
+ <operation name="ZMRAnwendungsIntegration">
+ <wsdlsoap:operation soapAction="" />
+ <input name="ZMRAnwendungsIntegrationRequest">
+ <wsdlsoap:header message="szr:Header" part="SecurityHeader" use="literal" />
+ <wsdlsoap:body use="literal" />
+ </input>
+ <output name="ZMRAnwendungsIntegrationResponse">
+ <wsdlsoap:body use="literal" />
+ </output>
+ <fault name="SZRException">
+ <wsdlsoap:fault use="literal" name="SZRException" />
+ </fault>
+ </operation>
+ <operation name="GetStammzahl">
+ <wsdlsoap:operation soapAction="" />
+ <input name="GetStammzahlRequest">
+ <wsdlsoap:header message="szr:Header" part="SecurityHeader" use="literal" />
+ <wsdlsoap:body use="literal" />
+ </input>
+ <output name="GetStammzahlResponse">
+ <wsdlsoap:body use="literal" />
+ </output>
+ <fault name="SZRException">
+ <wsdlsoap:fault use="literal" name="SZRException" />
+ </fault>
+ </operation>
+ <operation name="GetVersion">
+ <wsdlsoap:operation soapAction="" />
+ <input name="GetVersionRequest">
+ <wsdlsoap:header message="szr:Header" part="SecurityHeader" use="literal" />
+ <wsdlsoap:body use="literal" />
+ </input>
+ <output name="GetVersionResponse">
+ <wsdlsoap:body use="literal" />
+ </output>
+ <fault name="SZRException">
+ <wsdlsoap:fault use="literal" name="SZRException" />
+ </fault>
+ </operation>
+ </binding>
+ <service name="SZRService"> <port name="SZRTestumgebung" binding="szr:SZRSoapBinding">
+ <wsdlsoap:address location="https://pvawp.bmi.gv.at/bmi.gv.at/soap/SZ2Services-T/services/SZR" />
+ </port>
+ <port name="SZRProduktionsumgebung" binding="szr:SZRSoapBinding">
+ <wsdlsoap:address location="https://pvawp.bmi.gv.at/bmi.gv.at/soap/SZ2Services/services/SZR" />
+ </port>
+ </service>
+</definitions>
diff --git a/src/main/resources/wsdl/szr/szr_ecdsa.xsd b/src/main/resources/wsdl/szr/szr_ecdsa.xsd
new file mode 100644
index 0000000..7ad1e92
--- /dev/null
+++ b/src/main/resources/wsdl/szr/szr_ecdsa.xsd
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://www.w3.org/2001/04/xmldsig-more#" xmlns:ecdsa="http://www.w3.org/2001/04/xmldsig-more#">
+ <xs:element name="ECDSAKeyValue" type="ecdsa:ECDSAKeyValueType" />
+ <xs:complexType name="ECDSAKeyValueType">
+ <xs:sequence>
+ <xs:element name="DomainParameters" type="ecdsa:DomainParamsType"
+ minOccurs="0" />
+ <xs:element name="PublicKey" type="ecdsa:ECPointType" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DomainParamsType">
+ <xs:sequence>
+ <xs:element name="NamedCurve" minOccurs="0"
+ type="ecdsa:NamedCurveType" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="NamedCurveType">
+ <xs:attribute name="URN" type="xs:string" use="required" />
+ </xs:complexType>
+ <xs:complexType name="ECPointType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="X" type="ecdsa:PrimeFieldElemType" />
+ <xs:element name="Y" type="ecdsa:PrimeFieldElemType" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PrimeFieldElemType">
+ <xs:attribute name="Value" type="xs:string" use="required" />
+ </xs:complexType>
+</xs:schema> \ No newline at end of file
diff --git a/src/main/resources/wsdl/szr/szr_persondata.xsd b/src/main/resources/wsdl/szr/szr_persondata.xsd
new file mode 100644
index 0000000..8713c5a
--- /dev/null
+++ b/src/main/resources/wsdl/szr/szr_persondata.xsd
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema elementFormDefault="qualified" xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/20020228#"
+ targetNamespace="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:complexType name="PhysicalPersonType">
+ <xs:sequence>
+ <xs:element name="Identification" minOccurs="0"
+ type="pd:IdentificationType" />
+ <xs:element name="Name" minOccurs="1" type="pd:PersonNameType" />
+ <xs:element name="AlternativeName" minOccurs="0"
+ type="pd:AlternativeNameType" />
+ <xs:element name="Sex" minOccurs="0" type="xs:string" />
+ <xs:element name="DateOfBirth" minOccurs="0" type="xs:string" />
+ <xs:element name="PlaceOfBirth" minOccurs="0" type="xs:string" />
+ <xs:element name="CountryOfBirth" minOccurs="0" type="xs:string" />
+ <xs:element name="Nationality" minOccurs="0" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="IdentificationType">
+ <xs:sequence>
+ <xs:element name="Value" minOccurs="0" type="xs:string" />
+ <xs:element name="Type" minOccurs="0" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PersonNameType">
+ <xs:sequence>
+ <xs:element name="PrefixedDegree" minOccurs="0" type="xs:string" />
+ <xs:element name="GivenName" type="xs:string" />
+ <xs:element name="FamilyName" type="xs:string" />
+ <xs:element name="SuffixedDegree" minOccurs="0" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AlternativeNameType">
+ <xs:sequence>
+ <xs:element name="FamilyName" type="xs:string" />
+ </xs:sequence>
+ <xs:attribute name="Type" fixed="MaidenName" />
+ </xs:complexType>
+ <xs:complexType name="PostalAddressType">
+ <xs:sequence>
+ <xs:element name="PostalCode" minOccurs="0" type="xs:string" />
+ <xs:element name="Municipality" minOccurs="0" type="xs:string" />
+ <xs:element name="Locality" minOccurs="0" type="xs:string" />
+ <xs:element name="StateCode3" minOccurs="0" type="xs:string" />
+ <xs:element name="DeliveryAddress" minOccurs="0"
+ type="pd:DeliveryAddressType" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DeliveryAddressType">
+ <xs:sequence>
+ <xs:element name="AddressLine" minOccurs="0" type="xs:string" />
+ <xs:element name="StreetName" minOccurs="0" type="xs:string" />
+ <xs:element name="BuildingNumber" minOccurs="0" type="xs:string" />
+ <xs:element name="Unit" minOccurs="0" type="xs:string" />
+ <xs:element name="DoorNumber" minOccurs="0" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
diff --git a/src/main/resources/wsdl/szr/szr_pvp.xsd b/src/main/resources/wsdl/szr/szr_pvp.xsd
new file mode 100644
index 0000000..accb9dd
--- /dev/null
+++ b/src/main/resources/wsdl/szr/szr_pvp.xsd
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema targetNamespace="http://egov.gv.at/pvp1.xsd" xmlns="http://egov.gv.at/pvp1.xsd"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+ <xs:element name="pvpToken" type="pvpTokenType" />
+ <xs:complexType name="pvpTokenType">
+ <xs:sequence>
+ <xs:element name="authenticate">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="participantId" />
+ <xs:element name="gvOuDomain" minOccurs="0" />
+ <xs:choice>
+ <xs:element name="userPrincipal">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="pvpPrincipalType">
+ <xs:sequence>
+ <xs:element name="gvGid" type="xs:string" />
+ <xs:element name="gvFunction" type="xs:string"
+ minOccurs="0" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="systemPrincipal" type="pvpPrincipalType" />
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="authorize" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="role" maxOccurs="unbounded" />
+ <xs:element name="dummy" minOccurs="0" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="accounting" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="invoiceRecptId" type="xs:string" />
+ <xs:element name="gvCostCenterId" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="default" type="xs:boolean"
+ use="optional" default="false" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="gvChargeCode" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="default" type="xs:boolean"
+ use="optional" default="false" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="pvpChainedToken" type="pvpTokenType"
+ minOccurs="0" />
+ <xs:element name="pvpExtension" block="extension"
+ minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any namespace="##any" processContents="lax" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="version" type="gvVersionType" use="required" />
+ <xs:anyAttribute namespace="##any" processContents="lax" />
+ </xs:complexType>
+ <xs:complexType name="pvpPrincipalType">
+ <xs:sequence>
+ <xs:element name="userId" type="xs:string" />
+ <xs:element name="cn" type="xs:string" />
+ <xs:element name="gvOuId" type="xs:string" />
+ <xs:element name="ou" type="xs:string" />
+ <xs:element name="gvSecClass" type="gvSecClassType"
+ minOccurs="0" />
+ </xs:sequence>
+ <xs:anyAttribute namespace="##any" processContents="lax" />
+ </xs:complexType>
+ <xs:simpleType name="gvSecClassType">
+ <xs:restriction base="xs:integer">
+ <xs:enumeration value="0" />
+ <xs:enumeration value="1" />
+ <xs:enumeration value="2" />
+ <xs:enumeration value="3" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="gvVersionType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="1.0" />
+ <xs:enumeration value="1.1" />
+ <xs:enumeration value="1.2" />
+ <xs:enumeration value="1.8" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:element name="role">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="param" maxOccurs="unbounded" />
+ <xs:element name="dummy" minOccurs="0" />
+ </xs:sequence>
+ <xs:attribute name="value" type="xs:string" use="required" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="param">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="key" type="xs:string" />
+ <xs:element name="value" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
+
diff --git a/src/main/resources/wsdl/szr/szr_pvp_sec.xsd b/src/main/resources/wsdl/szr/szr_pvp_sec.xsd
new file mode 100644
index 0000000..1ac9f89
--- /dev/null
+++ b/src/main/resources/wsdl/szr/szr_pvp_sec.xsd
@@ -0,0 +1,11 @@
+<xs:schema elementFormDefault="qualified"
+ targetNamespace="http://schemas.xmlsoap.org/ws/2002/04/secext" xmlns:pvp="http://egov.gv.at/pvp1.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:import namespace="http://egov.gv.at/pvp1.xsd" schemaLocation="szr_pvp.xsd"/>
+ <xs:element name="Security">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="pvp:pvpToken" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+</xs:schema> \ No newline at end of file
diff --git a/src/main/resources/wsdl/szr/szr_v2.0.xsd b/src/main/resources/wsdl/szr/szr_v2.0.xsd
new file mode 100644
index 0000000..f4b3907
--- /dev/null
+++ b/src/main/resources/wsdl/szr/szr_v2.0.xsd
@@ -0,0 +1,282 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema elementFormDefault="qualified" targetNamespace="urn:SZRServices" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:szr="urn:SZRServices"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <xs:import
+ namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#" schemaLocation="szr_persondata.xsd"/>
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="szr_xmldsig.xsd" />
+ <xs:element name="SZRException" type="szr:SZRException" />
+ <xs:complexType name="SZRException" />
+ <xs:complexType name="PersonInfoType">
+ <xs:sequence>
+ <xs:element name="Person" type="pd:PhysicalPersonType" />
+ <xs:element name="RegularDomicile" minOccurs="0"
+ type="pd:PostalAddressType" />
+ <xs:element name="AddressCodes" minOccurs="0"
+ type="szr:AddressCodesType" />
+ <xs:element name="TravelDocument" nillable="true"
+ minOccurs="0" type="szr:TravelDocumentType" />
+ <xs:element name="DateOfBirthWildcard" nillable="true"
+ minOccurs="0" type="xs:boolean" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TravelDocumentType">
+ <xs:sequence>
+ <xs:element name="DocumentNumber" minOccurs="0" type="xs:string" />
+ <xs:element name="DocumentType" minOccurs="0" type="xs:string" />
+ <xs:element name="IssueDate" minOccurs="0" type="xs:string" />
+ <xs:element name="IssuingAuthority" minOccurs="0" type="xs:string" />
+ <xs:element name="IssuingCountry" minOccurs="0" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AddressCodesType">
+ <xs:sequence>
+ <xs:element name="GKZ" minOccurs="0" type="xs:string" />
+ <xs:element name="OKZ" minOccurs="0" type="xs:string" />
+ <xs:element name="SKZ" minOccurs="0" type="xs:string" />
+ <xs:element name="ADRCD" minOccurs="0" type="xs:string" />
+ <xs:element name="SUBCD" minOccurs="0" type="xs:string" />
+ <xs:element name="OBJNR" minOccurs="0" type="xs:string" />
+ <xs:element name="NTZLNR" minOccurs="0" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="TransformBPK">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="PersonInfo" type="szr:PersonInfoType" />
+ <xs:element name="InputBPK" type="xs:string" />
+ <xs:element name="InputBereichsKennung" type="xs:string" />
+ <xs:element name="Begruendung" type="xs:string" />
+ <xs:element maxOccurs="unbounded" name="Target"
+ type="szr:FremdBPKRequestType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TransformBPKResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" name="TransformBPKReturn"
+ type="szr:FremdBPKType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="IdentityLinkType">
+ <xs:sequence>
+ <xs:element name="PersonInfo" type="szr:PersonInfoType" />
+ <xs:element name="Assertion" type="xs:anyType" />
+ <xs:element name="AdditionalInfo" minOccurs="0" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GetBPKKombiRequestType">
+ <xs:sequence>
+ <xs:element name="PersonInfo" type="szr:PersonInfoType" />
+ <xs:element name="InsertERnP" minOccurs="0">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="NoInsert" />
+ <xs:enumeration value="InsertOnNoMatch" />
+ <xs:enumeration value="ForceInsert" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Suchwizard" type="xs:boolean" minOccurs="0" />
+ <xs:element name="VKZ" type="xs:string" />
+ <xs:element name="BehoerdenKennzeichen" minOccurs="0"
+ type="xs:string" />
+ <xs:element name="BereichsKennung" type="xs:string" />
+ <xs:element name="Target" minOccurs="0" maxOccurs="unbounded"
+ type="szr:FremdBPKRequestType" />
+ <xs:element name="Sessionid" type="xs:string" minOccurs="0" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GetBPKKombiResponseType">
+ <xs:sequence>
+ <xs:element name="ResultRecord" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="PersonInfo" type="szr:PersonInfoType" />
+ <xs:element name="Register" type="xs:string" />
+ <xs:element name="bPK" type="xs:string" />
+ <xs:element name="FremdBPK" minOccurs="0" maxOccurs="unbounded"
+ type="szr:FremdBPKType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="InsertERnPResult" type="xs:boolean" />
+ <xs:element name="FoundWithSuchwizard" type="xs:boolean" />
+ <xs:element name="Sessionid" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="GetIdentityLink">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="PersonInfo" type="szr:PersonInfoType" />
+ <xs:element name="KeyValue" type="dsig:KeyValueType"
+ maxOccurs="unbounded" />
+ <xs:element name="InsertERnP" type="xs:boolean"
+ minOccurs="0" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GetIdentityLinkResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="GetIdentityLinkReturn" type="szr:IdentityLinkType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GetBPK">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="PersonInfo" type="szr:PersonInfoType" />
+ <xs:element name="BereichsKennung" type="xs:string" />
+ <xs:element name="VKZ" type="xs:string" />
+ <xs:element name="Target" type="szr:FremdBPKRequestType"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xs:element name="ListMultiplePersons" type="xs:boolean"
+ minOccurs="0" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GetBPKResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="GetBPKReturn" type="xs:string"
+ minOccurs="0" />
+ <xs:element name="FremdBPK" type="szr:FremdBPKType"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xs:element name="PersonInfo" type="szr:PersonInfoType"
+ minOccurs="0" maxOccurs="5" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GetBPKKombi">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="GetBPKKombiRequest" type="szr:GetBPKKombiRequestType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GetBPKKombiResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="GetBPKKombiResponse" type="szr:GetBPKKombiResponseType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ValidateIdentityLink">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="IdentityLink" type="szr:IdentityLinkType" />
+ <xs:element name="BereichsKennung" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ValidateIdentityLinkResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ValidateIdentityLinkReturn" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="BPKzuBasiszahl">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Bereich" type="xs:string" />
+ <xs:element name="BPK" type="xs:string" />
+ <xs:element name="BasisZahl" maxOccurs="unbounded" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="BPKzuBasiszahlResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="BPKzuBasiszahlReturn" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="FremdBPKRequestType">
+ <xs:sequence>
+ <xs:element name="BereichsKennung" type="xs:string" />
+ <xs:element name="VKZ" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="FremdBPKType">
+ <xs:sequence>
+ <xs:element name="BereichsKennung" type="xs:string" />
+ <xs:element name="FremdBPK" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="BasiszahlZuBPK">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="BasisZahl" type="xs:string" maxOccurs="unbounded" />
+ <xs:element name="Bereich" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="FremdBPKTargets"
+ type="szr:FremdBPKRequestType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="BasiszahlZuBPKReturnType">
+ <xs:sequence>
+ <xs:element name="BPK" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="FremdBPKs"
+ type="szr:FremdBPKType" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="BasiszahlZuBPKResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="BasiszahlZuBPKReturn" type="szr:BasiszahlZuBPKReturnType"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ZMRAnwendungsIntegration">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Bereich" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="FremdBPKTargets"
+ type="szr:FremdBPKRequestType" />
+ <xs:element name="ZMRfremdbPK" maxOccurs="unbounded"
+ type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="ZMRAnwendungsIntegrationReturnType">
+ <xs:sequence>
+ <xs:element name="BPK" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="FremdBPKs"
+ type="szr:FremdBPKType" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="ZMRAnwendungsIntegrationResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ZMRAnwendungsIntegrationReturn" type="szr:ZMRAnwendungsIntegrationReturnType"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GetStammzahl">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="PersonInfo" type="szr:PersonInfoType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GetStammzahlResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Stammzahl" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GetVersion" />
+ <xs:element name="GetVersionResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Version" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+</xs:schema> \ No newline at end of file
diff --git a/src/main/resources/wsdl/szr/szr_xmldsig.xsd b/src/main/resources/wsdl/szr/szr_xmldsig.xsd
new file mode 100644
index 0000000..1433368
--- /dev/null
+++ b/src/main/resources/wsdl/szr/szr_xmldsig.xsd
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ecdsa="http://www.w3.org/2001/04/xmldsig-more#"
+ targetNamespace="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#">
+ <xs:import namespace="http://www.w3.org/2001/04/xmldsig-more#" schemaLocation="szr_ecdsa.xsd"/>
+ <xs:complexType name="KeyValueType">
+ <xs:sequence>
+ <xs:element name="DSAKeyValue" minOccurs="0"
+ type="dsig:DSAKeyValueType" />
+ <xs:element name="RSAKeyValue" minOccurs="0"
+ type="dsig:RSAKeyValueType" />
+ <xs:element ref="ecdsa:ECDSAKeyValue" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DSAKeyValueType">
+ <xs:sequence>
+ <xs:element name="P" minOccurs="0" type="xs:string" />
+ <xs:element name="Q" minOccurs="0" type="xs:string" />
+ <xs:element name="J" minOccurs="0" type="xs:string" />
+ <xs:element name="G" minOccurs="0" type="xs:string" />
+ <xs:element name="Y" minOccurs="0" type="xs:string" />
+ <xs:element name="PgenCounter" minOccurs="0" type="xs:string" />
+ <xs:element name="Seed" minOccurs="0" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="RSAKeyValueType">
+ <xs:sequence>
+ <xs:element name="Modulus" minOccurs="0" type="xs:string" />
+ <xs:element name="Exponent" minOccurs="0" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
diff --git a/src/main/resources/wsdl/szrgw/old/SZR-GW-0.0.1.xsd b/src/main/resources/wsdl/szrgw/old/SZR-GW-0.0.1.xsd
new file mode 100644
index 0000000..7b47ce9
--- /dev/null
+++ b/src/main/resources/wsdl/szrgw/old/SZR-GW-0.0.1.xsd
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sgw="http://reference.e-government.gv.at/namespace/szrgw/20070807#" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:md="http://reference.e-government.gv.at/namespace/mandates/20040701#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" targetNamespace="http://reference.e-government.gv.at/namespace/szrgw/20070807#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.0.1">
+ <xs:import namespace="urn:oasis:names:tc:SAML:1.0:assertion" schemaLocation="cs-sstc-schema-assertion-01.xsd"/>
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#" schemaLocation="PersonData_20_en.xsd"/>
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/mandates/20040701#" schemaLocation="Mandate_1.0.0.xsd"/>
+ <xs:element name="CreateMandateRequest" type="sgw:CreateMandateRequestType">
+ <xs:annotation>
+ <xs:documentation>Pseudo Vollmacht erstellen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="CreateMandateRequestType">
+ <xs:sequence>
+ <xs:element name="Representative" type="pr:PhysicalPersonType"/>
+ <xs:element name="Mandator">
+ <xs:complexType>
+ <xs:choice>
+ <xs:sequence>
+ <xs:element ref="pr:PhysicalPerson"/>
+ <xs:element ref="pr:PostalAddress" minOccurs="0"/>
+ </xs:sequence>
+ <xs:sequence>
+ <xs:element ref="pr:CorporateBody"/>
+ </xs:sequence>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Signature">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any namespace="##any" processContents="skip"/>
+ </xs:sequence>
+ <xs:attribute name="SignatureLocation"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="CreateMandateResponse" type="sgw:CreateMandateResponseType">
+ <xs:annotation>
+ <xs:documentation>Antwort auf Pseudo Vollmachts-Request</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="CreateMandateResponseType">
+ <xs:choice>
+ <xs:element ref="md:Mandate"/>
+ <xs:element name="ErrorResponse" type="sgw:ErrorResponseType"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:element name="CreateSAMLRequest">
+ <xs:annotation>
+ <xs:documentation>SAML Struktur erzeugen</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="dsig:X509Data"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CreateSAMLResponse">
+ <xs:annotation>
+ <xs:documentation>Antwort auf SAML-Create Request</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:choice>
+ <xs:element ref="saml:Assertion"/>
+ <xs:element name="ErrorResponse" type="sgw:ErrorResponseType"/>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CreateIdentityLinkRequest">
+ <xs:annotation>
+ <xs:documentation>Personenbindung fuer Nicht-Osterreicher erzeugen</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="dsig:X509Data"/>
+ <xs:element name="Signature">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any namespace="##any" processContents="skip"/>
+ </xs:sequence>
+ <xs:attribute name="SignatureLocation"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CreateIdentityLinkResponse">
+ <xs:annotation>
+ <xs:documentation>Antwort auf Personenbindung-Request</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:choice>
+ <xs:element ref="saml:Assertion"/>
+ <xs:element name="ErrorResponse" type="sgw:ErrorResponseType"/>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="ErrorResponseType">
+ <xs:annotation>
+ <xs:documentation>Allgemeiner Typ fuer ErrorResponse</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="ErrorCode"/>
+ <xs:element name="Info"/>
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
diff --git a/src/main/resources/wsdl/szrgw/old/SZR-GW-0.0.2.xsd b/src/main/resources/wsdl/szrgw/old/SZR-GW-0.0.2.xsd
new file mode 100644
index 0000000..38ab295
--- /dev/null
+++ b/src/main/resources/wsdl/szrgw/old/SZR-GW-0.0.2.xsd
@@ -0,0 +1,127 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSpy v2006 sp2 U (http://www.altova.com) by Martin Centner (Technische Universität Graz) -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sgw="http://reference.e-government.gv.at/namespace/szrgw/20070807#" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:md="http://reference.e-government.gv.at/namespace/mandates/20040701#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" targetNamespace="http://reference.e-government.gv.at/namespace/szrgw/20070807#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.0.1">
+ <xs:import namespace="urn:oasis:names:tc:SAML:1.0:assertion" schemaLocation="cs-sstc-schema-assertion-01.xsd"/>
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#" schemaLocation="PersonData_20_en.xsd"/>
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/mandates/20040701#" schemaLocation="Mandate_1.0.0.xsd"/>
+ <xs:element name="CreateMandateRequest" type="sgw:CreateMandateRequestType">
+ <xs:annotation>
+ <xs:documentation>Pseudo Vollmacht erstellen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="CreateMandateRequestType">
+ <xs:sequence>
+ <xs:element name="Representative">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="saml:Assertion"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Mandator">
+ <xs:complexType>
+ <xs:choice>
+ <xs:sequence>
+ <xs:element ref="pr:PhysicalPerson"/>
+ <xs:element ref="pr:PostalAddress" minOccurs="0"/>
+ </xs:sequence>
+ <xs:sequence>
+ <xs:element ref="pr:CorporateBody"/>
+ </xs:sequence>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Signature">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any namespace="##any" processContents="skip"/>
+ </xs:sequence>
+ <xs:attribute name="SignatureLocation"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="CreateMandateResponse" type="sgw:CreateMandateResponseType">
+ <xs:annotation>
+ <xs:documentation>Antwort auf Pseudo Vollmachts-Request</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="CreateMandateResponseType">
+ <xs:choice>
+ <xs:element ref="md:Mandate"/>
+ <xs:element name="ErrorResponse" type="sgw:ErrorResponseType"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:element name="CreateSAMLRequest">
+ <xs:annotation>
+ <xs:documentation>SAML Struktur erzeugen</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="dsig:X509Data"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CreateSAMLResponse">
+ <xs:annotation>
+ <xs:documentation>Antwort auf SAML-Create Request</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:choice>
+ <xs:element ref="saml:Assertion"/>
+ <xs:element name="ErrorResponse" type="sgw:ErrorResponseType"/>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CreateIdentityLinkRequest">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="PEPSData" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Identifier" type="xs:string" minOccurs="0"/>
+ <xs:element name="Firstname" type="xs:string" minOccurs="0"/>
+ <xs:element name="Familyname" type="xs:string" minOccurs="0"/>
+ <xs:element name="DateOfBirth" type="sgw:DateOfBirthType" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Signature">
+ <xs:complexType>
+ <xs:choice>
+ <xs:element name="XMLContent" type="xs:anyType"/>
+ <xs:element name="Base64Content" type="xs:base64Binary"/>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CreateIdentityLinkResponse">
+ <xs:annotation>
+ <xs:documentation>Antwort auf Personenbindung-Request</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:choice>
+ <xs:element ref="saml:Assertion"/>
+ <xs:element name="ErrorResponse" type="sgw:ErrorResponseType"/>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:simpleType name="DateOfBirthType">
+ <xs:annotation>
+ <xs:documentation>simple type for dates (union), which may omit day and/or month</xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear"/>
+ </xs:simpleType>
+ <xs:complexType name="ErrorResponseType">
+ <xs:annotation>
+ <xs:documentation>Allgemeiner Typ fuer ErrorResponse</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="ErrorCode"/>
+ <xs:element name="Info"/>
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
diff --git a/src/main/resources/wsdl/szrgw/stork.xsd b/src/main/resources/wsdl/szrgw/stork.xsd
new file mode 100644
index 0000000..fa216ca
--- /dev/null
+++ b/src/main/resources/wsdl/szrgw/stork.xsd
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:stork="urn:eu:stork:names:tc:PEPS:1.0:assertion" targetNamespace="urn:eu:stork:names:tc:PEPS:1.0:assertion" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:complexType name="representationPerson">
+ <xs:choice>
+ <xs:sequence>
+ <xs:element name="eIdentifier" type="xs:string" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="givenName" type="xs:string" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="surname" type="xs:string" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="dateOfBirth" type="xs:date" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="fiscalNumber" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ </xs:sequence>
+ <xs:sequence>
+ <xs:element name="eLPIdentifier" type="xs:string" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="legalName" type="xs:string" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="canonicalRegisteredAddress" type="stork:canonicalAddressType" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="type" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ <xs:element name="translatableType" type="xs:string" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="LPfiscalNumber" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ </xs:sequence>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="mandateContent">
+ <xs:sequence>
+ <xs:element name="validFrom" type="xs:date" minOccurs="0" maxOccurs="1"/>
+ <xs:element name="validTo" type="xs:date" minOccurs="0" maxOccurs="1"/>
+ <xs:element name="isJoint" type="xs:integer" minOccurs="0" maxOccurs="1"/>
+ <xs:element name="isChained" type="xs:boolean" minOccurs="0" maxOccurs="1"/>
+ <xs:element name="typePower" type="xs:integer" minOccurs="1" maxOccurs="1"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="canonicalAddressType">
+ <xs:sequence>
+ <xs:element ref="stork:countryCodeAddress"/>
+ <xs:element name="state" type="xs:string" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="municipalityCode" type="xs:string" minOccurs="0"/>
+ <xs:element name="town" type="xs:string" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="postalCode" type="xs:string" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="streetName" type="xs:string" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="streetNumber" type="xs:string" minOccurs="0"/>
+ <xs:element name="apartmentNumber" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="countryCodeAddress">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="2"/>
+ <xs:minLength value="2"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+</xs:schema>
diff --git a/src/main/resources/wsdl/szrgw/szr-gw-0.0.3.xsd b/src/main/resources/wsdl/szrgw/szr-gw-0.0.3.xsd
new file mode 100644
index 0000000..8ff05a9
--- /dev/null
+++ b/src/main/resources/wsdl/szrgw/szr-gw-0.0.3.xsd
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sgw="http://reference.e-government.gv.at/namespace/szrgw/20070807/xsd" xmlns:pr="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:stork="urn:eu:stork:names:tc:PEPS:1.0:assertion" xmlns:mis="http://reference.e-government.gv.at/namespace/mandates/mis/1.0/xsd" targetNamespace="http://reference.e-government.gv.at/namespace/szrgw/20070807/xsd" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.0.1">
+ <xs:import namespace="urn:oasis:names:tc:SAML:1.0:assertion" schemaLocation="../cs-sstc-schema-assertion-01.xsd"/>
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/20020228#" schemaLocation="../PersonData_20_en_moaWID.xsd"/>
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="../W3C-XMLDSig.xsd"/>
+ <xs:import namespace="urn:eu:stork:names:tc:PEPS:1.0:assertion" schemaLocation="stork.xsd"/>
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/mandates/mis/1.0/xsd" schemaLocation="../mis/mis-1.0.3.xsd"/>
+ <xs:element name="CreateIdentityLinkRequest">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="PEPSData" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Identifier" type="xs:string" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="Firstname" type="xs:string" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="Familyname" type="xs:string" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="DateOfBirth" type="sgw:DateOfBirthType" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="Representative" type="stork:representationPerson" minOccurs="0" maxOccurs="1"/>
+ <xs:element name="Represented" type="stork:representationPerson" minOccurs="0" maxOccurs="1"/>
+ <xs:element name="MandateContent" type="stork:mandateContent" minOccurs="0" maxOccurs="1"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Signature">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Base64Content" type="xs:base64Binary" minOccurs="1"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element ref="mis:MandateIdentifiers" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CreateIdentityLinkResponse">
+ <xs:annotation>
+ <xs:documentation>Antwort auf Personenbindung-Request</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:choice>
+ <xs:sequence>
+ <xs:element name="IdentityLink" type="xs:base64Binary" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="Mandate" type="xs:base64Binary" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:sequence>
+ <xs:element name="ErrorResponse" type="sgw:ErrorResponseType"/>
+ </xs:sequence>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:simpleType name="DateOfBirthType">
+ <xs:annotation>
+ <xs:documentation>simple type for dates (union), which may omit day and/or month</xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear"/>
+ </xs:simpleType>
+ <xs:complexType name="ErrorResponseType">
+ <xs:annotation>
+ <xs:documentation>Allgemeiner Typ fuer ErrorResponse</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="ErrorCode"/>
+ <xs:element name="Info"/>
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
diff --git a/src/main/resources/wsdl/szrgw/szrgw.wsdl b/src/main/resources/wsdl/szrgw/szrgw.wsdl
new file mode 100644
index 0000000..2a240d9
--- /dev/null
+++ b/src/main/resources/wsdl/szrgw/szrgw.wsdl
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:szrgw="http://reference.e-government.gv.at/namespace/szrgw/20070807/xsd" xmlns:tns="http://reference.e-government.gv.at/namespace/szrgw/20070807/wsdl" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns="http://reference.e-government.gv.at/namespace/mandates/mis/1.0/xsd" xmlns:ns1="http://reference.e-government.gv.at/namespace/persondata/20020228#" xmlns:ns2="http://www.w3.org/2000/09/xmldsig#" xmlns:ns3="urn:eu:stork:names:tc:PEPS:1.0:assertion" xmlns:ns4="urn:oasis:names:tc:SAML:1.0:assertion" name="szrgw" targetNamespace="http://reference.e-government.gv.at/namespace/szrgw/20070807/wsdl">
+ <wsdl:types>
+ <xs:schema>
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/szrgw/20070807/xsd" schemaLocation="szr-gw-0.0.3.xsd"/>
+ </xs:schema>
+ </wsdl:types>
+ <wsdl:message name="CreateIdentityLinkRequest">
+ <wsdl:part name="CreateIdentityLinkRequest" element="szrgw:CreateIdentityLinkRequest"/>
+ </wsdl:message>
+ <wsdl:message name="CreateIdentityLinkResponse">
+ <wsdl:part name="CreateIdentityLinkResponse" element="szrgw:CreateIdentityLinkResponse"/>
+ </wsdl:message>
+ <wsdl:portType name="SZRGWType">
+ <wsdl:operation name="SZRGWOperation">
+ <wsdl:input message="tns:CreateIdentityLinkRequest"/>
+ <wsdl:output message="tns:CreateIdentityLinkResponse"/>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="SZRGWBinding" type="tns:SZRGWType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="SZRGWOperation">
+ <soap:operation soapAction="szrgw:SZRGWType#SZRGWOperation" style="document"/>
+ <wsdl:input>
+ <soap:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="SZRGWService">
+ <wsdl:port name="SZRGWPort" binding="tns:SZRGWBinding">
+ <soap:address location="http://localhost:8000/szr-gateway/IdentityLinkCreation"/>
+ </wsdl:port>
+ </wsdl:service>
+
+</wsdl:definitions>
diff --git a/src/main/resources/wsdl/ur/PersonData_20_dt.xsd b/src/main/resources/wsdl/ur/PersonData_20_dt.xsd
new file mode 100644
index 0000000..71c830d
--- /dev/null
+++ b/src/main/resources/wsdl/ur/PersonData_20_dt.xsd
@@ -0,0 +1,378 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Paul (thx) -->
+<!-- edited with XML Spy v4.1 U (http://www.xmlspy.com) by Peter Reichstädter (CIO) -->
+<!--Generisches Schema zum Speichern und Austauschen von Personendaten
+ (c) 2001-2002 Chief Information Office Austria, Stabsstelle IKT-Strategie des Bundes, BMÖLS
+ Kontakt: Peter Reichstädter (peter.reichstaedter@cio.gv.at), Arno Hollosi (arno.hollosi@cio.gv.at)
+ Die freie Verwendung dieses Schemas in Applikationen (behördenintern, kommerziell, privat) ist erlaubt und erwünscht.
+-->
+<?xml-stylesheet type="text/xsl" href="getelementnames.xslt"?>
+<xs:schema targetNamespace="http://reference.e-government.gv.at/namespace/persondata/de/20040201#" xmlns="http://reference.e-government.gv.at/namespace/persondata/de/20040201#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0.0">
+
+ <xs:annotation>
+ <xs:documentation>This version of person deploys only global elements. All types derived from abstract types have been replaced by substitution groups</xs:documentation>
+ </xs:annotation>
+ <!-- ### signed structure of a person ### -->
+ <xs:element name="AbstractPersonData" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes PersonenDaten Element, nur auf englisch verfügbar, nicht direkt benützen sondern PersonenDaten benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PersonenDaten" type="PersonenDatenTyp" substitutionGroup="AbstractPersonData">
+ <xs:annotation>
+ <xs:documentation>Signierte Personendatenstruktur</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- ### base type for person data ### -->
+ <xs:element name="Person" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Personen Element, nur auf englisch verfügbar, nicht direkt benützen sondern NatuerlichePerson o. NichtNatuerlichePerson benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- ### physical person and corporate body ### -->
+ <xs:element name="NatuerlichePerson" type="NatuerlichePersonTyp" substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>Natuerliche Person entspricht PhysicalPerson, ist eine Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="NichtNatuerlichePerson" type="NichtNatuerlichePersonTyp" substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>NichtNatuerlichePerson entspricht CorporatzeBody, ist Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### complex child elements of person, also available as standalone ###-->
+ <xs:element name="PersonenName" type="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>Container für diverse Namensbestandteile, entspricht Name in der englischen Version</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+
+ <!-- ### adress data for various types of communications ### -->
+ <xs:element name="Address" type="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Address Element, nur auf Englisch verfügbar, nicht direkt benützen sondern PostAdresse, InternetAdresse, etc benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PostAdresse" type="PostAdresseTyp" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Post oder ZMR Adresse, entspricht PostalAddress, ist Ableitung von Address (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="TypisiertePostAdresse" type="TypisiertePostAdresseTyp" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Typisierte Post oder ZMRAdresse, entspricht TypedPostalAddress, ist Ableitung von Address (abstract) </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### elements of simple type ####-->
+ <xs:element name="Geburtsdatum" type="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>Geburtsdatum, entspricht DateOfBirth</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <!--### Complex types ###-->
+
+ <xs:complexType name="PersonenDatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <xs:element ref="Person"/>
+ <xs:element ref="Address" minOccurs="0" maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" minOccurs="0">
+ <xs:complexType mixed="true">
+ <xs:sequence minOccurs="0" maxOccurs="unbounded">
+ <xs:any namespace="##any" processContents="lax">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ </xs:sequence>
+
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+
+
+<xs:complexType name="IdentificationType">
+ <xs:annotation>
+ <xs:documentation>Container für beliebige Identifikationsmerkmale, besteht aus Type und Value Unterelementen, aus technischen Gründen nur auf Englisch verfügbar</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Value">
+ <xs:annotation>
+ <xs:documentation>actual value of the identifier.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Type" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>type of value (eg 'ZMR', 'SV-Nummer', 'Martrikelnummer', database identification, ...)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ <xs:anyAttribute namespace="##other"/>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>main structure of person data</xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0">
+ <xs:element name="Identification" type="IdentificationType" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>unique identification entities</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ <xs:anyAttribute namespace="##other"/>
+ </xs:complexType>
+
+
+ <xs:complexType name="NatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PhysicalPersonType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PersonenName" minOccurs="0"/>
+ <xs:element ref="Geburtsdatum" minOccurs="0"/>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+
+ <xs:complexType name="NichtNatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht CorporateBodyType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="VollerName" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>name of corporate body (whole name)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Rechtsform" type="xs:anyURI" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>type of company (eg AG, OHG, ...)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht NameType</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Vorname" type="xs:string" minOccurs="1" maxOccurs="1"/>
+ <xs:element name="Familienname" minOccurs="1" maxOccurs="1">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="primaer" default="undefiniert">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="wahr"/>
+ <xs:enumeration value="falsch"/>
+ <xs:enumeration value="undefiniert"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="prefix" type="xs:string"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Affix" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="typ" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="akademischerGrad"/>
+ <xs:enumeration value="Adelstitel"/>
+ <xs:enumeration value="FamiliennamenAffix"/>
+ <xs:enumeration value="Anrede"/>
+ <xs:enumeration value="Generation"/>
+ <xs:enumeration value="Qualifikation"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="position" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="prefix"/>
+ <xs:enumeration value="suffix"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Struktur des Abstrakten Address Elements</xs:documentation>
+ </xs:annotation>
+
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ <xs:anyAttribute namespace="##other"/>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="TypisiertePostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht TypedPostalAddressType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence minOccurs="0">
+
+ <xs:element ref="PostAdresse"/>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+ <xs:complexType name="PostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalAddressType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence>
+ <xs:element name="Staatscode" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Staatencode, ISO Code oder internationaler Post code, entspricht CountryCode</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{3}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Postleitzahl" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalCode</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="Gemeinde" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht Municipality</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Gemeindekennziffer" minOccurs="0"/>
+ <xs:element name="Ortschaft" type="xs:token" minOccurs="0"/>
+ <xs:element name="Zustelladresse" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Zustelladresse oder ZMRAdresse, entspricht DeliveryAddress</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Strassenname" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Bei Ortschaften ohne Straßenname steht hier Ortschaftsname, entspricht StreetName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Orientierungsnummer" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Hausnummer oder Konskriptionsnummer, z.B. 10, 124a, 78-80. Entpricht BuildingNumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="type" default="undefiniert">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Postfachadresse"/>
+ <xs:enumeration value="Anschrift"/>
+ <xs:enumeration value="MilitaerischeAdresse"/>
+ <xs:enumeration value="undefiniert"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <!-- ### auxiliary types ### -->
+ <xs:simpleType name="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>einfacher Datentyp für Daten (union): Tag und/oder Monta können ausgelassen werden, entspricht DayOfBirthType</xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear"/>
+ </xs:simpleType>
+
+</xs:schema>
diff --git a/src/main/resources/wsdl/ur/URSucheService.wsdl b/src/main/resources/wsdl/ur/URSucheService.wsdl
new file mode 100644
index 0000000..c65db86
--- /dev/null
+++ b/src/main/resources/wsdl/ur/URSucheService.wsdl
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+Adaptierung der Datei "XmlSwService.wsdl"
+
+*) Ändern WS Name
+*) Ändern des targetNameSpaces
+
+
+
+*****************************************************
+File XmlSwService.wsdl
+
+Version 1.0 / 23.03.2004
+
+Author Franz-Josef Herpers / fjh consulting
+
+Copyright (c) 2004, 2005 Bundeskanzleramt Österreich
+
+*****************************************************
+
+-->
+<wsdl:definitions name="URSuche"
+ targetNamespace="urn:at:statistik:udb:ws"
+ xmlns:tns="urn:at:statistik:udb:ws"
+ xmlns:sw="http://reference.e-government.gv.at/namespace/xml-sw/1#"
+ xmlns:ud="http://statistik.at/namespace/ur/stammdaten/1#"
+ xmlns:soapbinding="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <wsdl:documentation> Dieses WSDL-Dokument beschreibt den
+ XML-Search-Service. </wsdl:documentation>
+ <wsdl:types>
+ <xsd:schema>
+ <xsd:import
+ namespace="http://reference.e-government.gv.at/namespace/xml-sw/1#"
+ schemaLocation="xml-sw.xsd"/>
+
+ <xsd:import
+ namespace="http://statistik.at/namespace/ur/stammdaten/1#"
+ schemaLocation="unternehmenssuche.xsd"/>
+ <xsd:import
+ namespace="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ schemaLocation="PersonData_20_dt.xsd"/>
+
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="SearchByExample">
+ <wsdl:documentation>
+ Nachricht, die für eine Suchanfrage
+ vom Typ Search by Example vom Client abgesendet wird
+ </wsdl:documentation>
+ <wsdl:part name="body" element="sw:SearchByExample"/>
+ </wsdl:message>
+ <wsdl:message name="SearchById">
+ <wsdl:documentation> Nachricht, die für eine Suchanfrage
+ vom Typ Search by Id vom Client abgesendet wird
+ </wsdl:documentation>
+ <wsdl:part name="body" element="sw:SearchById"/>
+ </wsdl:message>
+ <wsdl:message name="SearchResponse">
+ <wsdl:documentation> Nachricht, die vom Server als
+ Antwort auf eine der beiden Suchanfragen
+ zurückgesendet wird
+ </wsdl:documentation>
+ <wsdl:part name="body" element="sw:SearchResponse"/>
+ </wsdl:message>
+ <wsdl:portType name="URSuche">
+ <wsdl:operation name="searchByExample">
+ <wsdl:documentation> Operation für den Abfragetyp
+ Search by Example
+ </wsdl:documentation>
+ <wsdl:input message="tns:SearchByExample"/>
+ <wsdl:output message="tns:SearchResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="searchById">
+ <wsdl:documentation> Operation für den Abfragetyp
+ Search by Id
+ </wsdl:documentation>
+ <wsdl:input message="tns:SearchById"/>
+ <wsdl:output message="tns:SearchResponse"/>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="URSucheServiceSoapBinding"
+ type="tns:URSuche">
+ <wsdl:documentation> Definition des Binding für den
+ Search Service
+ </wsdl:documentation>
+ <soapbinding:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="searchByExample">
+ <soapbinding:operation
+ soapAction=""
+ style="document"/>
+ <wsdl:input>
+ <soapbinding:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soapbinding:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="searchById">
+ <soapbinding:operation
+ soapAction=""
+ style="document"/>
+ <wsdl:input>
+ <soapbinding:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soapbinding:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="URSucheService">
+ <wsdl:port binding="tns:URSucheServiceSoapBinding"
+ name="URSucheService">
+ <soapbinding:address
+ location="http://localhost:9081/udb/URSucheService"
+ />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/src/main/resources/wsdl/ur/specific/CustomFault.xsd b/src/main/resources/wsdl/ur/specific/CustomFault.xsd
new file mode 100644
index 0000000..c73d667
--- /dev/null
+++ b/src/main/resources/wsdl/ur/specific/CustomFault.xsd
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <xs:element name="Message" type="CustomFaultType"/>
+
+ <xs:complexType name="CustomFaultType" final="extension">
+ <xs:annotation>
+ <xs:documentation>CustomFault reporting structure</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Code" type="xs:integer"/>
+ <xs:element name="Reason" type="xs:string" maxOccurs="unbounded"/>
+ <xs:element name="Help" type="xs:string" minOccurs="0"/>
+ <xs:element name="Detail" type="xs:anyType" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+</xs:schema>
diff --git a/src/main/resources/wsdl/ur/unternehmenssuche.xsd b/src/main/resources/wsdl/ur/unternehmenssuche.xsd
new file mode 100644
index 0000000..d36d1b3
--- /dev/null
+++ b/src/main/resources/wsdl/ur/unternehmenssuche.xsd
@@ -0,0 +1,326 @@
+<!--
+ 2011-09-16 sml V2.0.3 Erweiterung um DecodeBpkRequest
+ 2011-09-15 sml V2.0.2 Erweiterung um bpkWTUREncoded in SucheUnternehmenNachBpkRequest
+ 2011-07-01 sml V2.0.1 Erweiterung Response um Aenddat bei SucheUnternehmenNachAendDat
+ 2011-05-13 sml V2.0 Erweiterung um SucheUnternehmenNachBpkRequest, SucheUnternehmenNachAendDatRequest
+ 2010-10-12 sml V1.1.1 Einbau div. Textfelder; Vereinheitlichung <Beginn> und <Ende>, Ortsname hinzugefügt
+ 2010-07-22 sml V1.1.0 Umbau auf konforme xml-sw Struktur:
+ * Namespace http://statistik.at/namespace/ur/stammdaten/1 hinzugefügt
+ * HoleUStammdatenRequest hinzugefügt
+ * SucheUnternehmenRequest hinzugefügt
+ 2010-05-31 sml V1.0.4 Elemente rechtsform/reFormExtern, funktion/einzelvertretung, funktion/vertretungsbefugnisText, funktion/vertretungsbefugnisBeginn hinzugefügt;
+ Element unternehmen/udbId reaktiviert;
+ Kardinalitäten untName, rechtsform, untAdresse auf minOccurs=0; extKey auf minOccurs=1 geändert
+ 2010-02-16 sml V1.0.3 Zustelladresse entfernt
+ 2009-11-19 sml V1.0.2 Elemente unternehmen/udbId, untName/nachname, untName/vorname, untName/titel, untName/gebDatum entfernt
+ 2009-09-15 sml V1.0.1 Änderung Kardinalität Person <-> PersonenAdresse
+ 2009-08-12 sml V1.0.0 Ersterstellung
+-->
+
+<xsd:schema targetNamespace="http://statistik.at/namespace/ur/stammdaten/1#"
+ xmlns:std="http://statistik.at/namespace/ur/stammdaten/1#" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:st="http://statistik.at/namespace/ur/simpleTypes/1#"
+ elementFormDefault="qualified">
+
+ <xsd:import namespace="http://statistik.at/namespace/ur/simpleTypes/1#"
+ schemaLocation="ur-simpleTypes.xsd" />
+
+
+ <!-- Requestobjekte -->
+
+ <xsd:element name="SucheUnternehmenNachIdsRequest" type="std:SucheUnternehmenNachIdsRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Stammdatenabfrage für Unternehmen durch Angabe einer oder mehrerer UR Kennziffern
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:complexType name="SucheUnternehmenNachIdsRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="kur" type="st:KurTyp" minOccurs="1"
+ maxOccurs="unbounded" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:element name="SucheUnternehmenNachBpkRequest" type="std:SucheUnternehmenNachBpkRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Suche nach Vertretungsbefugnissen von Personen in Unternehmen mithilfe
+ des unverschlüsselten WT-UR bPK
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:complexType name="SucheUnternehmenNachBpkRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:choice>
+ <xsd:element name="bpkWTUR" type="st:BpkTyp" minOccurs="1"
+ maxOccurs="1" />
+ <xsd:element name="bpkWTUREncoded" type="st:BpkEncodedTyp"
+ minOccurs="1" maxOccurs="1" />
+ </xsd:choice>
+
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:element name="SucheUnternehmenNachBpkEncodedRequest"
+ type="std:SucheUnternehmenNachBpkEncodedRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Suche nach Vertretungsbefugnissen von Personen in Unternehmen mithilfe
+ des verschlüsselten WT-UR bPK
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:element name="DecodeBpkRequest" type="std:DecodeBpkRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Dekodieren eines verschlüsselten WT-UR bPKs
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:complexType name="DecodeBpkRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="bpkWTUREncoded" type="st:BpkEncodedTyp"
+ minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="SucheUnternehmenNachBpkEncodedRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="bpkEncodedWTUR" type="st:BpkEncodedTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="bpkEncodedBereich" type="st:BpkEncodedTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="bereich" type="xsd:string" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:element name="SucheUnternehmenNachAendDatRequest"
+ type="std:SucheUnternehmenNachAendDatRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Suche nach geänderten Unternehmen
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:complexType name="SucheUnternehmenNachAendDatRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="aendDat" type="xsd:date" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:element name="SucheUnternehmenRequest" type="std:SucheUnternehmenRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Suche nach Unternehmen durch Angabe von Suchkriterien
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+
+ <xsd:complexType name="SucheUnternehmenRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp"
+ minOccurs="0" maxOccurs="1" />
+ <!-- Suchkriteriengruppe Unternehmensdaten -->
+
+ <xsd:element name="unternehmensdaten" type="std:SucheUnternehmensdaten"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="branche" type="std:SucheBranche"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="personendaten" type="std:SuchePersonendaten"
+ minOccurs="0" maxOccurs="1" />
+
+ <xsd:element name="zeitraumVon" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="zeitraumBis" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="SucheUnternehmensdaten">
+ <xsd:sequence>
+ <xsd:element name="phonetisch" type="xsd:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="klammer" type="xsd:boolean" minOccurs="0"
+ maxOccurs="1" />
+
+ <xsd:element name="untName" type="st:UntNameTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="rechtsform" type="st:RechtsformTyp"
+ minOccurs="0" maxOccurs="1" />
+
+ <xsd:element name="id" type="st:IdTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="idArt" type="st:IdArtTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="strasse" type="st:StrasseTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="hNr" type="st:HNrTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="ort" type="st:OrtTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="gemnr" type="st:GemnrTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="plz" type="st:PlzTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="land" type="st:LandTyp" minOccurs="0"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="SucheBranche">
+ <xsd:sequence>
+ <xsd:element name="oenaceJahr" type="st:OenaceJahrTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="oenaceCode" type="st:OenaceCodeTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="oenaceArt" type="st:OenaceArtTyp"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="SuchePersonendaten">
+ <xsd:sequence>
+ <xsd:element name="nachname" type="st:NachnameTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="vorname" type="st:VornameTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="gebDatum" type="xsd:date" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="strasse" type="st:StrasseTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="hNr" type="st:HNrTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="ort" type="st:OrtTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="gemnr" type="st:GemnrTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="plz" type="st:PlzTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="land" type="st:LandTyp" minOccurs="0"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <!-- Responseelemente -->
+
+ <xsd:element name="Beginn" type="std:QuellenType" />
+ <xsd:element name="Ende" type="std:QuellenType" />
+ <xsd:element name="TypeText" type="xsd:string" />
+ <xsd:element name="UntName" type="std:UntName" />
+ <xsd:element name="Rechtsform" type="std:Rechtsform" />
+ <xsd:element name="Funktion" type="std:Funktion" />
+ <xsd:element name="Branche" type="std:Branche" />
+ <xsd:element name="AendDat" type="xsd:date" />
+ <xsd:element name="bpkWTUR" type="xsd:string" />
+
+
+
+ <xsd:complexType name="UntName">
+ <xsd:sequence>
+ <xsd:element name="VollerName" type="st:UntNameTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="Beginn" type="std:QuellenType"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="Ende" type="std:QuellenType"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Rechtsform">
+ <xsd:sequence>
+ <xsd:element name="ReForm" type="st:RechtsformTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="ReFormText" type="st:RechtsformTextTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="ReFormExtern" type="st:RechtsformTextTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="Beginn" type="std:QuellenType"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="Ende" type="std:QuellenType"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="QuellenType">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:date">
+ <xsd:attribute name="quelle" type="st:QuelleTyp" use="required" />
+ <xsd:attribute name="quText" use="required" />
+ </xsd:extension>
+ </xsd:simpleContent>
+
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Funktion">
+ <xsd:sequence>
+ <xsd:element name="FktName" type="st:FunktionTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="Vertretungsbefugnis" type="st:VertretungsbefugnisTyp"
+ minOccurs="1" maxOccurs="1" />
+
+ <xsd:element name="VertretungsbefugnisText" minOccurs="0"
+ maxOccurs="1">
+ <xsd:complexType>
+ <xsd:simpleContent>
+ <xsd:extension base="st:VertretungsbefugnisTextTyp">
+ <xsd:attribute name="beginn" type="xsd:date" use="required" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+ </xsd:element>
+
+ <xsd:element name="Beginn" type="std:QuellenType"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="Ende" type="std:QuellenType"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="Branche">
+ <xsd:sequence>
+ <xsd:element name="Oenace" type="std:OenaceType"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="OenaceText" type="xsd:string"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="Beginn" type="std:QuellenType"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="Ende" type="std:QuellenType"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ <xsd:attribute name="art" type="st:OenaceArtTyp" use="required" />
+ </xsd:complexType>
+
+
+ <xsd:complexType name="OenaceType">
+ <xsd:simpleContent>
+ <xsd:extension base="st:OenaceCodeTyp">
+ <xsd:attribute name="jahr" type="st:OenaceJahrTyp"
+ use="required" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/src/main/resources/wsdl/ur/ur-simpleTypes.xsd b/src/main/resources/wsdl/ur/ur-simpleTypes.xsd
new file mode 100644
index 0000000..48834c7
--- /dev/null
+++ b/src/main/resources/wsdl/ur/ur-simpleTypes.xsd
@@ -0,0 +1,304 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema targetNamespace="http://statistik.at/namespace/ur/simpleTypes/1#"
+ version="1.0" xmlns:tns="http://statistik.at/namespace/ur/simpleTypes/1#"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified">
+
+ <!-- ******************************************************************************* -->
+ <!-- Allegemeine Typen -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="VersionTyp">
+ <annotation>
+ <documentation>
+ Versionsnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="QuelleTyp">
+ <annotation>
+ <documentation>
+ Identifikationsnummer eines Quellregisters
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Unternehmensmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="KurTyp">
+ <annotation>
+ <documentation>
+ UR Kennziffer eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="R[0-9]{3}[A-Z][0-9]{3}[A-Z0-9]"/>
+ <length value="9"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="UntNameTyp">
+ <annotation>
+ <documentation>
+ Bezeichnung eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="255" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="BpkTyp">
+ <annotation>
+ <documentation>
+ unverschlüsseltes bPK
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="28" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="BpkEncodedTyp">
+ <annotation>
+ <documentation>
+ verschlüsseltes bPK (base64 codiert)
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="172" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RechtsformTyp">
+ <annotation>
+ <documentation>
+ Rechtsform eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="50" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RechtsformTextTyp">
+ <annotation>
+ <documentation>
+ Langtext der Rechtsform eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="IdArtTyp">
+ <annotation>
+ <documentation>
+ Art eines externen Schlüssels
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <length value="3" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="IdTyp">
+ <annotation>
+ <documentation>
+ Wert eines externen Schlüssels
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="60" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceJahrTyp">
+ <annotation>
+ <documentation>
+ Jahr des ÖNACE-Systems
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <enumeration value="2003" />
+ <enumeration value="2008" />
+ <minInclusive value="1000" />
+ <maxInclusive value="9999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceCodeTyp">
+ <annotation>
+ <documentation>
+ ÖNACE - Branchenkennzahl
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceArtTyp">
+ <annotation>
+ <documentation>
+ Art der ÖNACE (Haupt-/Nebentätigkeit)
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="H" />
+ <enumeration value="N" />
+ </restriction>
+ </simpleType>
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Adressmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="StrasseTyp">
+ <annotation>
+ <documentation>
+ Strassenname
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="HNrTyp">
+ <annotation>
+ <documentation>
+ Hausnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="PlzTyp">
+ <annotation>
+ <documentation>
+ Postleitzahl
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OrtTyp">
+ <annotation>
+ <documentation>
+ Ortsname
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="50" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="GemnrTyp">
+ <annotation>
+ <documentation>
+ Gemeindekennziffer
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <minInclusive value="10000" />
+ <maxInclusive value="99999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="LandTyp">
+ <annotation>
+ <documentation>
+ Landescode gem. ISO 3166 ALPHA-3
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <length value="3" />
+ </restriction>
+ </simpleType>
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Personenmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="NachnameTyp">
+ <annotation>
+ <documentation>
+ Nachname der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="VornameTyp">
+ <annotation>
+ <documentation>
+ Vorname der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="TitelTyp">
+ <annotation>
+ <documentation>
+ Titel der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="50" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FunktionTyp">
+ <annotation>
+ <documentation>
+ Funktion der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="VertretungsbefugnisTyp">
+ <annotation>
+ <documentation>
+ Art der Vertretungsbefugnis
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="40" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="VertretungsbefugnisTextTyp">
+ <annotation>
+ <documentation>
+ Beschreibung der Vertretungsbefugnis
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="512" />
+ </restriction>
+ </simpleType>
+
+</schema> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ur/xml-sw.xsd b/src/main/resources/wsdl/ur/xml-sw.xsd
new file mode 100644
index 0000000..32ae295
--- /dev/null
+++ b/src/main/resources/wsdl/ur/xml-sw.xsd
@@ -0,0 +1,289 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+****************************************************
+
+File xml-sw.xsd
+
+Version 1.0 / 23.03.2004
+
+Author Franz-Josef Herpers / fjh consulting
+
+Copyright (c) 2004, 2005 Bundeskanzleramt Österreich
+
+****************************************************
+
+-->
+<xs:schema targetNamespace="http://reference.e-government.gv.at/namespace/xml-sw/1#" xmlns="http://reference.e-government.gv.at/namespace/xml-sw/1#" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0.0">
+
+ <xs:include schemaLocation="specific/CustomFault.xsd"/>
+
+ <!-- Element Declarations (complex) -->
+ <xs:element name="SearchByExample" type="SearchByExampleType">
+ <xs:annotation>
+ <xs:documentation>Wurzelelement für Suchabfragen vom Typ "Search by Example"</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SearchById" type="SearchByIdType">
+ <xs:annotation>
+ <xs:documentation>Wurzelelement für Suchabfragen vom Typ "Search by Id" </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SearchRequestId" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Eindeutige ID zur Identifikation des Request bei asynchroner Kommunikation</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SearchRequestInfo" type="SearchRequestInfoType">
+ <xs:annotation>
+ <xs:documentation>Container für alle Metainformationen einer Suchanfrage</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SortKeys" type="SortKeysType">
+ <xs:annotation>
+ <xs:documentation>Ermöglicht die Angabe von Schlüsseln, nach denen die Ergebnismenge sortiert sein soll.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SearchResponse" type="SearchResponseType">
+ <xs:annotation>
+ <xs:documentation>Wurzelelement für das Ergebnis einer Suchanfrage</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ResultInfo" type="ResultInfoType">
+ <xs:annotation>
+ <xs:documentation>Metainfos zur Ergebnismenge</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="RecordId" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>ID eines Datensatzes. Sie muss übereinstimmen mit der ID eines Datensatzes (Wert des id-Attributs eines ResultRecord-Elements), den der Server in einem vorhergehenden Request zurückgeliefert hat.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ResultRecords">
+ <xs:annotation>
+ <xs:documentation>Container-Element für die zurückgegebene Ergebnissätze </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="ResultRecord" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SearchCriteria" type="SearchCriteriaType">
+ <xs:annotation>
+ <xs:documentation>Container-Element für die Suchkriterien. Diese sind applikationsspezifisch. Zulässig sind daher beliebige Elemente aus anderen Namensräumen. Optional kann eine ResultSetId übermittelt werden, falls der Server das Vorhalten von vorherigen Abfrageergebnissen unterstützt und in der initialen Response eine ResultSetId mitgesendet hat.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ResultCriteria" type="ResultCriteriaType">
+ <xs:annotation>
+ <xs:documentation>Fasst verschiedene Kriterien zur Behandlung und Auslieferung der gefundenen Ergebnissätze zusammen. Eigene können hinzugefügt werden.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SortKey" type="SortKeyType">
+ <xs:annotation>
+ <xs:documentation>Repräsentiert einen Sortierschlüssel. Die Reihenfolge der einzelnen Schlüssel bestimmt die Sortiergewichtung.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ExtraResultCriteria">
+ <xs:annotation>
+ <xs:documentation>Dient als Erweiterungspunkt. Container für weitere selbst definierte Ergebniskriterien. Server, die hier aufgeführte Kriterien nicht unterstützen, können diese schweigend ignorieren.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType mixed="false">
+ <xs:sequence>
+ <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ExtraResultInfo">
+ <xs:annotation>
+ <xs:documentation>Dient als Erqeiterungspunkt. Container für weitere selbst definierte Ergebnisinformationen.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType mixed="false">
+ <xs:sequence>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ResultRecord">
+ <xs:annotation>
+ <xs:documentation> Container-Element für einen Ergebnissatz</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:nonNegativeInteger" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PaymentInfo" type="PaymentInfoType">
+ <xs:annotation>
+ <xs:documentation>Container-Element für Zahlungs- und Verrechnungsinformationen bei kostenpflichtigen Suchanfragen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="RecordFieldList">
+ <xs:annotation>
+ <xs:documentation>Hier kann auf implementierungsspezifische Weise angegeben werden, welche Elemente in der Antwort enthalten sein sollen.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!-- Element Declarations (simple) -->
+ <xs:element name="Detail" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Dient der Angabe zusätzlicher Detailinformationen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TimeOut" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Zeit, die der Server die Ergebnismenge vorhalten soll</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="MaxRecords" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Maximale Anzahl gewünschter Ergebnissätze </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="StartRecord" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Position des ersten gewünschten Ergebnissatzes in der Ergebnismenge. In Kombination mit MaxRecords erlaubt dies dem Client, das Ergebnis "portionsweise" abzurufen.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Path" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Ein XPath-Ausdruck, der angibt, nach welchem Element der Ergebnissätze die Ergebnismenge sortiert sein soll. </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Ascending" type="xs:boolean">
+ <xs:annotation>
+ <xs:documentation>Gibt die Sortierrichtung an. false bedeutet absteigend, true aufsteigend.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CaseSensitive" type="xs:boolean">
+ <xs:annotation>
+ <xs:documentation>Gibt an, ob Groß- und Kleinschreibung mit berücksichtigt werden soll bei der Sortierung.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ResultSetId" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Eindeutige ID, die eine gecachte Ergebnismenge auf dem Server referenziert. Server, die ein solches Szenario unterstützen, können diese ID im Ergebnis ausliefern.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="FoundRecords" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Anzahl der gefundenen Ergebnissätze</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ReturnedRecords" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation> Anzahl der tatsächlich an den Client zurückgelieferten Ergebnissätze</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Costs" type="xs:float">
+ <xs:annotation>
+ <xs:documentation>Die Kosten der Anfrage in Euro</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InvoiceId" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Eine optionale Verrechnungs-ID wie z.B. die Geschäftszahl</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AccountedUnits" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Anzahl zu verrechnender Einheiten. Diese muss nicht gleich der Anzahl der ausgelieferten Datensätze sein.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TimeStamp" type="xs:dateTime">
+ <xs:annotation>
+ <xs:documentation>Der Timestamp des Servers</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="FaultHint" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Wrapper-Element zur Aufnahme von Detail-Text der Message Codes im SOAP-detail-Element</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- Complex Types -->
+ <xs:complexType name="SearchByExampleType">
+ <xs:sequence>
+ <xs:element ref="SearchRequestId"/>
+ <xs:element ref="SearchRequestInfo" minOccurs="0"/>
+ <xs:element ref="ResultCriteria" minOccurs="0"/>
+ <xs:element ref="SearchCriteria"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SearchByIdType">
+ <xs:sequence>
+ <xs:element ref="SearchRequestId"/>
+ <xs:element ref="SearchRequestInfo" minOccurs="0"/>
+ <xs:element ref="RecordId"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ResultInfoType">
+ <xs:sequence>
+ <xs:element ref="ResultSetId" minOccurs="0"/>
+ <xs:element ref="FoundRecords" minOccurs="0"/>
+ <xs:element ref="ReturnedRecords"/>
+ <xs:element ref="PaymentInfo" minOccurs="0"/>
+ <xs:element ref="ExtraResultInfo" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SearchResponseType">
+ <xs:sequence>
+ <xs:element ref="SearchRequestId"/>
+ <xs:element ref="Message" minOccurs="0"/>
+ <xs:element ref="ResultInfo"/>
+ <xs:element ref="ResultRecords" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SearchRequestInfoType">
+ <xs:sequence>
+ <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SortKeyType">
+ <xs:sequence>
+ <xs:element ref="Path"/>
+ <xs:element ref="Ascending" minOccurs="0"/>
+ <xs:element ref="CaseSensitive" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ResultCriteriaType">
+ <xs:sequence>
+ <xs:element ref="MaxRecords" minOccurs="0"/>
+ <xs:element ref="StartRecord" minOccurs="0"/>
+ <xs:element ref="SortKeys" minOccurs="0"/>
+ <xs:element ref="TimeOut" minOccurs="0"/>
+ <xs:element ref="RecordFieldList" minOccurs="0"/>
+ <xs:element ref="ExtraResultCriteria" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SearchCriteriaType">
+ <xs:sequence>
+ <xs:element ref="ResultSetId" minOccurs="0"/>
+ <xs:any namespace="##other" processContents="lax" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SortKeysType">
+ <xs:sequence>
+ <xs:element ref="SortKey" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PaymentInfoType">
+ <xs:sequence>
+ <xs:element ref="InvoiceId" minOccurs="0"/>
+ <xs:element ref="Costs"/>
+ <xs:element ref="AccountedUnits" minOccurs="0"/>
+ <xs:element ref="TimeStamp"/>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>Hier können Elemente für zusätzliche Verrechnungsinformationen hinzugefügt werden.</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
diff --git a/src/main/resources/wsdl/ur_V2/PersonData_URSuche.xsd b/src/main/resources/wsdl/ur_V2/PersonData_URSuche.xsd
new file mode 100644
index 0000000..0e2a30a
--- /dev/null
+++ b/src/main/resources/wsdl/ur_V2/PersonData_URSuche.xsd
@@ -0,0 +1,512 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Paul (thx) -->
+<!-- edited with XML Spy v4.1 U (http://www.xmlspy.com) by Peter Reichstädter (CIO) -->
+<!--Generisches Schema zum Speichern und Austauschen von Personendaten
+ (c) 2001-2002 Chief Information Office Austria, Stabsstelle IKT-Strategie des Bundes, BMÖLS
+ Kontakt: Peter Reichstädter (peter.reichstaedter@cio.gv.at), Arno Hollosi (arno.hollosi@cio.gv.at)
+ Die freie Verwendung dieses Schemas in Applikationen (behördenintern, kommerziell, privat) ist erlaubt und erwünscht.
+-->
+<!--
+ Anpassungen für URV URSuche v3.0
+ ================================
+ 2012-09-24 sml Auslagerung Zusatzdaten in ZusatzdatenPersonenTyp
+ 2012-09-20 sml NichtNatuerlichePerson um VollzugAttributes erweitert
+ 2012-09-11 sml Kardinalität EVBStatus auf 0..1 geändert
+ Kardinalität TypeText von 0..n auf 0..1 geändert
+ 2012-08-20 hoa AdressCode/Subcode/Objektnummer hinzugefügt
+ 2012-08-08 sml Branche hinzugefügt
+ 2012-08-07 sml kein mixed Content bei den Zusatzdaten mehr möglich
+ 2012-08-06 sml eigener Namespace für UR-Persondata
+ 2012-07-05 sml Any-Attribute und Any-Elemente nach AGII-Empfehlung durch die konkreten ersetzt.
+ 2012-06-14 sml Affix wieder auf unbounded (vgl. URSucheService UDB)
+ -->
+<?xml-stylesheet type="text/xsl" href="getelementnames.xslt"?>
+
+<xs:schema targetNamespace="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns="http://reference.e-government.gv.at/namespace/persondata/de/20040201#" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:uri="http://statistik.at/namespace/ur/stammdaten/2#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
+ elementFormDefault="qualified" attributeFormDefault="unqualified"
+ version="1.0.0">
+
+ <!-- Import der UR-basic -->
+ <xs:import namespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ schemaLocation="ur-suche.xsd" />
+
+
+ <xs:annotation>
+ <xs:documentation>This version of person deploys only global elements.
+ All types derived from abstract types have been replaced by
+ substitution groups</xs:documentation>
+ </xs:annotation>
+ <!-- ### signed structure of a person ### -->
+ <xs:element name="AbstractPersonData" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes PersonenDaten Element, nur auf englisch
+ verfügbar, nicht direkt benützen sondern PersonenDaten benutzen
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="PersonenDaten" type="PersonenDatenTyp"
+ substitutionGroup="AbstractPersonData">
+ <xs:annotation>
+ <xs:documentation>Signierte Personendatenstruktur</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- ### base type for person data ### -->
+ <xs:element name="Person" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Personen Element, nur auf englisch
+ verfügbar, nicht direkt benützen sondern NatuerlichePerson o.
+ NichtNatuerlichePerson benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- ### physical person and corporate body ### -->
+ <xs:element name="NatuerlichePerson" type="NatuerlichePersonTyp"
+ substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>Natuerliche Person entspricht PhysicalPerson, ist
+ eine Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="NichtNatuerlichePerson" type="NichtNatuerlichePersonTyp"
+ substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>NichtNatuerlichePerson entspricht CorporatzeBody,
+ ist Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### complex child elements of person, also available as standalone ### -->
+ <xs:element name="PersonenName" type="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>Container für diverse Namensbestandteile,
+ entspricht Name in der englischen Version</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+
+ <!-- ### adress data for various types of communications ### -->
+ <xs:element name="Address" type="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Address Element, nur auf Englisch
+ verfügbar, nicht direkt benützen sondern PostAdresse,
+ InternetAdresse, etc benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PostAdresse" type="PostAdresseTyp"
+ substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Post oder ZMR Adresse, entspricht PostalAddress,
+ ist Ableitung von Address (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="TypisiertePostAdresse" type="TypisiertePostAdresseTyp"
+ substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Typisierte Post oder ZMRAdresse, entspricht
+ TypedPostalAddress, ist Ableitung von Address (abstract)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### elements of simple type #### -->
+ <xs:element name="Geburtsdatum" type="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>Geburtsdatum, entspricht DateOfBirth
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <!--### Complex types ### -->
+
+
+ <!-- UR Spezialisierung des PersonenDatenTyp -->
+ <xs:complexType name="PersonenDatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu
+ speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="NichtNatuerlichePerson" />
+
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0"
+ maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" minOccurs="0">
+ <!-- UR Erweiterung: kein mixed Content bei den Zusatzdaten -->
+ <xs:complexType mixed="false">
+ <xs:sequence minOccurs="0">
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:AendDat" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element ref="uri:Bestandszeitraum" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Bestandsnachweis" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Vertretung" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Branche" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element name="PersonenDaten" type="PersonenDatenZusatzdatenTyp"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Vollzug" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <!-- UR Spezialisierung für natürliche und nichtnatürliche Personen in den
+ Zusatzdaten -->
+ <xs:complexType name="PersonenDatenZusatzdatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu
+ speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:choice minOccurs="0">
+ <xs:element ref="NichtNatuerlichePerson" />
+ <xs:element ref="NatuerlichePerson" />
+ </xs:choice>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0"
+ maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" type="ZusatzdatenPersonenTyp" minOccurs="0"/>
+
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="ZusatzdatenPersonenTyp">
+
+ <xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:EvbStatus" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element ref="uri:Funktion" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+
+ </xs:complexType>
+
+
+ <xs:complexType name="IdentificationType">
+ <xs:annotation>
+ <xs:documentation>Container für beliebige Identifikationsmerkmale,
+ besteht aus Type und Value Unterelementen, aus technischen Gründen
+ nur auf Englisch verfügbar</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Value">
+ <xs:annotation>
+ <xs:documentation>actual value of the identifier.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Type" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>type of value (eg 'ZMR', 'SV-Nummer',
+ 'Martrikelnummer', database identification, ...)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:TypeText" minOccurs="0" maxOccurs="1" />
+ <xs:element ref="uri:Beginn" minOccurs="0" maxOccurs="1" />
+ <xs:element ref="uri:Ende" minOccurs="0" maxOccurs="1" />
+
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>main structure of person data</xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0">
+ <xs:element name="Identification" type="IdentificationType"
+ minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>unique identification entities</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:complexType>
+
+
+ <xs:complexType name="NatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PhysicalPersonType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PersonenName" minOccurs="0" />
+ <xs:element ref="Geburtsdatum" minOccurs="0" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:VollzugAttributes" />
+ </xs:extension>
+
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+
+ <xs:complexType name="NichtNatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht CorporateBodyType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="VollerName" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>name of corporate body (whole name)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <xs:element name="Rechtsform" type="xs:anyURI"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>type of company (eg AG, OHG, ...)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:UntName" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtsform" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:VollzugAttributes" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht NameType</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Vorname" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="Familienname" minOccurs="1" maxOccurs="1">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="primaer" default="undefiniert">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="wahr" />
+ <xs:enumeration value="falsch" />
+ <xs:enumeration value="undefiniert" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="prefix" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Affix" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="typ" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="akademischerGrad" />
+ <xs:enumeration value="Adelstitel" />
+ <xs:enumeration value="FamiliennamenAffix" />
+ <xs:enumeration value="Anrede" />
+ <xs:enumeration value="Generation" />
+ <xs:enumeration value="Qualifikation" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="position" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="prefix" />
+ <xs:enumeration value="suffix" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Struktur des Abstrakten Address Elements
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:complexType>
+
+
+
+ <xs:complexType name="TypisiertePostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht TypedPostalAddressType
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PostAdresse" />
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:Typ" minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:VollzugAttributes" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+ <xs:complexType name="PostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalAddressType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence>
+ <xs:element name="Staatscode" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Staatencode, ISO Code oder internationaler Post
+ code, entspricht CountryCode</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{3}" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Postleitzahl" type="xs:token"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalCode</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="Gemeinde" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht Municipality</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Gemeindekennziffer" minOccurs="0" />
+ <xs:element name="Ortschaft" type="xs:token" minOccurs="0" />
+ <xs:element name="Zustelladresse" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Zustelladresse oder ZMRAdresse, entspricht
+ DeliveryAddress</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Strassenname" type="xs:string"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Bei Ortschaften ohne Straßenname steht hier
+ Ortschaftsname, entspricht StreetName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Orientierungsnummer" type="xs:string"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Hausnummer oder Konskriptionsnummer, z.B.
+ 10, 124a, 78-80. Entpricht BuildingNumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AdressRegisterEintrag" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Addressregister database keys used to identify Addresses</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Adresscode" type="string7"/>
+ <xs:element name="Subcode" type="string3" minOccurs="0"/>
+ <xs:element name="Objektnummer" type="string7" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <!-- ### auxiliary types ### -->
+ <xs:simpleType name="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>einfacher Datentyp für Daten (union): Tag und/oder
+ Monta können ausgelassen werden, entspricht DayOfBirthType
+ </xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear" />
+ </xs:simpleType>
+
+ <!-- ### strings of defined maximum lenght for use with ZMR address #### -->
+ <xs:simpleType name="string3">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="3"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string7">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="7"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+</xs:schema>
diff --git a/src/main/resources/wsdl/ur_V2/URSucheService.wsdl b/src/main/resources/wsdl/ur_V2/URSucheService.wsdl
new file mode 100644
index 0000000..b6b88c2
--- /dev/null
+++ b/src/main/resources/wsdl/ur_V2/URSucheService.wsdl
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+Adaptierung der Datei "XmlSwService.wsdl"
+
+*) Ändern WS Name
+*) Ändern des targetNameSpaces
+
+
+
+*****************************************************
+File XmlSwService.wsdl
+
+Version 1.0 / 23.03.2004
+
+Author Franz-Josef Herpers / fjh consulting
+
+Copyright (c) 2004, 2005 Bundeskanzleramt Österreich
+
+*****************************************************
+
+-->
+<wsdl:definitions xmlns:tns="urn:at:statistik:ur:ws" xmlns:sw="http://reference.e-government.gv.at/namespace/xml-sw/1#" xmlns:ud="http://statistik.at/namespace/ur/stammdaten/2#" xmlns:soapbinding="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="URSuche" targetNamespace="urn:at:statistik:ur:ws">
+ <wsdl:documentation> Dieses WSDL-Dokument beschreibt den
+ XML-Search-Service. </wsdl:documentation>
+ <wsdl:types>
+ <xsd:schema>
+ <xsd:import namespace="http://reference.e-government.gv.at/namespace/xml-sw/1#" schemaLocation="schema/xml-sw.xsd"/>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="SearchByExample">
+ <wsdl:documentation>
+ Nachricht, die für eine Suchanfrage
+ vom Typ Search by Example vom Client abgesendet wird
+ </wsdl:documentation>
+ <wsdl:part name="body" element="sw:SearchByExample"/>
+ </wsdl:message>
+ <wsdl:message name="SearchById">
+ <wsdl:documentation> Nachricht, die für eine Suchanfrage
+ vom Typ Search by Id vom Client abgesendet wird
+ </wsdl:documentation>
+ <wsdl:part name="body" element="sw:SearchById"/>
+ </wsdl:message>
+ <wsdl:message name="SearchResponse">
+ <wsdl:documentation> Nachricht, die vom Server als
+ Antwort auf eine der beiden Suchanfragen
+ zurückgesendet wird
+ </wsdl:documentation>
+ <wsdl:part name="body" element="sw:SearchResponse"/>
+ </wsdl:message>
+ <wsdl:portType name="URSuche">
+ <wsdl:operation name="searchByExample">
+ <wsdl:documentation> Operation für den Abfragetyp
+ Search by Example
+ </wsdl:documentation>
+ <wsdl:input message="tns:SearchByExample"/>
+ <wsdl:output message="tns:SearchResponse"/>
+ </wsdl:operation>
+ <wsdl:operation name="searchById">
+ <wsdl:documentation> Operation für den Abfragetyp
+ Search by Id
+ </wsdl:documentation>
+ <wsdl:input message="tns:SearchById"/>
+ <wsdl:output message="tns:SearchResponse"/>
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="URSucheServiceSoapBinding" type="tns:URSuche">
+ <soapbinding:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:documentation> Definition des Binding für den
+ Search Service
+ </wsdl:documentation>
+ <wsdl:operation name="searchByExample">
+ <soapbinding:operation soapAction="" style="document"/>
+ <wsdl:input>
+ <soapbinding:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soapbinding:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ <wsdl:operation name="searchById">
+ <soapbinding:operation soapAction="" style="document"/>
+ <wsdl:input>
+ <soapbinding:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soapbinding:body use="literal"/>
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="URSucheService">
+ <wsdl:port name="URSucheService" binding="tns:URSucheServiceSoapBinding">
+ <soapbinding:address location="http://localhost:9081/URV/services/URSucheService"/>
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/src/main/resources/wsdl/ur_V2/schema/PersonData_URSuche.xsd b/src/main/resources/wsdl/ur_V2/schema/PersonData_URSuche.xsd
new file mode 100644
index 0000000..0e2a30a
--- /dev/null
+++ b/src/main/resources/wsdl/ur_V2/schema/PersonData_URSuche.xsd
@@ -0,0 +1,512 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by Paul (thx) -->
+<!-- edited with XML Spy v4.1 U (http://www.xmlspy.com) by Peter Reichstädter (CIO) -->
+<!--Generisches Schema zum Speichern und Austauschen von Personendaten
+ (c) 2001-2002 Chief Information Office Austria, Stabsstelle IKT-Strategie des Bundes, BMÖLS
+ Kontakt: Peter Reichstädter (peter.reichstaedter@cio.gv.at), Arno Hollosi (arno.hollosi@cio.gv.at)
+ Die freie Verwendung dieses Schemas in Applikationen (behördenintern, kommerziell, privat) ist erlaubt und erwünscht.
+-->
+<!--
+ Anpassungen für URV URSuche v3.0
+ ================================
+ 2012-09-24 sml Auslagerung Zusatzdaten in ZusatzdatenPersonenTyp
+ 2012-09-20 sml NichtNatuerlichePerson um VollzugAttributes erweitert
+ 2012-09-11 sml Kardinalität EVBStatus auf 0..1 geändert
+ Kardinalität TypeText von 0..n auf 0..1 geändert
+ 2012-08-20 hoa AdressCode/Subcode/Objektnummer hinzugefügt
+ 2012-08-08 sml Branche hinzugefügt
+ 2012-08-07 sml kein mixed Content bei den Zusatzdaten mehr möglich
+ 2012-08-06 sml eigener Namespace für UR-Persondata
+ 2012-07-05 sml Any-Attribute und Any-Elemente nach AGII-Empfehlung durch die konkreten ersetzt.
+ 2012-06-14 sml Affix wieder auf unbounded (vgl. URSucheService UDB)
+ -->
+<?xml-stylesheet type="text/xsl" href="getelementnames.xslt"?>
+
+<xs:schema targetNamespace="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns="http://reference.e-government.gv.at/namespace/persondata/de/20040201#" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:uri="http://statistik.at/namespace/ur/stammdaten/2#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
+ elementFormDefault="qualified" attributeFormDefault="unqualified"
+ version="1.0.0">
+
+ <!-- Import der UR-basic -->
+ <xs:import namespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ schemaLocation="ur-suche.xsd" />
+
+
+ <xs:annotation>
+ <xs:documentation>This version of person deploys only global elements.
+ All types derived from abstract types have been replaced by
+ substitution groups</xs:documentation>
+ </xs:annotation>
+ <!-- ### signed structure of a person ### -->
+ <xs:element name="AbstractPersonData" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes PersonenDaten Element, nur auf englisch
+ verfügbar, nicht direkt benützen sondern PersonenDaten benutzen
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="PersonenDaten" type="PersonenDatenTyp"
+ substitutionGroup="AbstractPersonData">
+ <xs:annotation>
+ <xs:documentation>Signierte Personendatenstruktur</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- ### base type for person data ### -->
+ <xs:element name="Person" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Personen Element, nur auf englisch
+ verfügbar, nicht direkt benützen sondern NatuerlichePerson o.
+ NichtNatuerlichePerson benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- ### physical person and corporate body ### -->
+ <xs:element name="NatuerlichePerson" type="NatuerlichePersonTyp"
+ substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>Natuerliche Person entspricht PhysicalPerson, ist
+ eine Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="NichtNatuerlichePerson" type="NichtNatuerlichePersonTyp"
+ substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>NichtNatuerlichePerson entspricht CorporatzeBody,
+ ist Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### complex child elements of person, also available as standalone ### -->
+ <xs:element name="PersonenName" type="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>Container für diverse Namensbestandteile,
+ entspricht Name in der englischen Version</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+
+ <!-- ### adress data for various types of communications ### -->
+ <xs:element name="Address" type="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Address Element, nur auf Englisch
+ verfügbar, nicht direkt benützen sondern PostAdresse,
+ InternetAdresse, etc benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PostAdresse" type="PostAdresseTyp"
+ substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Post oder ZMR Adresse, entspricht PostalAddress,
+ ist Ableitung von Address (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="TypisiertePostAdresse" type="TypisiertePostAdresseTyp"
+ substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Typisierte Post oder ZMRAdresse, entspricht
+ TypedPostalAddress, ist Ableitung von Address (abstract)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### elements of simple type #### -->
+ <xs:element name="Geburtsdatum" type="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>Geburtsdatum, entspricht DateOfBirth
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <!--### Complex types ### -->
+
+
+ <!-- UR Spezialisierung des PersonenDatenTyp -->
+ <xs:complexType name="PersonenDatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu
+ speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="NichtNatuerlichePerson" />
+
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0"
+ maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" minOccurs="0">
+ <!-- UR Erweiterung: kein mixed Content bei den Zusatzdaten -->
+ <xs:complexType mixed="false">
+ <xs:sequence minOccurs="0">
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:AendDat" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element ref="uri:Bestandszeitraum" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Bestandsnachweis" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Vertretung" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Branche" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element name="PersonenDaten" type="PersonenDatenZusatzdatenTyp"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Vollzug" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <!-- UR Spezialisierung für natürliche und nichtnatürliche Personen in den
+ Zusatzdaten -->
+ <xs:complexType name="PersonenDatenZusatzdatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu
+ speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:choice minOccurs="0">
+ <xs:element ref="NichtNatuerlichePerson" />
+ <xs:element ref="NatuerlichePerson" />
+ </xs:choice>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0"
+ maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" type="ZusatzdatenPersonenTyp" minOccurs="0"/>
+
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="ZusatzdatenPersonenTyp">
+
+ <xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:EvbStatus" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element ref="uri:Funktion" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+
+ </xs:complexType>
+
+
+ <xs:complexType name="IdentificationType">
+ <xs:annotation>
+ <xs:documentation>Container für beliebige Identifikationsmerkmale,
+ besteht aus Type und Value Unterelementen, aus technischen Gründen
+ nur auf Englisch verfügbar</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Value">
+ <xs:annotation>
+ <xs:documentation>actual value of the identifier.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Type" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>type of value (eg 'ZMR', 'SV-Nummer',
+ 'Martrikelnummer', database identification, ...)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:TypeText" minOccurs="0" maxOccurs="1" />
+ <xs:element ref="uri:Beginn" minOccurs="0" maxOccurs="1" />
+ <xs:element ref="uri:Ende" minOccurs="0" maxOccurs="1" />
+
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>main structure of person data</xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0">
+ <xs:element name="Identification" type="IdentificationType"
+ minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>unique identification entities</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:complexType>
+
+
+ <xs:complexType name="NatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PhysicalPersonType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PersonenName" minOccurs="0" />
+ <xs:element ref="Geburtsdatum" minOccurs="0" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:VollzugAttributes" />
+ </xs:extension>
+
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+
+ <xs:complexType name="NichtNatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht CorporateBodyType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="VollerName" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>name of corporate body (whole name)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <xs:element name="Rechtsform" type="xs:anyURI"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>type of company (eg AG, OHG, ...)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:UntName" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtsform" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:VollzugAttributes" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht NameType</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Vorname" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="Familienname" minOccurs="1" maxOccurs="1">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="primaer" default="undefiniert">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="wahr" />
+ <xs:enumeration value="falsch" />
+ <xs:enumeration value="undefiniert" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="prefix" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Affix" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="typ" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="akademischerGrad" />
+ <xs:enumeration value="Adelstitel" />
+ <xs:enumeration value="FamiliennamenAffix" />
+ <xs:enumeration value="Anrede" />
+ <xs:enumeration value="Generation" />
+ <xs:enumeration value="Qualifikation" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="position" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="prefix" />
+ <xs:enumeration value="suffix" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Struktur des Abstrakten Address Elements
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:complexType>
+
+
+
+ <xs:complexType name="TypisiertePostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht TypedPostalAddressType
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PostAdresse" />
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:Typ" minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:VollzugAttributes" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+ <xs:complexType name="PostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalAddressType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence>
+ <xs:element name="Staatscode" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Staatencode, ISO Code oder internationaler Post
+ code, entspricht CountryCode</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{3}" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Postleitzahl" type="xs:token"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalCode</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="Gemeinde" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht Municipality</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Gemeindekennziffer" minOccurs="0" />
+ <xs:element name="Ortschaft" type="xs:token" minOccurs="0" />
+ <xs:element name="Zustelladresse" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Zustelladresse oder ZMRAdresse, entspricht
+ DeliveryAddress</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Strassenname" type="xs:string"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Bei Ortschaften ohne Straßenname steht hier
+ Ortschaftsname, entspricht StreetName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Orientierungsnummer" type="xs:string"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Hausnummer oder Konskriptionsnummer, z.B.
+ 10, 124a, 78-80. Entpricht BuildingNumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AdressRegisterEintrag" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Addressregister database keys used to identify Addresses</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Adresscode" type="string7"/>
+ <xs:element name="Subcode" type="string3" minOccurs="0"/>
+ <xs:element name="Objektnummer" type="string7" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <!-- ### auxiliary types ### -->
+ <xs:simpleType name="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>einfacher Datentyp für Daten (union): Tag und/oder
+ Monta können ausgelassen werden, entspricht DayOfBirthType
+ </xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear" />
+ </xs:simpleType>
+
+ <!-- ### strings of defined maximum lenght for use with ZMR address #### -->
+ <xs:simpleType name="string3">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="3"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string7">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="7"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+</xs:schema>
diff --git a/src/main/resources/wsdl/ur_V2/schema/specific/CustomFault.xsd b/src/main/resources/wsdl/ur_V2/schema/specific/CustomFault.xsd
new file mode 100644
index 0000000..c73d667
--- /dev/null
+++ b/src/main/resources/wsdl/ur_V2/schema/specific/CustomFault.xsd
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <xs:element name="Message" type="CustomFaultType"/>
+
+ <xs:complexType name="CustomFaultType" final="extension">
+ <xs:annotation>
+ <xs:documentation>CustomFault reporting structure</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Code" type="xs:integer"/>
+ <xs:element name="Reason" type="xs:string" maxOccurs="unbounded"/>
+ <xs:element name="Help" type="xs:string" minOccurs="0"/>
+ <xs:element name="Detail" type="xs:anyType" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+</xs:schema>
diff --git a/src/main/resources/wsdl/ur_V2/schema/ur-basicTypes.xsd b/src/main/resources/wsdl/ur_V2/schema/ur-basicTypes.xsd
new file mode 100644
index 0000000..8d3f80b
--- /dev/null
+++ b/src/main/resources/wsdl/ur_V2/schema/ur-basicTypes.xsd
@@ -0,0 +1,287 @@
+<!--
+ 2012-11-20 sml V0.1.0 Erweiterung Rechtsform: ReFormExtern auf numerischen RechtsformTyp geändert, ReFormExternText für Text hinzugefügt
+ 2012-10-15 sml V0.0.9 Typo Vetretung => Vertretung
+ 2012-10-12 sml V0.0.8 Kardinalität Funktion <==> Rechtstatsache von 0:1 auf 0:n geändert
+ 2012-09-19 sml V0.0.7 FktRegelTyp: FktRegelBis minOccurs von 1 auf 0 geändert
+ 2012-07-31 sml V0.0.6 Entfernung aller any-Attribute; Umbau auf Vererbung mit VollzugsAttributen
+ 2012-06-21 sml V0.0.5 Aufsplittung auf ur_basic_types.xsd und ur_suche.xsd
+ Erweiterung der Merkmalsgruppen um any-Attribute
+ 2012-06-15 sml V0.0.4 Erweiterung AdressTyp (simple) um ZUSTELLADRESSE
+ Anpasssung vollzugBeginn und vollzugEnde auf IDREFs
+ Branche um Beginn und Ende (Quelle) erweitert.
+ 2012-06-14 hoa Vollzugsreferenzen als Attribute,
+ Ergängzung ERsB Attribute (Bestandszeitraum, Bestandsnachweis, Vertretung, Rechtstatsachen)
+ Erweiterung der SimpleTypes: AktionTyp, RT_Nummer, RT_Code
+ 2012-06-12 sml V0.0.2 Erweiterung SimpleTypes: AdressTyp, EvbStatusTyp
+ Erweiterung Elemente: VollzugGroup für vollziehbare Merkmalsgruppen
+ VollzugElem für die Quellinfo
+ Einbau ID/IDREF für Vollzug (VollzugRef)
+ Typ (AdressTyp) und EvbStatus (EvbStausTyp)
+ 2012-06-04 hoa V0.0.1 Entwurf
+-->
+
+<xsd:schema targetNamespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:std="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:st="http://statistik.at/namespace/ur/simpleTypes/2#"
+ elementFormDefault="qualified">
+
+ <xsd:import namespace="http://statistik.at/namespace/ur/simpleTypes/2#"
+ schemaLocation="ur-simpleTypes.xsd" />
+
+
+
+
+
+
+ <!-- Responseelemente -->
+
+ <xsd:attribute name="vollzugBeginn" type="xsd:IDREF" />
+ <xsd:attribute name="vollzugEnde" type="xsd:IDREF" />
+
+ <xsd:attributeGroup name="VollzugAttributes">
+ <xsd:attribute ref="std:vollzugBeginn" use="optional" />
+ <xsd:attribute ref="std:vollzugEnde" use="optional"/>
+ </xsd:attributeGroup>
+
+ <xsd:element name="Beginn" type="std:QuellenType"/>
+ <xsd:element name="Ende" type="std:QuellenType"/>
+ <xsd:element name="Vollzug" type="std:Vollzug" />
+
+ <xsd:element name="TypeText" type="xsd:string" />
+ <xsd:element name="UntName" type="std:UntNameVollzug" />
+ <xsd:element name="Rechtsform" type="std:RechtsformVollzug" />
+ <xsd:element name="Bestandszeitraum" type="std:BestandszeitraumVollzug" />
+ <xsd:element name="Bestandsnachweis" type="std:BestandsnachweisVollzug" />
+ <xsd:element name="Vertretung" type="std:VertretungVollzug" />
+ <xsd:element name="Rechtstatsachen" type="std:RechtstatsachenVollzug" />
+ <xsd:element name="Funktion" type="std:FunktionVollzug" />
+ <xsd:element name="Branche" type="std:Branche" />
+ <xsd:element name="AendDat" type="xsd:dateTime" />
+ <xsd:element name="bpkWTUR" type="xsd:string" />
+ <xsd:element name="Typ" type="st:AdressTyp" />
+ <xsd:element name="EvbStatus" type="st:EvbStatusTyp" />
+
+ <xsd:complexType name="UntName" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="VollerName" type="st:UntNameTyp"
+ minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="UntNameVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:UntName">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Rechtsform" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="ReForm" type="st:RechtsformTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="ReFormText" type="st:RechtsformTextTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="ReFormExtern" type="st:RechtsformTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="ReFormExternText" type="st:RechtsformTextTyp"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="RechtsformVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtsform">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Bestandszeitraum" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="BestandVon" type="xsd:date"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="BestandBis" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="BestandszeitraumVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandszeitraum">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Bestandsnachweis" abstract="true">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="BestandsnachweisVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandsnachweis">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Vertretung" abstract="true">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="VertretungVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Vertretung">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Rechtstatsachen" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="RT_Nummer" type="st:RT_NummerTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="RT_Code" type="st:RT_CodeTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="RT_Text" type="xsd:string"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="RechtstatsachenVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtstatsachen">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Vollzug">
+ <xsd:sequence>
+ <xsd:element name="Antrag" type="std:VollzugElem" minOccurs="1" maxOccurs="1" />
+ <xsd:element name="Vollzug" type="std:VollzugElem" minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Zurueckstellung" type="std:VollzugElem" minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID" use="required" />
+ <xsd:attribute name="nummer" type="xsd:integer" use="required" />
+ <xsd:attribute name="status" type="st:VollzugStatusTyp" use="required" />
+ </xsd:complexType>
+
+ <xsd:complexType name="VollzugElem">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:date">
+ <xsd:attribute name="quelle" type="st:QuelleTyp" use="required" />
+ <xsd:attribute name="quText" use="required" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="QuellenType">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:date">
+ <xsd:attribute name="quelle" type="st:QuelleTyp" use="required"/>
+ <xsd:attribute name="quText" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Funktion" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="FktName" type="st:FunktionTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="FktNameText" type="st:FunktionTextTyp"
+ minOccurs="0" maxOccurs="1" />
+
+ <!--
+ <xsd:element name="FktRegel" type="std:FktRegelTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Rechtstatsachen" type="std:Rechtstatsachen"
+ minOccurs="0" maxOccurs="1" />
+ -->
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="FunktionVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Funktion">
+ <xsd:sequence>
+ <xsd:element name="FktRegel" type="std:FktRegelTypVollzug"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Rechtstatsachen" type="std:RechtstatsachenVollzug"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+
+ <xsd:complexType name="FktRegelTyp" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="FktRegelVon" type="xsd:date"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="FktRegelBis" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="FktRegelText" type="st:FktRegelTextTyp"
+ minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="FktRegelTypVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:FktRegelTyp">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Branche">
+ <xsd:sequence>
+ <xsd:element name="Oenace" type="std:OenaceType"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="OenaceText" type="xsd:string"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="Beginn" type="std:QuellenType"
+ minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="Ende" type="std:QuellenType"
+ minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="art" type="st:OenaceArtTyp" use="required" />
+ </xsd:complexType>
+
+
+ <xsd:complexType name="OenaceType">
+ <xsd:simpleContent>
+ <xsd:extension base="st:OenaceCodeTyp">
+ <xsd:attribute name="jahr" type="st:OenaceJahrTyp"
+ use="required" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/src/main/resources/wsdl/ur_V2/schema/ur-simpleTypes.xsd b/src/main/resources/wsdl/ur_V2/schema/ur-simpleTypes.xsd
new file mode 100644
index 0000000..81c8936
--- /dev/null
+++ b/src/main/resources/wsdl/ur_V2/schema/ur-simpleTypes.xsd
@@ -0,0 +1,443 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 2012-11-19 V0.0.2 sml minInclusive von RechtsformTyp und FunktionTyp auf 0 geändert.
+ 2012-08-07 V0.0.1 sml AktionTyp entfernt
+-->
+
+<schema targetNamespace="http://statistik.at/namespace/ur/simpleTypes/2#"
+ version="1.0" xmlns:tns="http://statistik.at/namespace/ur/simpleTypes/2#"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified">
+
+ <!-- ******************************************************************************* -->
+ <!-- Allegemeine Typen -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="VersionTyp">
+ <annotation>
+ <documentation>
+ Versionsnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="QuelleTyp">
+ <annotation>
+ <documentation>
+ Identifikationsnummer eines Quellregisters
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="VollzugStatusTyp">
+ <annotation>
+ <documentation>
+ Status des Vollzugsobjektes
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="A" />
+ <enumeration value="V" />
+ <enumeration value="Z" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ErgebnisVollzugStatusTyp">
+ <annotation>
+ <documentation>
+ Im Ergebnis berücksichtigte Status des Vollzugsobjektes
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="V" />
+ <enumeration value="AZV" />
+ </restriction>
+ </simpleType>
+
+<!--
+ <simpleType name="AktionTyp">
+ <annotation>
+ <documentation>
+ Unterscheidung zwischen zu beendenden und neu anzulegenden Merkmalsgruppen
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="NEU" />
+ <enumeration value="ALT" />
+ </restriction>
+ </simpleType>
+ -->
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Unternehmensmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="KurTyp">
+ <annotation>
+ <documentation>
+ UR Kennziffer eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="R[0-9]{3}[A-Z][0-9]{3}[A-Z0-9]"/>
+ <length value="9"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FbnTyp">
+ <annotation>
+ <documentation>
+ Firmenbuchnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="[0-9]{6}[a-z]"/>
+ <length value="7"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ZvrTyp">
+ <annotation>
+ <documentation>
+ Vereinsregisternummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="[0-9]{9}"/>
+ <length value="9"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ErjTyp">
+ <annotation>
+ <documentation>
+ Ordnungsnummer aus dem ERsB
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="[0-9]{13}"/>
+ <length value="13"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="UntNameTyp">
+ <annotation>
+ <documentation>
+ Bezeichnung eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="255" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="BpkTyp">
+ <annotation>
+ <documentation>
+ unverschlüsseltes bPK
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="28" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="BpkEncodedTyp">
+ <annotation>
+ <documentation>
+ verschlüsseltes bPK (base64 codiert)
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="172" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RechtsformTyp">
+ <annotation>
+ <documentation>
+ Rechtsformcode eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <minInclusive value="0" />
+ <maxInclusive value="9999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RechtsformTextTyp">
+ <annotation>
+ <documentation>
+ Langtext der Rechtsform eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="IdArtTyp">
+ <annotation>
+ <documentation>
+ Art eines externen Schlüssels
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <length value="3" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="IdTyp">
+ <annotation>
+ <documentation>
+ Wert eines externen Schlüssels
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="60" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceJahrTyp">
+ <annotation>
+ <documentation>
+ Jahr des ÖNACE-Systems
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <enumeration value="2008" />
+ <minInclusive value="1000" />
+ <maxInclusive value="9999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceCodeTyp">
+ <annotation>
+ <documentation>
+ ÖNACE - Branchenkennzahl
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceArtTyp">
+ <annotation>
+ <documentation>
+ Art der ÖNACE (Haupt-/Nebentätigkeit)
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="H" />
+ <enumeration value="N" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RT_NummerTyp">
+ <annotation>
+ <documentation>
+ Rechtstatsachen-Nummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="3" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RT_CodeTyp">
+ <annotation>
+ <documentation>
+ Rechtstatsachen-Code
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="4" />
+ </restriction>
+ </simpleType>
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Adressmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="StrasseTyp">
+ <annotation>
+ <documentation>
+ Strassenname
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="HNrTyp">
+ <annotation>
+ <documentation>
+ Hausnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="PlzTyp">
+ <annotation>
+ <documentation>
+ Postleitzahl
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OrtTyp">
+ <annotation>
+ <documentation>
+ Ortsname
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="50" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="GemnrTyp">
+ <annotation>
+ <documentation>
+ Gemeindekennziffer
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <minInclusive value="10000" />
+ <maxInclusive value="99999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="LandTyp">
+ <annotation>
+ <documentation>
+ Landescode gem. ISO 3166 ALPHA-3
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <length value="3" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="AdressTyp">
+ <annotation>
+ <documentation>
+ AdressTyp
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="SITZ"/>
+ <enumeration value="ZUSTELLADRESSE"/>
+ </restriction>
+ </simpleType>
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Personenmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="NachnameTyp">
+ <annotation>
+ <documentation>
+ Nachname der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="VornameTyp">
+ <annotation>
+ <documentation>
+ Vorname der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="TitelTyp">
+ <annotation>
+ <documentation>
+ Titel der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="50" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FunktionTyp">
+ <annotation>
+ <documentation>
+ Funktionscode der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <minInclusive value="0" />
+ <maxInclusive value="9999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FunktionTextTyp">
+ <annotation>
+ <documentation>
+ Funktionsbezeichnung der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FktRegelTextTyp">
+ <annotation>
+ <documentation>
+ Funktionsregeltext für vertretungsbefugte Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="2000" />
+ </restriction>
+ </simpleType>
+
+
+ <simpleType name="VertretungsbefugnisTyp">
+ <annotation>
+ <documentation>
+ Art der Vertretungsbefugnis
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="40" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="EvbStatusTyp">
+ <annotation>
+ <documentation>
+ Einzelvertretungsbefugnis
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="J" />
+ <enumeration value="N" />
+ <enumeration value="U" />
+ </restriction>
+ </simpleType>
+</schema> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ur_V2/schema/ur-suche.xsd b/src/main/resources/wsdl/ur_V2/schema/ur-suche.xsd
new file mode 100644
index 0000000..1d1e6b4
--- /dev/null
+++ b/src/main/resources/wsdl/ur_V2/schema/ur-suche.xsd
@@ -0,0 +1,243 @@
+<!--
+ 2012-12-06 sml V0.0.11 Erweiterung SucheUnternehmenNachIdsRequest um URV_pdf Flag und URV_pdf für die Binärdaten im ResultRecord
+ 2012-10-21 sml V0.0.10 Erweiterung SuchePersonendaten um stammzahl und stammregister
+ 2012-08-07 sml V0.0.9 SucheUnternehmenNachIdsRequest ohne choice
+ 2012-07-03 sml V0.0.8 Element ErsbAttribute hinzugefügt
+ SucheUnternehmenNachIdRequest Kardinalität zu Keys geändert, default bei mitHistorie
+ 2012-07-02 sml V0.0.7 Stammzahlen-choice auf minOccurs="1" maxOccurs="unbounded" geändert
+ 2012-06-28 hoa V0.0.6 Ergänzung Stammzahlen (fbn, zvr, erj) für Suchen nach Id(s)
+ Ergänzung FbnTyp, ZvrTyp & ErjTyp in SimpleTypes
+ 2012-06-21 sml V0.0.5 Aufsplittung auf ur_basic_types.xsd und ur_suche.xsd
+ 2012-06-15 sml V0.0.4 Erweiterung AdressTyp (simple) um ZUSTELLADRESSE
+ Anpasssung vollzugBeginn und vollzugEnde auf IDREFs
+ Branche um Beginn und Ende (Quelle) erweitert.
+ 2012-06-14 hoa Vollzugsreferenzen als Attribute,
+ Ergänzung ERsB Attribute (Bestandszeitraum, Bestandsnachweis, Vertretung, Rechtstatsachen)
+ Erweiterung der SimpleTypes: AktionTyp, RT_Nummer, RT_Code
+ 2012-06-12 sml V0.0.2 Erweiterung SimpleTypes: AdressTyp, EvbStatusTyp
+ Erweiterung Elemente: VollzugGroup für vollziehbare Merkmalsgruppen
+ VollzugElem für die Quellinfo
+ Einbau ID/IDREF für Vollzug (VollzugRef)
+ Typ (AdressTyp) und EvbStatus (EvbStausTyp)
+ 2012-06-04 hoa V0.0.1 Entwurf
+-->
+
+
+<xsd:schema targetNamespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:st="http://statistik.at/namespace/ur/simpleTypes/2#"
+ xmlns:std="http://statistik.at/namespace/ur/stammdaten/2#"
+ elementFormDefault="qualified">
+
+ <xsd:import namespace="http://statistik.at/namespace/ur/simpleTypes/2#"
+ schemaLocation="ur-simpleTypes.xsd" />
+
+ <xsd:include schemaLocation="ur-basicTypes.xsd" />
+
+
+ <!-- Requestobjekte -->
+
+ <xsd:element name="SucheUnternehmenRequest" type="std:SucheUnternehmenRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Suche nach Unternehmen durch Angabe von
+ Suchkriterien
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+
+ <xsd:complexType name="SucheUnternehmenRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="unternehmensdaten" type="std:SucheUnternehmensdaten"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="branche" type="std:SucheBranche"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="personendaten" type="std:SuchePersonendaten"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="SucheUnternehmensdaten">
+ <xsd:sequence>
+ <xsd:element name="phonetisch" type="xsd:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="untName" type="st:UntNameTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="rechtsform" type="st:RechtsformTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="id" type="st:IdTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="idArt" type="st:IdArtTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="strasse" type="st:StrasseTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="hNr" type="st:HNrTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="ort" type="st:OrtTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="gemnr" type="st:GemnrTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="plz" type="st:PlzTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="land" type="st:LandTyp" minOccurs="0"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="SucheBranche">
+ <xsd:sequence>
+ <xsd:element name="oenaceJahr" type="st:OenaceJahrTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="oenaceCode" type="st:OenaceCodeTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="oenaceArt" type="st:OenaceArtTyp"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="SuchePersonendaten">
+ <xsd:sequence>
+ <xsd:element name="phonetisch" type="xsd:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="nachname" type="st:NachnameTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="vorname" type="st:VornameTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="gebDatum" type="xsd:date" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="strasse" type="st:StrasseTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="hNr" type="st:HNrTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="ort" type="st:OrtTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="gemnr" type="st:GemnrTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="plz" type="st:PlzTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="land" type="st:LandTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="stammzahl" type="st:IdTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="stammregister" type="st:IdArtTyp" minOccurs="0"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:element name="SucheUnternehmenNachIdsRequest" type="std:SucheUnternehmenNachIdsRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Stammdatenabfrage für Unternehmen durch Angabe
+ einer oder mehrerer UR Kennziffern
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:complexType name="SucheUnternehmenNachIdsRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp"
+ minOccurs="0" maxOccurs="1" />
+ <!--
+ <xsd:choice minOccurs="1" maxOccurs="unbounded">
+ -->
+ <xsd:element name="kur" type="st:KurTyp"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="fbn" type="st:FbnTyp"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="zvr" type="st:ZvrTyp"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="erj" type="st:ErjTyp"
+ minOccurs="0" maxOccurs="unbounded" />
+
+ <!--
+ </xsd:choice>
+ -->
+ <xsd:element name="vollzugStatus" type="st:ErgebnisVollzugStatusTyp"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:element name="SucheUnternehmenNachIdRequest" type="std:SucheUnternehmenNachIdRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Stammdatenabfrage für einzelnes Unternehmen -
+ optional mit Stichtag und / oder Historie
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:complexType name="SucheUnternehmenNachIdRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:choice>
+ <xsd:element name="kur" type="st:KurTyp" />
+ <xsd:element name="fbn" type="st:FbnTyp" />
+ <xsd:element name="zvr" type="st:ZvrTyp" />
+ <xsd:element name="erj" type="st:ErjTyp" />
+ </xsd:choice>
+ <xsd:element name="URV_pdf" type="xsd:boolean" minOccurs="0"
+ maxOccurs="1" default="false" />
+ <xsd:element name="stichtag" type="xsd:date" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="mitHistorie" type="xsd:boolean" default="false"
+ maxOccurs="1" />
+ <xsd:element name="vollzugStatus" type="st:ErgebnisVollzugStatusTyp"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:element name="SucheUnternehmenNachBpkRequest" type="std:SucheUnternehmenNachBpkRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Suche nach Vertretungsbefugnissen von Personen in
+ Unternehmen mithilfe
+ des unverschlüsselten WT-UR bPK
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:complexType name="SucheUnternehmenNachBpkRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:choice>
+ <xsd:element name="bpkWTUR" type="st:BpkTyp" minOccurs="1"
+ maxOccurs="1" />
+ <xsd:element name="bpkWTUREncoded" type="st:BpkEncodedTyp"
+ minOccurs="1" maxOccurs="1" />
+ </xsd:choice>
+ <xsd:element name="nurAktive" type="xsd:boolean"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:element name="SucheUnternehmenNachAendDatRequest"
+ type="std:SucheUnternehmenNachAendDatRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Suche nach geänderten Unternehmen
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:complexType name="SucheUnternehmenNachAendDatRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="aendDat" type="xsd:date" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:element name="ErsbAttribute" type="xsd:boolean" default="false"/>
+
+ <xsd:element name="URV_pdf" type="xsd:base64Binary" />
+
+</xsd:schema>
+ \ No newline at end of file
diff --git a/src/main/resources/wsdl/ur_V2/schema/xml-sw.xsd b/src/main/resources/wsdl/ur_V2/schema/xml-sw.xsd
new file mode 100644
index 0000000..51ac370
--- /dev/null
+++ b/src/main/resources/wsdl/ur_V2/schema/xml-sw.xsd
@@ -0,0 +1,327 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ 2012-12-06 sml V0.0.3 Erweiterung SucheUnternehmenNachIdsRequest um URV_pdf Flag und URV_pdf für die Binärdaten im ResultRecord
+ 2012-08-02 sml V0.0.2 Entfernung aller any-Attribute bei SearchCriteria, ResultCriteria, und ExtraResultCriteria
+ 2012-05-01 sml V0.0.1 Entwurf
+-->
+
+<!--
+
+****************************************************
+
+File xml-sw.xsd
+
+Version 1.0 / 23.03.2004
+
+Author Franz-Josef Herpers / fjh consulting
+
+Copyright (c) 2004, 2005 Bundeskanzleramt Österreich
+
+****************************************************
+
+-->
+<xs:schema targetNamespace="http://reference.e-government.gv.at/namespace/xml-sw/1#"
+ xmlns="http://reference.e-government.gv.at/namespace/xml-sw/1#"
+ xmlns:urs="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0.0">
+
+ <xs:include schemaLocation="specific/CustomFault.xsd"/>
+
+ <xs:import
+ namespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ schemaLocation="ur-suche.xsd" />
+ <xs:import
+ namespace="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ schemaLocation="PersonData_URSuche.xsd" />
+
+
+ <!-- Element Declarations (complex) -->
+ <xs:element name="SearchByExample" type="SearchByExampleType">
+ <xs:annotation>
+ <xs:documentation>Wurzelelement für Suchabfragen vom Typ "Search by Example"</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SearchById" type="SearchByIdType">
+ <xs:annotation>
+ <xs:documentation>Wurzelelement für Suchabfragen vom Typ "Search by Id" </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SearchRequestId" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Eindeutige ID zur Identifikation des Request bei asynchroner Kommunikation</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SearchRequestInfo" type="SearchRequestInfoType">
+ <xs:annotation>
+ <xs:documentation>Container für alle Metainformationen einer Suchanfrage</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SortKeys" type="SortKeysType">
+ <xs:annotation>
+ <xs:documentation>Ermöglicht die Angabe von Schlüsseln, nach denen die Ergebnismenge sortiert sein soll.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SearchResponse" type="SearchResponseType">
+ <xs:annotation>
+ <xs:documentation>Wurzelelement für das Ergebnis einer Suchanfrage</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ResultInfo" type="ResultInfoType">
+ <xs:annotation>
+ <xs:documentation>Metainfos zur Ergebnismenge</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="RecordId" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>ID eines Datensatzes. Sie muss übereinstimmen mit der ID eines Datensatzes (Wert des id-Attributs eines ResultRecord-Elements), den der Server in einem vorhergehenden Request zurückgeliefert hat.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ResultRecords">
+ <xs:annotation>
+ <xs:documentation>Container-Element für die zurückgegebene Ergebnissätze </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="ResultRecord" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SearchCriteria" type="SearchCriteriaType">
+ <xs:annotation>
+ <xs:documentation>Container-Element für die Suchkriterien. Diese sind applikationsspezifisch. Zulässig sind daher beliebige Elemente aus anderen Namensräumen. Optional kann eine ResultSetId übermittelt werden, falls der Server das Vorhalten von vorherigen Abfrageergebnissen unterstützt und in der initialen Response eine ResultSetId mitgesendet hat.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ResultCriteria" type="ResultCriteriaType">
+ <xs:annotation>
+ <xs:documentation>Fasst verschiedene Kriterien zur Behandlung und Auslieferung der gefundenen Ergebnissätze zusammen. Eigene können hinzugefügt werden.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SortKey" type="SortKeyType">
+ <xs:annotation>
+ <xs:documentation>Repräsentiert einen Sortierschlüssel. Die Reihenfolge der einzelnen Schlüssel bestimmt die Sortiergewichtung.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ExtraResultCriteria">
+ <xs:annotation>
+ <xs:documentation>Dient als Erweiterungspunkt. Container für weitere selbst definierte Ergebniskriterien. Server, die hier aufgeführte Kriterien nicht unterstützen, können diese schweigend ignorieren.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType mixed="false">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" ref="urs:ErsbAttribute" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ExtraResultInfo">
+ <xs:annotation>
+ <xs:documentation>Dient als Erqeiterungspunkt. Container für weitere selbst definierte Ergebnisinformationen.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType mixed="false">
+ <xs:sequence>
+ <!--
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ -->
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ResultRecord">
+ <xs:annotation>
+ <xs:documentation> Container-Element für einen Ergebnissatz</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:element ref="pd:PersonenDaten" />
+ <xs:element ref="urs:URV_pdf" minOccurs="0" maxOccurs="1"/>
+
+
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:nonNegativeInteger" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PaymentInfo" type="PaymentInfoType">
+ <xs:annotation>
+ <xs:documentation>Container-Element für Zahlungs- und Verrechnungsinformationen bei kostenpflichtigen Suchanfragen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="RecordFieldList">
+ <xs:annotation>
+ <xs:documentation>Hier kann auf implementierungsspezifische Weise angegeben werden, welche Elemente in der Antwort enthalten sein sollen.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <!--
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ -->
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!-- Element Declarations (simple) -->
+ <xs:element name="Detail" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Dient der Angabe zusätzlicher Detailinformationen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TimeOut" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Zeit, die der Server die Ergebnismenge vorhalten soll</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="MaxRecords" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Maximale Anzahl gewünschter Ergebnissätze </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="StartRecord" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Position des ersten gewünschten Ergebnissatzes in der Ergebnismenge. In Kombination mit MaxRecords erlaubt dies dem Client, das Ergebnis "portionsweise" abzurufen.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Path" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Ein XPath-Ausdruck, der angibt, nach welchem Element der Ergebnissätze die Ergebnismenge sortiert sein soll. </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Ascending" type="xs:boolean">
+ <xs:annotation>
+ <xs:documentation>Gibt die Sortierrichtung an. false bedeutet absteigend, true aufsteigend.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CaseSensitive" type="xs:boolean">
+ <xs:annotation>
+ <xs:documentation>Gibt an, ob Groß- und Kleinschreibung mit berücksichtigt werden soll bei der Sortierung.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ResultSetId" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Eindeutige ID, die eine gecachte Ergebnismenge auf dem Server referenziert. Server, die ein solches Szenario unterstützen, können diese ID im Ergebnis ausliefern.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="FoundRecords" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Anzahl der gefundenen Ergebnissätze</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ReturnedRecords" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation> Anzahl der tatsächlich an den Client zurückgelieferten Ergebnissätze</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Costs" type="xs:float">
+ <xs:annotation>
+ <xs:documentation>Die Kosten der Anfrage in Euro</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InvoiceId" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Eine optionale Verrechnungs-ID wie z.B. die Geschäftszahl</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AccountedUnits" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Anzahl zu verrechnender Einheiten. Diese muss nicht gleich der Anzahl der ausgelieferten Datensätze sein.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TimeStamp" type="xs:dateTime">
+ <xs:annotation>
+ <xs:documentation>Der Timestamp des Servers</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="FaultHint" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Wrapper-Element zur Aufnahme von Detail-Text der Message Codes im SOAP-detail-Element</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- Complex Types -->
+ <xs:complexType name="SearchByExampleType">
+ <xs:sequence>
+ <xs:element ref="SearchRequestId"/>
+ <xs:element ref="SearchRequestInfo" minOccurs="0"/>
+ <xs:element ref="ResultCriteria" minOccurs="0"/>
+ <xs:element ref="SearchCriteria"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SearchByIdType">
+ <xs:sequence>
+ <xs:element ref="SearchRequestId"/>
+ <xs:element ref="SearchRequestInfo" minOccurs="0"/>
+ <xs:element ref="RecordId"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ResultInfoType">
+ <xs:sequence>
+ <xs:element ref="ResultSetId" minOccurs="0"/>
+ <xs:element ref="FoundRecords" minOccurs="0"/>
+ <xs:element ref="ReturnedRecords"/>
+ <xs:element ref="PaymentInfo" minOccurs="0"/>
+ <xs:element ref="ExtraResultInfo" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SearchResponseType">
+ <xs:sequence>
+ <xs:element ref="SearchRequestId"/>
+ <xs:element ref="Message" minOccurs="0"/>
+ <xs:element ref="ResultInfo"/>
+ <xs:element ref="ResultRecords" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SearchRequestInfoType">
+ <xs:sequence>
+ <!--
+ <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ -->
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SortKeyType">
+ <xs:sequence>
+ <xs:element ref="Path"/>
+ <xs:element ref="Ascending" minOccurs="0"/>
+ <xs:element ref="CaseSensitive" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ResultCriteriaType">
+ <xs:sequence>
+ <xs:element ref="MaxRecords" minOccurs="0"/>
+ <xs:element ref="StartRecord" minOccurs="0"/>
+ <xs:element ref="SortKeys" minOccurs="0"/>
+ <xs:element ref="TimeOut" minOccurs="0"/>
+ <xs:element ref="RecordFieldList" minOccurs="0"/>
+ <xs:element ref="ExtraResultCriteria" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SearchCriteriaType">
+ <xs:sequence>
+ <xs:element ref="ResultSetId" minOccurs="0"/>
+ <!-- Erweiterung UR -->
+ <xs:choice>
+ <xs:element ref="urs:SucheUnternehmenNachAendDatRequest" />
+ <xs:element ref="urs:SucheUnternehmenNachBpkRequest" />
+ <xs:element ref="urs:SucheUnternehmenNachIdRequest" />
+ <xs:element ref="urs:SucheUnternehmenNachIdsRequest" />
+ <xs:element ref="urs:SucheUnternehmenRequest" />
+ </xs:choice>
+
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SortKeysType">
+ <xs:sequence>
+ <xs:element ref="SortKey" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PaymentInfoType">
+ <xs:sequence>
+ <xs:element ref="InvoiceId" minOccurs="0"/>
+ <xs:element ref="Costs"/>
+ <xs:element ref="AccountedUnits" minOccurs="0"/>
+ <xs:element ref="TimeStamp"/>
+ <!--
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>Hier können Elemente für zusätzliche Verrechnungsinformationen hinzugefügt werden.</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ -->
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
diff --git a/src/main/resources/wsdl/ur_V2/specific/CustomFault.xsd b/src/main/resources/wsdl/ur_V2/specific/CustomFault.xsd
new file mode 100644
index 0000000..c73d667
--- /dev/null
+++ b/src/main/resources/wsdl/ur_V2/specific/CustomFault.xsd
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
+ <xs:element name="Message" type="CustomFaultType"/>
+
+ <xs:complexType name="CustomFaultType" final="extension">
+ <xs:annotation>
+ <xs:documentation>CustomFault reporting structure</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Code" type="xs:integer"/>
+ <xs:element name="Reason" type="xs:string" maxOccurs="unbounded"/>
+ <xs:element name="Help" type="xs:string" minOccurs="0"/>
+ <xs:element name="Detail" type="xs:anyType" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+</xs:schema>
diff --git a/src/main/resources/wsdl/ur_V2/ur-basicTypes.xsd b/src/main/resources/wsdl/ur_V2/ur-basicTypes.xsd
new file mode 100644
index 0000000..8d3f80b
--- /dev/null
+++ b/src/main/resources/wsdl/ur_V2/ur-basicTypes.xsd
@@ -0,0 +1,287 @@
+<!--
+ 2012-11-20 sml V0.1.0 Erweiterung Rechtsform: ReFormExtern auf numerischen RechtsformTyp geändert, ReFormExternText für Text hinzugefügt
+ 2012-10-15 sml V0.0.9 Typo Vetretung => Vertretung
+ 2012-10-12 sml V0.0.8 Kardinalität Funktion <==> Rechtstatsache von 0:1 auf 0:n geändert
+ 2012-09-19 sml V0.0.7 FktRegelTyp: FktRegelBis minOccurs von 1 auf 0 geändert
+ 2012-07-31 sml V0.0.6 Entfernung aller any-Attribute; Umbau auf Vererbung mit VollzugsAttributen
+ 2012-06-21 sml V0.0.5 Aufsplittung auf ur_basic_types.xsd und ur_suche.xsd
+ Erweiterung der Merkmalsgruppen um any-Attribute
+ 2012-06-15 sml V0.0.4 Erweiterung AdressTyp (simple) um ZUSTELLADRESSE
+ Anpasssung vollzugBeginn und vollzugEnde auf IDREFs
+ Branche um Beginn und Ende (Quelle) erweitert.
+ 2012-06-14 hoa Vollzugsreferenzen als Attribute,
+ Ergängzung ERsB Attribute (Bestandszeitraum, Bestandsnachweis, Vertretung, Rechtstatsachen)
+ Erweiterung der SimpleTypes: AktionTyp, RT_Nummer, RT_Code
+ 2012-06-12 sml V0.0.2 Erweiterung SimpleTypes: AdressTyp, EvbStatusTyp
+ Erweiterung Elemente: VollzugGroup für vollziehbare Merkmalsgruppen
+ VollzugElem für die Quellinfo
+ Einbau ID/IDREF für Vollzug (VollzugRef)
+ Typ (AdressTyp) und EvbStatus (EvbStausTyp)
+ 2012-06-04 hoa V0.0.1 Entwurf
+-->
+
+<xsd:schema targetNamespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:std="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:st="http://statistik.at/namespace/ur/simpleTypes/2#"
+ elementFormDefault="qualified">
+
+ <xsd:import namespace="http://statistik.at/namespace/ur/simpleTypes/2#"
+ schemaLocation="ur-simpleTypes.xsd" />
+
+
+
+
+
+
+ <!-- Responseelemente -->
+
+ <xsd:attribute name="vollzugBeginn" type="xsd:IDREF" />
+ <xsd:attribute name="vollzugEnde" type="xsd:IDREF" />
+
+ <xsd:attributeGroup name="VollzugAttributes">
+ <xsd:attribute ref="std:vollzugBeginn" use="optional" />
+ <xsd:attribute ref="std:vollzugEnde" use="optional"/>
+ </xsd:attributeGroup>
+
+ <xsd:element name="Beginn" type="std:QuellenType"/>
+ <xsd:element name="Ende" type="std:QuellenType"/>
+ <xsd:element name="Vollzug" type="std:Vollzug" />
+
+ <xsd:element name="TypeText" type="xsd:string" />
+ <xsd:element name="UntName" type="std:UntNameVollzug" />
+ <xsd:element name="Rechtsform" type="std:RechtsformVollzug" />
+ <xsd:element name="Bestandszeitraum" type="std:BestandszeitraumVollzug" />
+ <xsd:element name="Bestandsnachweis" type="std:BestandsnachweisVollzug" />
+ <xsd:element name="Vertretung" type="std:VertretungVollzug" />
+ <xsd:element name="Rechtstatsachen" type="std:RechtstatsachenVollzug" />
+ <xsd:element name="Funktion" type="std:FunktionVollzug" />
+ <xsd:element name="Branche" type="std:Branche" />
+ <xsd:element name="AendDat" type="xsd:dateTime" />
+ <xsd:element name="bpkWTUR" type="xsd:string" />
+ <xsd:element name="Typ" type="st:AdressTyp" />
+ <xsd:element name="EvbStatus" type="st:EvbStatusTyp" />
+
+ <xsd:complexType name="UntName" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="VollerName" type="st:UntNameTyp"
+ minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="UntNameVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:UntName">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Rechtsform" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="ReForm" type="st:RechtsformTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="ReFormText" type="st:RechtsformTextTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="ReFormExtern" type="st:RechtsformTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="ReFormExternText" type="st:RechtsformTextTyp"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="RechtsformVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtsform">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Bestandszeitraum" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="BestandVon" type="xsd:date"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="BestandBis" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="BestandszeitraumVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandszeitraum">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Bestandsnachweis" abstract="true">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="BestandsnachweisVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandsnachweis">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Vertretung" abstract="true">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="VertretungVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Vertretung">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Rechtstatsachen" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="RT_Nummer" type="st:RT_NummerTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="RT_Code" type="st:RT_CodeTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="RT_Text" type="xsd:string"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="RechtstatsachenVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtstatsachen">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Vollzug">
+ <xsd:sequence>
+ <xsd:element name="Antrag" type="std:VollzugElem" minOccurs="1" maxOccurs="1" />
+ <xsd:element name="Vollzug" type="std:VollzugElem" minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Zurueckstellung" type="std:VollzugElem" minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID" use="required" />
+ <xsd:attribute name="nummer" type="xsd:integer" use="required" />
+ <xsd:attribute name="status" type="st:VollzugStatusTyp" use="required" />
+ </xsd:complexType>
+
+ <xsd:complexType name="VollzugElem">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:date">
+ <xsd:attribute name="quelle" type="st:QuelleTyp" use="required" />
+ <xsd:attribute name="quText" use="required" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="QuellenType">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:date">
+ <xsd:attribute name="quelle" type="st:QuelleTyp" use="required"/>
+ <xsd:attribute name="quText" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Funktion" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="FktName" type="st:FunktionTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="FktNameText" type="st:FunktionTextTyp"
+ minOccurs="0" maxOccurs="1" />
+
+ <!--
+ <xsd:element name="FktRegel" type="std:FktRegelTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Rechtstatsachen" type="std:Rechtstatsachen"
+ minOccurs="0" maxOccurs="1" />
+ -->
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="FunktionVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Funktion">
+ <xsd:sequence>
+ <xsd:element name="FktRegel" type="std:FktRegelTypVollzug"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Rechtstatsachen" type="std:RechtstatsachenVollzug"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+
+ <xsd:complexType name="FktRegelTyp" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="FktRegelVon" type="xsd:date"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="FktRegelBis" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="FktRegelText" type="st:FktRegelTextTyp"
+ minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="FktRegelTypVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:FktRegelTyp">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Branche">
+ <xsd:sequence>
+ <xsd:element name="Oenace" type="std:OenaceType"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="OenaceText" type="xsd:string"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="Beginn" type="std:QuellenType"
+ minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="Ende" type="std:QuellenType"
+ minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="art" type="st:OenaceArtTyp" use="required" />
+ </xsd:complexType>
+
+
+ <xsd:complexType name="OenaceType">
+ <xsd:simpleContent>
+ <xsd:extension base="st:OenaceCodeTyp">
+ <xsd:attribute name="jahr" type="st:OenaceJahrTyp"
+ use="required" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/src/main/resources/wsdl/ur_V2/ur-simpleTypes.xsd b/src/main/resources/wsdl/ur_V2/ur-simpleTypes.xsd
new file mode 100644
index 0000000..81c8936
--- /dev/null
+++ b/src/main/resources/wsdl/ur_V2/ur-simpleTypes.xsd
@@ -0,0 +1,443 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 2012-11-19 V0.0.2 sml minInclusive von RechtsformTyp und FunktionTyp auf 0 geändert.
+ 2012-08-07 V0.0.1 sml AktionTyp entfernt
+-->
+
+<schema targetNamespace="http://statistik.at/namespace/ur/simpleTypes/2#"
+ version="1.0" xmlns:tns="http://statistik.at/namespace/ur/simpleTypes/2#"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified">
+
+ <!-- ******************************************************************************* -->
+ <!-- Allegemeine Typen -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="VersionTyp">
+ <annotation>
+ <documentation>
+ Versionsnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="QuelleTyp">
+ <annotation>
+ <documentation>
+ Identifikationsnummer eines Quellregisters
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="VollzugStatusTyp">
+ <annotation>
+ <documentation>
+ Status des Vollzugsobjektes
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="A" />
+ <enumeration value="V" />
+ <enumeration value="Z" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ErgebnisVollzugStatusTyp">
+ <annotation>
+ <documentation>
+ Im Ergebnis berücksichtigte Status des Vollzugsobjektes
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="V" />
+ <enumeration value="AZV" />
+ </restriction>
+ </simpleType>
+
+<!--
+ <simpleType name="AktionTyp">
+ <annotation>
+ <documentation>
+ Unterscheidung zwischen zu beendenden und neu anzulegenden Merkmalsgruppen
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="NEU" />
+ <enumeration value="ALT" />
+ </restriction>
+ </simpleType>
+ -->
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Unternehmensmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="KurTyp">
+ <annotation>
+ <documentation>
+ UR Kennziffer eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="R[0-9]{3}[A-Z][0-9]{3}[A-Z0-9]"/>
+ <length value="9"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FbnTyp">
+ <annotation>
+ <documentation>
+ Firmenbuchnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="[0-9]{6}[a-z]"/>
+ <length value="7"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ZvrTyp">
+ <annotation>
+ <documentation>
+ Vereinsregisternummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="[0-9]{9}"/>
+ <length value="9"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ErjTyp">
+ <annotation>
+ <documentation>
+ Ordnungsnummer aus dem ERsB
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="[0-9]{13}"/>
+ <length value="13"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="UntNameTyp">
+ <annotation>
+ <documentation>
+ Bezeichnung eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="255" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="BpkTyp">
+ <annotation>
+ <documentation>
+ unverschlüsseltes bPK
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="28" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="BpkEncodedTyp">
+ <annotation>
+ <documentation>
+ verschlüsseltes bPK (base64 codiert)
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="172" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RechtsformTyp">
+ <annotation>
+ <documentation>
+ Rechtsformcode eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <minInclusive value="0" />
+ <maxInclusive value="9999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RechtsformTextTyp">
+ <annotation>
+ <documentation>
+ Langtext der Rechtsform eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="IdArtTyp">
+ <annotation>
+ <documentation>
+ Art eines externen Schlüssels
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <length value="3" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="IdTyp">
+ <annotation>
+ <documentation>
+ Wert eines externen Schlüssels
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="60" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceJahrTyp">
+ <annotation>
+ <documentation>
+ Jahr des ÖNACE-Systems
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <enumeration value="2008" />
+ <minInclusive value="1000" />
+ <maxInclusive value="9999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceCodeTyp">
+ <annotation>
+ <documentation>
+ ÖNACE - Branchenkennzahl
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceArtTyp">
+ <annotation>
+ <documentation>
+ Art der ÖNACE (Haupt-/Nebentätigkeit)
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="H" />
+ <enumeration value="N" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RT_NummerTyp">
+ <annotation>
+ <documentation>
+ Rechtstatsachen-Nummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="3" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RT_CodeTyp">
+ <annotation>
+ <documentation>
+ Rechtstatsachen-Code
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="4" />
+ </restriction>
+ </simpleType>
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Adressmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="StrasseTyp">
+ <annotation>
+ <documentation>
+ Strassenname
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="HNrTyp">
+ <annotation>
+ <documentation>
+ Hausnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="PlzTyp">
+ <annotation>
+ <documentation>
+ Postleitzahl
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OrtTyp">
+ <annotation>
+ <documentation>
+ Ortsname
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="50" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="GemnrTyp">
+ <annotation>
+ <documentation>
+ Gemeindekennziffer
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <minInclusive value="10000" />
+ <maxInclusive value="99999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="LandTyp">
+ <annotation>
+ <documentation>
+ Landescode gem. ISO 3166 ALPHA-3
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <length value="3" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="AdressTyp">
+ <annotation>
+ <documentation>
+ AdressTyp
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="SITZ"/>
+ <enumeration value="ZUSTELLADRESSE"/>
+ </restriction>
+ </simpleType>
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Personenmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="NachnameTyp">
+ <annotation>
+ <documentation>
+ Nachname der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="VornameTyp">
+ <annotation>
+ <documentation>
+ Vorname der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="TitelTyp">
+ <annotation>
+ <documentation>
+ Titel der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="50" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FunktionTyp">
+ <annotation>
+ <documentation>
+ Funktionscode der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <minInclusive value="0" />
+ <maxInclusive value="9999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FunktionTextTyp">
+ <annotation>
+ <documentation>
+ Funktionsbezeichnung der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FktRegelTextTyp">
+ <annotation>
+ <documentation>
+ Funktionsregeltext für vertretungsbefugte Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="2000" />
+ </restriction>
+ </simpleType>
+
+
+ <simpleType name="VertretungsbefugnisTyp">
+ <annotation>
+ <documentation>
+ Art der Vertretungsbefugnis
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="40" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="EvbStatusTyp">
+ <annotation>
+ <documentation>
+ Einzelvertretungsbefugnis
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="J" />
+ <enumeration value="N" />
+ <enumeration value="U" />
+ </restriction>
+ </simpleType>
+</schema> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ur_V2/ur-suche.xsd b/src/main/resources/wsdl/ur_V2/ur-suche.xsd
new file mode 100644
index 0000000..5ea43e9
--- /dev/null
+++ b/src/main/resources/wsdl/ur_V2/ur-suche.xsd
@@ -0,0 +1,163 @@
+<!--
+ 2012-12-06 sml V0.0.11 Erweiterung SucheUnternehmenNachIdsRequest um URV_pdf Flag und URV_pdf für die Binärdaten im ResultRecord
+ 2012-10-21 sml V0.0.10 Erweiterung SuchePersonendaten um stammzahl und stammregister
+ 2012-08-07 sml V0.0.9 SucheUnternehmenNachIdsRequest ohne choice
+ 2012-07-03 sml V0.0.8 Element ErsbAttribute hinzugefügt
+ SucheUnternehmenNachIdRequest Kardinalität zu Keys geändert, default bei mitHistorie
+ 2012-07-02 sml V0.0.7 Stammzahlen-choice auf minOccurs="1" maxOccurs="unbounded" geändert
+ 2012-06-28 hoa V0.0.6 Ergänzung Stammzahlen (fbn, zvr, erj) für Suchen nach Id(s)
+ Ergänzung FbnTyp, ZvrTyp & ErjTyp in SimpleTypes
+ 2012-06-21 sml V0.0.5 Aufsplittung auf ur_basic_types.xsd und ur_suche.xsd
+ 2012-06-15 sml V0.0.4 Erweiterung AdressTyp (simple) um ZUSTELLADRESSE
+ Anpasssung vollzugBeginn und vollzugEnde auf IDREFs
+ Branche um Beginn und Ende (Quelle) erweitert.
+ 2012-06-14 hoa Vollzugsreferenzen als Attribute,
+ Ergänzung ERsB Attribute (Bestandszeitraum, Bestandsnachweis, Vertretung, Rechtstatsachen)
+ Erweiterung der SimpleTypes: AktionTyp, RT_Nummer, RT_Code
+ 2012-06-12 sml V0.0.2 Erweiterung SimpleTypes: AdressTyp, EvbStatusTyp
+ Erweiterung Elemente: VollzugGroup für vollziehbare Merkmalsgruppen
+ VollzugElem für die Quellinfo
+ Einbau ID/IDREF für Vollzug (VollzugRef)
+ Typ (AdressTyp) und EvbStatus (EvbStausTyp)
+ 2012-06-04 hoa V0.0.1 Entwurf
+-->
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:st="http://statistik.at/namespace/ur/simpleTypes/2#" xmlns:std="http://statistik.at/namespace/ur/stammdaten/2#" targetNamespace="http://statistik.at/namespace/ur/stammdaten/2#" elementFormDefault="qualified">
+ <xsd:import namespace="http://statistik.at/namespace/ur/simpleTypes/2#" schemaLocation="ur-simpleTypes.xsd"/>
+ <xsd:include schemaLocation="ur-basicTypes.xsd"/>
+ <!-- Requestobjekte -->
+ <xsd:element name="SucheUnternehmenRequest" type="std:SucheUnternehmenRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Suche nach Unternehmen durch Angabe von
+ Suchkriterien
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:complexType name="SucheUnternehmenRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="unternehmensdaten" type="std:SucheUnternehmensdaten" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="branche" type="std:SucheBranche" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="personendaten" type="std:SuchePersonendaten" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="SucheUnternehmensdaten">
+ <xsd:sequence>
+ <xsd:element name="phonetisch" type="xsd:boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="untName" type="st:UntNameTyp" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="rechtsform" type="st:RechtsformTyp" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="id" type="st:IdTyp" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="idArt" type="st:IdArtTyp" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="strasse" type="st:StrasseTyp" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="hNr" type="st:HNrTyp" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="ort" type="st:OrtTyp" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="gemnr" type="st:GemnrTyp" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="plz" type="st:PlzTyp" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="land" type="st:LandTyp" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="SucheBranche">
+ <xsd:sequence>
+ <xsd:element name="oenaceJahr" type="st:OenaceJahrTyp" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="oenaceCode" type="st:OenaceCodeTyp" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="oenaceArt" type="st:OenaceArtTyp" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:complexType name="SuchePersonendaten">
+ <xsd:sequence>
+ <xsd:element name="phonetisch" type="xsd:boolean" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="nachname" type="st:NachnameTyp" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="vorname" type="st:VornameTyp" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="gebDatum" type="xsd:date" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="strasse" type="st:StrasseTyp" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="hNr" type="st:HNrTyp" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="ort" type="st:OrtTyp" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="gemnr" type="st:GemnrTyp" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="plz" type="st:PlzTyp" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="land" type="st:LandTyp" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="stammzahl" type="st:IdTyp" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="stammregister" type="st:IdArtTyp" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="SucheUnternehmenNachIdsRequest" type="std:SucheUnternehmenNachIdsRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Stammdatenabfrage für Unternehmen durch Angabe
+ einer oder mehrerer UR Kennziffern
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:complexType name="SucheUnternehmenNachIdsRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp" minOccurs="0" maxOccurs="1"/>
+ <!--
+ <xsd:choice minOccurs="1" maxOccurs="unbounded">
+ -->
+ <xsd:element name="kur" type="st:KurTyp" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="fbn" type="st:FbnTyp" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="zvr" type="st:ZvrTyp" minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="erj" type="st:ErjTyp" minOccurs="0" maxOccurs="unbounded"/>
+ <!--
+ </xsd:choice>
+ -->
+ <xsd:element name="vollzugStatus" type="st:ErgebnisVollzugStatusTyp" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="SucheUnternehmenNachIdRequest" type="std:SucheUnternehmenNachIdRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Stammdatenabfrage für einzelnes Unternehmen -
+ optional mit Stichtag und / oder Historie
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:complexType name="SucheUnternehmenNachIdRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp" minOccurs="0" maxOccurs="1"/>
+ <xsd:choice>
+ <xsd:element name="kur" type="st:KurTyp"/>
+ <xsd:element name="fbn" type="st:FbnTyp"/>
+ <xsd:element name="zvr" type="st:ZvrTyp"/>
+ <xsd:element name="erj" type="st:ErjTyp"/>
+ </xsd:choice>
+ <xsd:element name="URV_pdf" type="xsd:boolean" default="false" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="stichtag" type="xsd:date" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="mitHistorie" type="xsd:boolean" default="false" maxOccurs="1"/>
+ <xsd:element name="vollzugStatus" type="st:ErgebnisVollzugStatusTyp" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="SucheUnternehmenNachBpkRequest" type="std:SucheUnternehmenNachBpkRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Suche nach Vertretungsbefugnissen von Personen in
+ Unternehmen mithilfe
+ des unverschlüsselten WT-UR bPK
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:complexType name="SucheUnternehmenNachBpkRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp" minOccurs="0" maxOccurs="1"/>
+ <xsd:choice>
+ <xsd:element name="bpkWTUR" type="st:BpkTyp" minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="bpkWTUREncoded" type="st:BpkEncodedTyp" minOccurs="1" maxOccurs="1"/>
+ </xsd:choice>
+ <xsd:element name="nurAktive" type="xsd:boolean" minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="SucheUnternehmenNachAendDatRequest" type="std:SucheUnternehmenNachAendDatRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Suche nach geänderten Unternehmen
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:complexType name="SucheUnternehmenNachAendDatRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp" minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="aendDat" type="xsd:date" minOccurs="1" maxOccurs="1"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="ErsbAttribute" type="xsd:boolean" default="false"/>
+ <xsd:element name="URV_pdf" type="xsd:base64Binary"/>
+</xsd:schema>
diff --git a/src/main/resources/wsdl/ur_V2/xml-sw.xsd b/src/main/resources/wsdl/ur_V2/xml-sw.xsd
new file mode 100644
index 0000000..51ac370
--- /dev/null
+++ b/src/main/resources/wsdl/ur_V2/xml-sw.xsd
@@ -0,0 +1,327 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ 2012-12-06 sml V0.0.3 Erweiterung SucheUnternehmenNachIdsRequest um URV_pdf Flag und URV_pdf für die Binärdaten im ResultRecord
+ 2012-08-02 sml V0.0.2 Entfernung aller any-Attribute bei SearchCriteria, ResultCriteria, und ExtraResultCriteria
+ 2012-05-01 sml V0.0.1 Entwurf
+-->
+
+<!--
+
+****************************************************
+
+File xml-sw.xsd
+
+Version 1.0 / 23.03.2004
+
+Author Franz-Josef Herpers / fjh consulting
+
+Copyright (c) 2004, 2005 Bundeskanzleramt Österreich
+
+****************************************************
+
+-->
+<xs:schema targetNamespace="http://reference.e-government.gv.at/namespace/xml-sw/1#"
+ xmlns="http://reference.e-government.gv.at/namespace/xml-sw/1#"
+ xmlns:urs="http://statistik.at/namespace/ur/stammdaten/2#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0.0">
+
+ <xs:include schemaLocation="specific/CustomFault.xsd"/>
+
+ <xs:import
+ namespace="http://statistik.at/namespace/ur/stammdaten/2#"
+ schemaLocation="ur-suche.xsd" />
+ <xs:import
+ namespace="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ schemaLocation="PersonData_URSuche.xsd" />
+
+
+ <!-- Element Declarations (complex) -->
+ <xs:element name="SearchByExample" type="SearchByExampleType">
+ <xs:annotation>
+ <xs:documentation>Wurzelelement für Suchabfragen vom Typ "Search by Example"</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SearchById" type="SearchByIdType">
+ <xs:annotation>
+ <xs:documentation>Wurzelelement für Suchabfragen vom Typ "Search by Id" </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SearchRequestId" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Eindeutige ID zur Identifikation des Request bei asynchroner Kommunikation</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SearchRequestInfo" type="SearchRequestInfoType">
+ <xs:annotation>
+ <xs:documentation>Container für alle Metainformationen einer Suchanfrage</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SortKeys" type="SortKeysType">
+ <xs:annotation>
+ <xs:documentation>Ermöglicht die Angabe von Schlüsseln, nach denen die Ergebnismenge sortiert sein soll.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SearchResponse" type="SearchResponseType">
+ <xs:annotation>
+ <xs:documentation>Wurzelelement für das Ergebnis einer Suchanfrage</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ResultInfo" type="ResultInfoType">
+ <xs:annotation>
+ <xs:documentation>Metainfos zur Ergebnismenge</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="RecordId" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>ID eines Datensatzes. Sie muss übereinstimmen mit der ID eines Datensatzes (Wert des id-Attributs eines ResultRecord-Elements), den der Server in einem vorhergehenden Request zurückgeliefert hat.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ResultRecords">
+ <xs:annotation>
+ <xs:documentation>Container-Element für die zurückgegebene Ergebnissätze </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="ResultRecord" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SearchCriteria" type="SearchCriteriaType">
+ <xs:annotation>
+ <xs:documentation>Container-Element für die Suchkriterien. Diese sind applikationsspezifisch. Zulässig sind daher beliebige Elemente aus anderen Namensräumen. Optional kann eine ResultSetId übermittelt werden, falls der Server das Vorhalten von vorherigen Abfrageergebnissen unterstützt und in der initialen Response eine ResultSetId mitgesendet hat.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ResultCriteria" type="ResultCriteriaType">
+ <xs:annotation>
+ <xs:documentation>Fasst verschiedene Kriterien zur Behandlung und Auslieferung der gefundenen Ergebnissätze zusammen. Eigene können hinzugefügt werden.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SortKey" type="SortKeyType">
+ <xs:annotation>
+ <xs:documentation>Repräsentiert einen Sortierschlüssel. Die Reihenfolge der einzelnen Schlüssel bestimmt die Sortiergewichtung.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ExtraResultCriteria">
+ <xs:annotation>
+ <xs:documentation>Dient als Erweiterungspunkt. Container für weitere selbst definierte Ergebniskriterien. Server, die hier aufgeführte Kriterien nicht unterstützen, können diese schweigend ignorieren.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType mixed="false">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" ref="urs:ErsbAttribute" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ExtraResultInfo">
+ <xs:annotation>
+ <xs:documentation>Dient als Erqeiterungspunkt. Container für weitere selbst definierte Ergebnisinformationen.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType mixed="false">
+ <xs:sequence>
+ <!--
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ -->
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ResultRecord">
+ <xs:annotation>
+ <xs:documentation> Container-Element für einen Ergebnissatz</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:element ref="pd:PersonenDaten" />
+ <xs:element ref="urs:URV_pdf" minOccurs="0" maxOccurs="1"/>
+
+
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:nonNegativeInteger" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PaymentInfo" type="PaymentInfoType">
+ <xs:annotation>
+ <xs:documentation>Container-Element für Zahlungs- und Verrechnungsinformationen bei kostenpflichtigen Suchanfragen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="RecordFieldList">
+ <xs:annotation>
+ <xs:documentation>Hier kann auf implementierungsspezifische Weise angegeben werden, welche Elemente in der Antwort enthalten sein sollen.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <!--
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ -->
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!-- Element Declarations (simple) -->
+ <xs:element name="Detail" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Dient der Angabe zusätzlicher Detailinformationen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TimeOut" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Zeit, die der Server die Ergebnismenge vorhalten soll</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="MaxRecords" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Maximale Anzahl gewünschter Ergebnissätze </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="StartRecord" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Position des ersten gewünschten Ergebnissatzes in der Ergebnismenge. In Kombination mit MaxRecords erlaubt dies dem Client, das Ergebnis "portionsweise" abzurufen.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Path" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Ein XPath-Ausdruck, der angibt, nach welchem Element der Ergebnissätze die Ergebnismenge sortiert sein soll. </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Ascending" type="xs:boolean">
+ <xs:annotation>
+ <xs:documentation>Gibt die Sortierrichtung an. false bedeutet absteigend, true aufsteigend.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CaseSensitive" type="xs:boolean">
+ <xs:annotation>
+ <xs:documentation>Gibt an, ob Groß- und Kleinschreibung mit berücksichtigt werden soll bei der Sortierung.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ResultSetId" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Eindeutige ID, die eine gecachte Ergebnismenge auf dem Server referenziert. Server, die ein solches Szenario unterstützen, können diese ID im Ergebnis ausliefern.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="FoundRecords" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Anzahl der gefundenen Ergebnissätze</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ReturnedRecords" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation> Anzahl der tatsächlich an den Client zurückgelieferten Ergebnissätze</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Costs" type="xs:float">
+ <xs:annotation>
+ <xs:documentation>Die Kosten der Anfrage in Euro</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InvoiceId" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Eine optionale Verrechnungs-ID wie z.B. die Geschäftszahl</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AccountedUnits" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Anzahl zu verrechnender Einheiten. Diese muss nicht gleich der Anzahl der ausgelieferten Datensätze sein.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TimeStamp" type="xs:dateTime">
+ <xs:annotation>
+ <xs:documentation>Der Timestamp des Servers</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="FaultHint" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Wrapper-Element zur Aufnahme von Detail-Text der Message Codes im SOAP-detail-Element</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- Complex Types -->
+ <xs:complexType name="SearchByExampleType">
+ <xs:sequence>
+ <xs:element ref="SearchRequestId"/>
+ <xs:element ref="SearchRequestInfo" minOccurs="0"/>
+ <xs:element ref="ResultCriteria" minOccurs="0"/>
+ <xs:element ref="SearchCriteria"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SearchByIdType">
+ <xs:sequence>
+ <xs:element ref="SearchRequestId"/>
+ <xs:element ref="SearchRequestInfo" minOccurs="0"/>
+ <xs:element ref="RecordId"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ResultInfoType">
+ <xs:sequence>
+ <xs:element ref="ResultSetId" minOccurs="0"/>
+ <xs:element ref="FoundRecords" minOccurs="0"/>
+ <xs:element ref="ReturnedRecords"/>
+ <xs:element ref="PaymentInfo" minOccurs="0"/>
+ <xs:element ref="ExtraResultInfo" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SearchResponseType">
+ <xs:sequence>
+ <xs:element ref="SearchRequestId"/>
+ <xs:element ref="Message" minOccurs="0"/>
+ <xs:element ref="ResultInfo"/>
+ <xs:element ref="ResultRecords" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SearchRequestInfoType">
+ <xs:sequence>
+ <!--
+ <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ -->
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SortKeyType">
+ <xs:sequence>
+ <xs:element ref="Path"/>
+ <xs:element ref="Ascending" minOccurs="0"/>
+ <xs:element ref="CaseSensitive" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ResultCriteriaType">
+ <xs:sequence>
+ <xs:element ref="MaxRecords" minOccurs="0"/>
+ <xs:element ref="StartRecord" minOccurs="0"/>
+ <xs:element ref="SortKeys" minOccurs="0"/>
+ <xs:element ref="TimeOut" minOccurs="0"/>
+ <xs:element ref="RecordFieldList" minOccurs="0"/>
+ <xs:element ref="ExtraResultCriteria" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SearchCriteriaType">
+ <xs:sequence>
+ <xs:element ref="ResultSetId" minOccurs="0"/>
+ <!-- Erweiterung UR -->
+ <xs:choice>
+ <xs:element ref="urs:SucheUnternehmenNachAendDatRequest" />
+ <xs:element ref="urs:SucheUnternehmenNachBpkRequest" />
+ <xs:element ref="urs:SucheUnternehmenNachIdRequest" />
+ <xs:element ref="urs:SucheUnternehmenNachIdsRequest" />
+ <xs:element ref="urs:SucheUnternehmenRequest" />
+ </xs:choice>
+
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SortKeysType">
+ <xs:sequence>
+ <xs:element ref="SortKey" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PaymentInfoType">
+ <xs:sequence>
+ <xs:element ref="InvoiceId" minOccurs="0"/>
+ <xs:element ref="Costs"/>
+ <xs:element ref="AccountedUnits" minOccurs="0"/>
+ <xs:element ref="TimeStamp"/>
+ <!--
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>Hier können Elemente für zusätzliche Verrechnungsinformationen hinzugefügt werden.</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ -->
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
diff --git a/src/main/resources/wsdl/ur_V4/13-11 URV Webservices zur Unternehmenssuche v4.0.pdf b/src/main/resources/wsdl/ur_V4/13-11 URV Webservices zur Unternehmenssuche v4.0.pdf
new file mode 100644
index 0000000..3f9322b
--- /dev/null
+++ b/src/main/resources/wsdl/ur_V4/13-11 URV Webservices zur Unternehmenssuche v4.0.pdf
Binary files differ
diff --git a/src/main/resources/wsdl/ur_V4/URSucheService.wsdl b/src/main/resources/wsdl/ur_V4/URSucheService.wsdl
new file mode 100644
index 0000000..c70df92
--- /dev/null
+++ b/src/main/resources/wsdl/ur_V4/URSucheService.wsdl
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Anpassungen für URV URSuche v4.0
+ ================================
+ 2013-11-12 sml Ãœberarbeitung SOAPFaults: XmlSwFault, CustomFault
+ 2013-11-04 sml Zusatzdaten: Dubletten Block hinzugefügt (STAT.AT internal use only) (URV-438)
+ 2013-11-04 sml SucheUnternehmenNachIdRequest, SucheUnternehmenNachIdsRequest: sek hinzugefügt (URV-445)
+ 2013-11-04 sml PostAdresseTyp: Nutzungseinheitlaufnummer hinzugefügt
+ 2013-10-10 sml Zusatzdaten: Gesperrt hinzugefügt (URV-420)
+
+ Anpassungen für URV URSuche v3.0
+ ================================
+ 2013-03-05 sml Erweiterung um Taetigkeitszeitraum
+ 2012-09-24 sml Auslagerung Zusatzdaten in ZusatzdatenPersonenTyp
+ 2012-09-20 sml NichtNatuerlichePerson um VollzugAttributes erweitert
+ 2012-09-11 sml Kardinalität EVBStatus auf 0..1 geändert
+ Kardinalität TypeText von 0..n auf 0..1 geändert
+ 2012-08-20 hoa AdressCode/Subcode/Objektnummer hinzugefügt
+ 2012-08-08 sml Branche hinzugefügt
+ 2012-08-07 sml kein mixed Content bei den Zusatzdaten mehr möglich
+ 2012-08-06 sml eigener Namespace für UR-Persondata
+ 2012-07-05 sml Any-Attribute und Any-Elemente nach AGII-Empfehlung durch die konkreten ersetzt.
+ 2012-06-14 sml Affix wieder auf unbounded (vgl. URSucheService UDB)
+-->
+
+
+
+<wsdl:definitions name="URSuche"
+ targetNamespace="urn:at:statistik:ur:ws"
+ xmlns:tns="urn:at:statistik:ur:ws"
+ xmlns:sw="http://reference.e-government.gv.at/namespace/xml-sw/1#"
+ xmlns:ud="http://statistik.at/namespace/ur/stammdaten/3#"
+ xmlns:soapbinding="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <wsdl:documentation> Dieses WSDL-Dokument beschreibt den
+ XML-Search-Service. </wsdl:documentation>
+ <wsdl:types>
+ <xsd:schema>
+ <xsd:import
+ namespace="http://reference.e-government.gv.at/namespace/xml-sw/1#"
+ schemaLocation="schema/urs-v4-xml-sw.xsd"/>
+ <xsd:import
+ namespace="http://reference.e-government.gv.at/namespace/xml-sw/1#"
+ schemaLocation="schema/specific/urs-v4-CustomFault.xsd"/>
+ </xsd:schema>
+ </wsdl:types>
+ <wsdl:message name="SearchByExample">
+ <wsdl:documentation>
+ Nachricht, die für eine Suchanfrage
+ vom Typ Search by Example vom Client abgesendet wird
+ </wsdl:documentation>
+ <wsdl:part name="body" element="sw:SearchByExample"/>
+ </wsdl:message>
+ <wsdl:message name="SearchById">
+ <wsdl:documentation> Nachricht, die für eine Suchanfrage
+ vom Typ Search by Id vom Client abgesendet wird
+ </wsdl:documentation>
+ <wsdl:part name="body" element="sw:SearchById"/>
+ </wsdl:message>
+
+ <!-- FAULT -->
+ <wsdl:message name="XmlSwFault">
+ <wsdl:documentation>ServiceFault
+ </wsdl:documentation>
+ <wsdl:part name="fault" element="sw:XmlSwFault"/>
+ </wsdl:message>
+
+ <wsdl:message name="SearchResponse">
+ <wsdl:documentation> Nachricht, die vom Server als
+ Antwort auf eine der beiden Suchanfragen
+ zurückgesendet wird
+ </wsdl:documentation>
+ <wsdl:part name="body" element="sw:SearchResponse"/>
+ </wsdl:message>
+ <wsdl:portType name="URSuche">
+ <wsdl:operation name="searchByExample">
+ <wsdl:documentation> Operation für den Abfragetyp
+ Search by Example
+ </wsdl:documentation>
+ <wsdl:input message="tns:SearchByExample"/>
+ <wsdl:output message="tns:SearchResponse"/>
+ <!-- FAULT -->
+ <wsdl:fault name="XmlSwFault" message="tns:XmlSwFault"/>
+
+ </wsdl:operation>
+
+ <wsdl:operation name="searchById">
+ <wsdl:documentation> Operation für den Abfragetyp
+ Search by Id
+ </wsdl:documentation>
+ <wsdl:input message="tns:SearchById"/>
+ <wsdl:output message="tns:SearchResponse"/>
+ <!-- FAULT -->
+ <wsdl:fault name="XmlSwFault" message="tns:XmlSwFault"/>
+
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="URSucheServiceSoapBinding"
+ type="tns:URSuche">
+ <wsdl:documentation> Definition des Binding für den
+ Search Service
+ </wsdl:documentation>
+ <soapbinding:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http"/>
+ <wsdl:operation name="searchByExample">
+ <soapbinding:operation
+ soapAction=""
+ style="document"/>
+ <wsdl:input>
+ <soapbinding:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soapbinding:body use="literal"/>
+ </wsdl:output>
+ <!-- FAULT -->
+ <wsdl:fault name="XmlSwFault">
+ <soapbinding:fault use="literal" name="XmlSwFault"/>
+ </wsdl:fault>
+ </wsdl:operation>
+ <wsdl:operation name="searchById">
+ <soapbinding:operation
+ soapAction=""
+ style="document"/>
+ <wsdl:input>
+ <soapbinding:body use="literal"/>
+ </wsdl:input>
+ <wsdl:output>
+ <soapbinding:body use="literal"/>
+ </wsdl:output>
+ <!-- FAULT -->
+ <wsdl:fault name="XmlSwFault">
+ <soapbinding:fault use="literal" name="XmlSwFault" />
+ </wsdl:fault>
+
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="URSucheService">
+ <wsdl:port binding="tns:URSucheServiceSoapBinding"
+ name="URSucheService">
+ <soapbinding:address
+ location="http://localhost:9081/URV/services/URSucheService"
+ />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
diff --git a/src/main/resources/wsdl/ur_V4/schema/specific/urs-v4-CustomFault.xsd b/src/main/resources/wsdl/ur_V4/schema/specific/urs-v4-CustomFault.xsd
new file mode 100644
index 0000000..7935510
--- /dev/null
+++ b/src/main/resources/wsdl/ur_V4/schema/specific/urs-v4-CustomFault.xsd
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://reference.e-government.gv.at/namespace/xml-sw/1#"
+ targetNamespace="http://reference.e-government.gv.at/namespace/xml-sw/1#">
+
+ <xs:include schemaLocation="../urs-v4-xml-sw.xsd"/>
+
+ <xs:element name="XmlSwFault" type="CustomFaultType"/>
+
+ <xs:element name="Message" type="CustomFaultType"/>
+
+ <xs:complexType name="CustomFaultType" final="extension">
+ <xs:annotation>
+ <xs:documentation>CustomFault reporting structure</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Code" type="xs:integer"/>
+ <xs:element name="Reason" type="xs:string" maxOccurs="unbounded"/>
+ <xs:element name="Help" type="xs:string" minOccurs="0"/>
+ <xs:element ref="FaultHint" minOccurs="0" maxOccurs="unbounded"/>
+
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
diff --git a/src/main/resources/wsdl/ur_V4/schema/urs-v4-PersonData.xsd b/src/main/resources/wsdl/ur_V4/schema/urs-v4-PersonData.xsd
new file mode 100644
index 0000000..e916ebe
--- /dev/null
+++ b/src/main/resources/wsdl/ur_V4/schema/urs-v4-PersonData.xsd
@@ -0,0 +1,510 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Header der Originaldatei:
+ Generisches Schema zum Speichern und Austauschen von Personendaten
+ (c) 2001-2002 Chief Information Office Austria, Stabsstelle IKT-Strategie des Bundes, BM֖LS
+ Kontakt: Peter Reichstädter (peter.reichstaedter@cio.gv.at), Arno Hollosi (arno.hollosi@cio.gv.at)
+ Die freie Verwendung dieses Schemas in Applikationen (behördenintern, kommerziell, privat) ist erlaubt und erwünscht.
+-->
+<?xml-stylesheet type="text/xsl" href="getelementnames.xslt"?>
+
+<xs:schema targetNamespace="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns="http://reference.e-government.gv.at/namespace/persondata/de/20040201#" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:uri="http://statistik.at/namespace/ur/stammdaten/3#" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#"
+ elementFormDefault="qualified" attributeFormDefault="unqualified"
+ version="1.0.0">
+
+ <!-- Import der UR-basic -->
+ <xs:import namespace="http://statistik.at/namespace/ur/stammdaten/3#"
+ schemaLocation="urs-v4-suche.xsd" />
+
+
+ <xs:annotation>
+ <xs:documentation>This version of person deploys only global elements.
+ All types derived from abstract types have been replaced by
+ substitution groups</xs:documentation>
+ </xs:annotation>
+ <!-- ### signed structure of a person ### -->
+ <xs:element name="AbstractPersonData" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes PersonenDaten Element, nur auf englisch
+ verfügbar, nicht direkt benützen sondern PersonenDaten benutzen
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="PersonenDaten" type="PersonenDatenTyp"
+ substitutionGroup="AbstractPersonData">
+ <xs:annotation>
+ <xs:documentation>Signierte Personendatenstruktur</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- ### base type for person data ### -->
+ <xs:element name="Person" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Personen Element, nur auf englisch
+ verfügbar, nicht direkt benützen sondern NatuerlichePerson o.
+ NichtNatuerlichePerson benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- ### physical person and corporate body ### -->
+ <xs:element name="NatuerlichePerson" type="NatuerlichePersonTyp"
+ substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>Natuerliche Person entspricht PhysicalPerson, ist
+ eine Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="NichtNatuerlichePerson" type="NichtNatuerlichePersonTyp"
+ substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>NichtNatuerlichePerson entspricht CorporatzeBody,
+ ist Ableitung von Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### complex child elements of person, also available as standalone ### -->
+ <xs:element name="PersonenName" type="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>Container für diverse Namensbestandteile,
+ entspricht Name in der englischen Version</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+
+ <!-- ### adress data for various types of communications ### -->
+ <xs:element name="Address" type="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Abstraktes Address Element, nur auf Englisch
+ verfügbar, nicht direkt benützen sondern PostAdresse,
+ InternetAdresse, etc benutzen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PostAdresse" type="PostAdresseTyp"
+ substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Post oder ZMR Adresse, entspricht PostalAddress,
+ ist Ableitung von Address (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="TypisiertePostAdresse" type="TypisiertePostAdresseTyp"
+ substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Typisierte Post oder ZMRAdresse, entspricht
+ TypedPostalAddress, ist Ableitung von Address (abstract)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!--### elements of simple type #### -->
+ <xs:element name="Geburtsdatum" type="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>Geburtsdatum, entspricht DateOfBirth
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <!--### Complex types ### -->
+
+
+ <!-- UR Spezialisierung des PersonenDatenTyp -->
+ <xs:complexType name="PersonenDatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu
+ speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="NichtNatuerlichePerson" />
+
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0"
+ maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" minOccurs="0">
+ <!-- UR Erweiterung: kein mixed Content bei den Zusatzdaten -->
+ <xs:complexType mixed="false">
+ <xs:sequence minOccurs="0">
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:AendDat" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element ref="uri:Gesperrt" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element ref="uri:Dubletten" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element ref="uri:Bestandszeitraum" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Taetigkeitszeitraum" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Bestandsnachweis" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Vertretung" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Branche" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element name="PersonenDaten" type="PersonenDatenZusatzdatenTyp"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Vollzug" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <!-- UR Spezialisierung für natürliche und nichtnatürliche Personen in den
+ Zusatzdaten -->
+ <xs:complexType name="PersonenDatenZusatzdatenTyp">
+ <xs:annotation>
+ <xs:documentation>Container um eine Person und ihre Adressen zu
+ speichern</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <!-- UR-Spezialisierung -->
+ <xs:choice minOccurs="0">
+ <xs:element ref="NichtNatuerlichePerson" />
+ <xs:element ref="NatuerlichePerson" />
+ </xs:choice>
+ <!-- UR-Spezialisierung -->
+ <xs:element ref="TypisiertePostAdresse" minOccurs="0"
+ maxOccurs="unbounded" />
+
+ <xs:element name="Zusatzdaten" type="ZusatzdatenPersonenTyp" minOccurs="0"/>
+
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="ZusatzdatenPersonenTyp">
+
+ <xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:EvbStatus" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element ref="uri:Funktion" minOccurs="0"
+ maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtstatsachen" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+
+ </xs:complexType>
+
+
+ <xs:complexType name="IdentificationType">
+ <xs:annotation>
+ <xs:documentation>Container für beliebige Identifikationsmerkmale,
+ besteht aus Type und Value Unterelementen, aus technischen Gründen
+ nur auf Englisch verfügbar</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Value">
+ <xs:annotation>
+ <xs:documentation>actual value of the identifier.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Type" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>type of value (eg 'ZMR', 'SV-Nummer',
+ 'Martrikelnummer', database identification, ...)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:TypeText" minOccurs="0" maxOccurs="1" />
+ <xs:element ref="uri:Beginn" minOccurs="0" maxOccurs="1" />
+ <xs:element ref="uri:Ende" minOccurs="0" maxOccurs="1" />
+
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>main structure of person data</xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0">
+ <xs:element name="Identification" type="IdentificationType"
+ minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>unique identification entities</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:complexType>
+
+
+ <xs:complexType name="NatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PhysicalPersonType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PersonenName" minOccurs="0" />
+ <xs:element ref="Geburtsdatum" minOccurs="0" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:VollzugAttributes" />
+ </xs:extension>
+
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+
+ <xs:complexType name="NichtNatuerlichePersonTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht CorporateBodyType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="VollerName" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>name of corporate body (whole name)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <xs:element name="Rechtsform" type="xs:anyURI"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>type of company (eg AG, OHG, ...)
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:UntName" minOccurs="0" maxOccurs="unbounded" />
+ <xs:element ref="uri:Rechtsform" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:VollzugAttributes" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="PersonenNameTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht NameType</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Vorname" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="Familienname" minOccurs="1" maxOccurs="1">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="primaer" default="undefiniert">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="wahr" />
+ <xs:enumeration value="falsch" />
+ <xs:enumeration value="undefiniert" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="prefix" type="xs:string" />
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Affix" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="typ" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="akademischerGrad" />
+ <xs:enumeration value="Adelstitel" />
+ <xs:enumeration value="FamiliennamenAffix" />
+ <xs:enumeration value="Anrede" />
+ <xs:enumeration value="Generation" />
+ <xs:enumeration value="Qualifikation" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="position" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="prefix" />
+ <xs:enumeration value="suffix" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+
+
+ <xs:complexType name="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>Struktur des Abstrakten Address Elements
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:attribute name="Id" type="xs:ID" use="optional" />
+ </xs:complexType>
+
+
+
+ <xs:complexType name="TypisiertePostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht TypedPostalAddressType
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="PostAdresse" />
+ <!-- Erweiterung UR -->
+ <xs:element ref="uri:Typ" minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:attributeGroup ref="uri:VollzugAttributes" />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+ <xs:complexType name="PostAdresseTyp">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalAddressType</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence>
+ <xs:element name="Staatscode" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Staatencode, ISO Code oder internationaler Post
+ code, entspricht CountryCode</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{3}" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Postleitzahl" type="xs:token"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht PostalCode</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="Gemeinde" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>entspricht Municipality</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Gemeindekennziffer" minOccurs="0" />
+ <xs:element name="Ortschaft" type="xs:token" minOccurs="0" />
+ <xs:element name="Zustelladresse" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Zustelladresse oder ZMRAdresse, entspricht
+ DeliveryAddress</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Strassenname" type="xs:string"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Bei Ortschaften ohne Straßenname steht hier
+ Ortschaftsname, entspricht StreetName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Orientierungsnummer" type="xs:string"
+ minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Hausnummer oder Konskriptionsnummer, z.B.
+ 10, 124a, 78-80. Entpricht BuildingNumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Nutzungseinheitlaufnummer" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>zmr use only</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AdressRegisterEintrag" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Addressregister database keys used to identify Addresses</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Adresscode" type="string7"/>
+ <xs:element name="Subcode" type="string3" minOccurs="0"/>
+ <xs:element name="Objektnummer" type="string7" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+
+ <!-- ### auxiliary types ### -->
+ <xs:simpleType name="GeburtsdatumTyp">
+ <xs:annotation>
+ <xs:documentation>einfacher Datentyp für Daten (union): Tag und/oder
+ Monta können ausgelassen werden, entspricht DayOfBirthType
+ </xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear" />
+ </xs:simpleType>
+
+ <!-- ### strings of defined maximum lenght for use with ZMR address #### -->
+ <xs:simpleType name="string3">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="3"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string7">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="7"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+</xs:schema>
diff --git a/src/main/resources/wsdl/ur_V4/schema/urs-v4-basicTypes.xsd b/src/main/resources/wsdl/ur_V4/schema/urs-v4-basicTypes.xsd
new file mode 100644
index 0000000..c40c08d
--- /dev/null
+++ b/src/main/resources/wsdl/ur_V4/schema/urs-v4-basicTypes.xsd
@@ -0,0 +1,299 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<xsd:schema targetNamespace="http://statistik.at/namespace/ur/stammdaten/3#"
+ xmlns:std="http://statistik.at/namespace/ur/stammdaten/3#"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:st="http://statistik.at/namespace/ur/simpleTypes/2#"
+ elementFormDefault="qualified">
+
+ <xsd:import namespace="http://statistik.at/namespace/ur/simpleTypes/2#"
+ schemaLocation="urs-v4-simpleTypes.xsd" />
+
+
+
+
+
+
+ <!-- Responseelemente -->
+
+ <xsd:attribute name="vollzugBeginn" type="xsd:IDREF" />
+ <xsd:attribute name="vollzugEnde" type="xsd:IDREF" />
+
+ <xsd:attributeGroup name="VollzugAttributes">
+ <xsd:attribute ref="std:vollzugBeginn" use="optional" />
+ <xsd:attribute ref="std:vollzugEnde" use="optional"/>
+ </xsd:attributeGroup>
+
+ <xsd:element name="Beginn" type="std:QuellenType"/>
+ <xsd:element name="Ende" type="std:QuellenType"/>
+ <xsd:element name="Vollzug" type="std:Vollzug" />
+
+ <xsd:element name="TypeText" type="xsd:string" />
+ <xsd:element name="UntName" type="std:UntNameVollzug" />
+ <xsd:element name="Rechtsform" type="std:RechtsformVollzug" />
+ <xsd:element name="Bestandszeitraum" type="std:BestandszeitraumVollzug" />
+ <xsd:element name="Taetigkeitszeitraum" type="std:TaetigkeitszeitraumVollzug" />
+ <xsd:element name="Bestandsnachweis" type="std:BestandsnachweisVollzug" />
+ <xsd:element name="Vertretung" type="std:VertretungVollzug" />
+ <xsd:element name="Rechtstatsachen" type="std:RechtstatsachenVollzug" />
+ <xsd:element name="Funktion" type="std:FunktionVollzug" />
+ <xsd:element name="Branche" type="std:Branche" />
+ <xsd:element name="AendDat" type="xsd:dateTime" />
+ <xsd:element name="Gesperrt" type="xsd:boolean" />
+ <xsd:element name="Dubletten" type="std:Dubletten" />
+
+ <xsd:element name="bpkWTUR" type="xsd:string" />
+ <xsd:element name="Typ" type="st:AdressTyp" />
+ <xsd:element name="EvbStatus" type="st:EvbStatusTyp" />
+
+ <xsd:complexType name="UntName" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="VollerName" type="st:UntNameTyp"
+ minOccurs="1" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="UntNameVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:UntName">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Rechtsform" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="ReForm" type="st:RechtsformTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="ReFormText" type="st:RechtsformTextTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="ReFormExtern" type="st:RechtsformTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="ReFormExternText" type="st:RechtsformTextTyp"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="RechtsformVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtsform">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Bestandszeitraum" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="BestandVon" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="BestandBis" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="BestandszeitraumVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandszeitraum">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Taetigkeitszeitraum" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="TaetigVon" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="TaetigBis" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="TaetigkeitszeitraumVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Taetigkeitszeitraum">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Bestandsnachweis" abstract="true">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="BestandsnachweisVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Bestandsnachweis">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Vertretung" abstract="true">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:string">
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="VertretungVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Vertretung">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Rechtstatsachen" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="RT_Nummer" type="st:RT_NummerTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="RT_Code" type="st:RT_CodeTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="RT_Text" type="xsd:string"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="RechtstatsachenVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Rechtstatsachen">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Vollzug">
+ <xsd:sequence>
+ <xsd:element name="Antrag" type="std:VollzugElem" minOccurs="1" maxOccurs="1" />
+ <xsd:element name="Vollzug" type="std:VollzugElem" minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Zurueckstellung" type="std:VollzugElem" minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:ID" use="required" />
+ <xsd:attribute name="nummer" type="xsd:integer" use="required" />
+ <xsd:attribute name="status" type="st:VollzugStatusTyp" use="required" />
+ </xsd:complexType>
+
+ <xsd:complexType name="VollzugElem">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:date">
+ <xsd:attribute name="quelle" type="st:QuelleTyp" use="required" />
+ <xsd:attribute name="quText" use="required" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="QuellenType">
+ <xsd:simpleContent>
+ <xsd:extension base="xsd:date">
+ <xsd:attribute name="quelle" type="st:QuelleTyp" use="required"/>
+ <xsd:attribute name="quText" use="required"/>
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Funktion" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="FktName" type="st:FunktionTyp"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="FktNameText" type="st:FunktionTextTyp"
+ minOccurs="0" maxOccurs="1" />
+
+ <!--
+ <xsd:element name="FktRegel" type="std:FktRegelTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Rechtstatsachen" type="std:Rechtstatsachen"
+ minOccurs="0" maxOccurs="1" />
+ -->
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="FunktionVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:Funktion">
+ <xsd:sequence>
+ <xsd:element name="FktRegel" type="std:FktRegelTypVollzug"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="Rechtstatsachen" type="std:RechtstatsachenVollzug"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xsd:sequence>
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+
+ <xsd:complexType name="FktRegelTyp" abstract="true">
+ <xsd:sequence>
+ <xsd:element name="FktRegelVon" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="FktRegelBis" type="xsd:date"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="FktRegelText" type="st:FktRegelTextTyp"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="FktRegelTypVollzug">
+ <xsd:complexContent>
+ <xsd:extension base="std:FktRegelTyp">
+ <!-- Vollzug Attribute -->
+ <xsd:attributeGroup ref="std:VollzugAttributes" />
+ </xsd:extension>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+
+ <xsd:complexType name="Branche">
+ <xsd:sequence>
+ <xsd:element name="Oenace" type="std:OenaceType"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="OenaceText" type="xsd:string"
+ minOccurs="1" maxOccurs="1" />
+ <xsd:element name="Beginn" type="std:QuellenType"
+ minOccurs="1" maxOccurs="1"/>
+ <xsd:element name="Ende" type="std:QuellenType"
+ minOccurs="0" maxOccurs="1"/>
+ </xsd:sequence>
+ <xsd:attribute name="art" type="st:OenaceArtTyp" use="required" />
+ </xsd:complexType>
+
+
+ <xsd:complexType name="OenaceType">
+ <xsd:simpleContent>
+ <xsd:extension base="st:OenaceCodeTyp">
+ <xsd:attribute name="jahr" type="st:OenaceJahrTyp"
+ use="required" />
+ </xsd:extension>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="Dubletten">
+ <xsd:sequence>
+ <xsd:element name="art" type="st:ArtDublette" />
+ <xsd:element name="kurMaster" minOccurs="0" type="st:KurTyp" />
+ <xsd:element name="kurSlave" minOccurs="0" maxOccurs="unbounded" type="st:KurTyp"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+
+
+
+</xsd:schema>
diff --git a/src/main/resources/wsdl/ur_V4/schema/urs-v4-simpleTypes.xsd b/src/main/resources/wsdl/ur_V4/schema/urs-v4-simpleTypes.xsd
new file mode 100644
index 0000000..ecc7499
--- /dev/null
+++ b/src/main/resources/wsdl/ur_V4/schema/urs-v4-simpleTypes.xsd
@@ -0,0 +1,464 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<schema targetNamespace="http://statistik.at/namespace/ur/simpleTypes/2#"
+ version="1.0" xmlns:tns="http://statistik.at/namespace/ur/simpleTypes/2#"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified">
+
+ <!-- ******************************************************************************* -->
+ <!-- Allegemeine Typen -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="VersionTyp">
+ <annotation>
+ <documentation>
+ Versionsnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="QuelleTyp">
+ <annotation>
+ <documentation>
+ Identifikationsnummer eines Quellregisters
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="VollzugStatusTyp">
+ <annotation>
+ <documentation>
+ Status des Vollzugsobjektes
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="A" />
+ <enumeration value="V" />
+ <enumeration value="Z" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ErgebnisVollzugStatusTyp">
+ <annotation>
+ <documentation>
+ Im Ergebnis berücksichtigte Status des Vollzugsobjektes
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="V" />
+ <enumeration value="AZV" />
+ </restriction>
+ </simpleType>
+
+<!--
+ <simpleType name="AktionTyp">
+ <annotation>
+ <documentation>
+ Unterscheidung zwischen zu beendenden und neu anzulegenden Merkmalsgruppen
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="NEU" />
+ <enumeration value="ALT" />
+ </restriction>
+ </simpleType>
+ -->
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Unternehmensmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="KurTyp">
+ <annotation>
+ <documentation>
+ UR Kennziffer eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="R[0-9]{3}[A-Z][0-9]{3}[A-Z0-9]"/>
+ <length value="9"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FbnTyp">
+ <annotation>
+ <documentation>
+ Firmenbuchnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="[0-9]{6}[a-z]"/>
+ <length value="7"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ZvrTyp">
+ <annotation>
+ <documentation>
+ Vereinsregisternummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="[0-9]{9}"/>
+ <length value="9"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ErjTyp">
+ <annotation>
+ <documentation>
+ Ordnungsnummer aus dem ERsB
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="[0-9]{13}"/>
+ <length value="13"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="SekTyp">
+ <annotation>
+ <documentation>
+ Sekundär ID
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <pattern value="[0-9]{13}"/>
+ <length value="13"/>
+ </restriction>
+ </simpleType>
+
+ <simpleType name="UntNameTyp">
+ <annotation>
+ <documentation>
+ Bezeichnung eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="255" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="BpkTyp">
+ <annotation>
+ <documentation>
+ unverschlüsseltes bPK
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="28" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="BpkEncodedTyp">
+ <annotation>
+ <documentation>
+ verschlüsseltes bPK (base64 codiert)
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="172" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RechtsformTyp">
+ <annotation>
+ <documentation>
+ Rechtsformcode eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <minInclusive value="0" />
+ <maxInclusive value="9999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RechtsformTextTyp">
+ <annotation>
+ <documentation>
+ Langtext der Rechtsform eines Unternehmens
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="IdArtTyp">
+ <annotation>
+ <documentation>
+ Art eines externen Schlüssels
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <length value="3" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="IdTyp">
+ <annotation>
+ <documentation>
+ Wert eines externen Schlüssels
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="60" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceJahrTyp">
+ <annotation>
+ <documentation>
+ Jahr des ֖NACE-Systems
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <enumeration value="2008" />
+ <minInclusive value="1000" />
+ <maxInclusive value="9999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceCodeTyp">
+ <annotation>
+ <documentation>
+ ֖NACE - Branchenkennzahl
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OenaceArtTyp">
+ <annotation>
+ <documentation>
+ Art der ֖NACE (Haupt-/Nebentätigkeit)
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="H" />
+ <enumeration value="N" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RT_NummerTyp">
+ <annotation>
+ <documentation>
+ Rechtstatsachen-Nummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="3" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="RT_CodeTyp">
+ <annotation>
+ <documentation>
+ Rechtstatsachen-Code
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="4" />
+ </restriction>
+ </simpleType>
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Adressmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="StrasseTyp">
+ <annotation>
+ <documentation>
+ Strassenname
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="HNrTyp">
+ <annotation>
+ <documentation>
+ Hausnummer
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="PlzTyp">
+ <annotation>
+ <documentation>
+ Postleitzahl
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="10" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="OrtTyp">
+ <annotation>
+ <documentation>
+ Ortsname
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="50" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="GemnrTyp">
+ <annotation>
+ <documentation>
+ Gemeindekennziffer
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <minInclusive value="10000" />
+ <maxInclusive value="99999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="LandTyp">
+ <annotation>
+ <documentation>
+ Landescode gem. ISO 3166 ALPHA-3
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <length value="3" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="AdressTyp">
+ <annotation>
+ <documentation>
+ AdressTyp
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="SITZ"/>
+ <enumeration value="ZUSTELLADRESSE"/>
+ </restriction>
+ </simpleType>
+
+ <!-- ******************************************************************************* -->
+ <!-- Typen für Personenmerkmale -->
+ <!-- ******************************************************************************* -->
+
+ <simpleType name="NachnameTyp">
+ <annotation>
+ <documentation>
+ Nachname der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="VornameTyp">
+ <annotation>
+ <documentation>
+ Vorname der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="TitelTyp">
+ <annotation>
+ <documentation>
+ Titel der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="50" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FunktionTyp">
+ <annotation>
+ <documentation>
+ Funktionscode der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="integer">
+ <minInclusive value="0" />
+ <maxInclusive value="9999" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FunktionTextTyp">
+ <annotation>
+ <documentation>
+ Funktionsbezeichnung der vertretungsbefugten Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="100" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="FktRegelTextTyp">
+ <annotation>
+ <documentation>
+ Funktionsregeltext für vertretungsbefugte Person
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="2000" />
+ </restriction>
+ </simpleType>
+
+
+ <simpleType name="VertretungsbefugnisTyp">
+ <annotation>
+ <documentation>
+ Art der Vertretungsbefugnis
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <maxLength value="40" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="EvbStatusTyp">
+ <annotation>
+ <documentation>
+ Einzelvertretungsbefugnis
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="J" />
+ <enumeration value="N" />
+ <enumeration value="U" />
+ </restriction>
+ </simpleType>
+
+ <simpleType name="ArtDublette">
+ <annotation>
+ <documentation>
+ ArtDublette
+ </documentation>
+ </annotation>
+ <restriction base="string">
+ <enumeration value="M"/>
+ <enumeration value="S"/>
+ </restriction>
+ </simpleType>
+
+</schema> \ No newline at end of file
diff --git a/src/main/resources/wsdl/ur_V4/schema/urs-v4-suche.xsd b/src/main/resources/wsdl/ur_V4/schema/urs-v4-suche.xsd
new file mode 100644
index 0000000..216b53e
--- /dev/null
+++ b/src/main/resources/wsdl/ur_V4/schema/urs-v4-suche.xsd
@@ -0,0 +1,217 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<xsd:schema targetNamespace="http://statistik.at/namespace/ur/stammdaten/3#"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:st="http://statistik.at/namespace/ur/simpleTypes/2#"
+ xmlns:std="http://statistik.at/namespace/ur/stammdaten/3#"
+ elementFormDefault="qualified">
+
+ <xsd:import namespace="http://statistik.at/namespace/ur/simpleTypes/2#"
+ schemaLocation="urs-v4-simpleTypes.xsd" />
+
+ <xsd:include schemaLocation="urs-v4-basicTypes.xsd" />
+
+
+ <!-- Requestobjekte -->
+
+ <xsd:element name="SucheUnternehmenRequest" type="std:SucheUnternehmenRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Suche nach Unternehmen durch Angabe von
+ Suchkriterien
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+
+ <xsd:complexType name="SucheUnternehmenRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="unternehmensdaten" type="std:SucheUnternehmensdaten"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="branche" type="std:SucheBranche"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="personendaten" type="std:SuchePersonendaten"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="SucheUnternehmensdaten">
+ <xsd:sequence>
+ <xsd:element name="phonetisch" type="xsd:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="untName" type="st:UntNameTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="rechtsform" type="st:RechtsformTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="id" type="st:IdTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="idArt" type="st:IdArtTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="strasse" type="st:StrasseTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="hNr" type="st:HNrTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="ort" type="st:OrtTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="gemnr" type="st:GemnrTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="plz" type="st:PlzTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="land" type="st:LandTyp" minOccurs="0"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="SucheBranche">
+ <xsd:sequence>
+ <xsd:element name="oenaceJahr" type="st:OenaceJahrTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="oenaceCode" type="st:OenaceCodeTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="oenaceArt" type="st:OenaceArtTyp"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="SuchePersonendaten">
+ <xsd:sequence>
+ <xsd:element name="phonetisch" type="xsd:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="nachname" type="st:NachnameTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="vorname" type="st:VornameTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="gebDatum" type="xsd:date" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="strasse" type="st:StrasseTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="hNr" type="st:HNrTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="ort" type="st:OrtTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="gemnr" type="st:GemnrTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="plz" type="st:PlzTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="land" type="st:LandTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="stammzahl" type="st:IdTyp" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="stammregister" type="st:IdArtTyp" minOccurs="0"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:element name="SucheUnternehmenNachIdsRequest" type="std:SucheUnternehmenNachIdsRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Stammdatenabfrage für Unternehmen durch Angabe
+ einer oder mehrerer UR Kennziffern
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:complexType name="SucheUnternehmenNachIdsRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="kur" type="st:KurTyp"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="fbn" type="st:FbnTyp"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="zvr" type="st:ZvrTyp"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="erj" type="st:ErjTyp"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="sek" type="st:SekTyp"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xsd:element name="mitHistorie" type="xsd:boolean" default="false"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="vollzugStatus" type="st:ErgebnisVollzugStatusTyp"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:element name="SucheUnternehmenNachIdRequest" type="std:SucheUnternehmenNachIdRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Stammdatenabfrage für einzelnes Unternehmen -
+ optional mit Stichtag und / oder Historie
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:complexType name="SucheUnternehmenNachIdRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:choice>
+ <xsd:element name="kur" type="st:KurTyp" />
+ <xsd:element name="fbn" type="st:FbnTyp" />
+ <xsd:element name="zvr" type="st:ZvrTyp" />
+ <xsd:element name="erj" type="st:ErjTyp" />
+ <xsd:element name="sek" type="st:SekTyp" />
+ </xsd:choice>
+ <xsd:element name="URV_pdf" type="xsd:boolean" minOccurs="0"
+ maxOccurs="1" default="false" />
+ <xsd:element name="stichtag" type="xsd:date" minOccurs="0"
+ maxOccurs="1" />
+ <xsd:element name="mitHistorie" type="xsd:boolean" default="false"
+ maxOccurs="1" />
+ <xsd:element name="vollzugStatus" type="st:ErgebnisVollzugStatusTyp"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:element name="SucheUnternehmenNachBpkRequest" type="std:SucheUnternehmenNachBpkRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Suche nach Vertretungsbefugnissen von Personen in
+ Unternehmen mithilfe
+ des unverschlüsselten WT-UR bPK
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:complexType name="SucheUnternehmenNachBpkRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:choice>
+ <xsd:element name="bpkWTUR" type="st:BpkTyp" minOccurs="1"
+ maxOccurs="1" />
+ <xsd:element name="bpkWTUREncoded" type="st:BpkEncodedTyp"
+ minOccurs="1" maxOccurs="1" />
+ </xsd:choice>
+ <xsd:element name="nurAktive" type="xsd:boolean"
+ minOccurs="0" maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:element name="SucheUnternehmenNachAendDatRequest"
+ type="std:SucheUnternehmenNachAendDatRequest">
+ <xsd:annotation>
+ <xsd:documentation>
+ Suche nach geänderten Unternehmen
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <xsd:complexType name="SucheUnternehmenNachAendDatRequest">
+ <xsd:sequence>
+ <xsd:element name="version" type="st:VersionTyp"
+ minOccurs="0" maxOccurs="1" />
+ <xsd:element name="aendDat" type="xsd:date" minOccurs="1"
+ maxOccurs="1" />
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+ <xsd:element name="ErsbAttribute" type="xsd:boolean" default="false"/>
+
+ <xsd:element name="URV_pdf" type="xsd:base64Binary" />
+
+</xsd:schema>
+ \ No newline at end of file
diff --git a/src/main/resources/wsdl/ur_V4/schema/urs-v4-xml-sw.xsd b/src/main/resources/wsdl/ur_V4/schema/urs-v4-xml-sw.xsd
new file mode 100644
index 0000000..77ea394
--- /dev/null
+++ b/src/main/resources/wsdl/ur_V4/schema/urs-v4-xml-sw.xsd
@@ -0,0 +1,321 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- Header der Originaldatei:
+
+****************************************************
+
+File xml-sw.xsd
+
+Version 1.0 / 23.03.2004
+
+Author Franz-Josef Herpers / fjh consulting
+
+Copyright (c) 2004, 2005 Bundeskanzleramt ֖sterreich
+
+****************************************************
+
+-->
+<xs:schema targetNamespace="http://reference.e-government.gv.at/namespace/xml-sw/1#"
+ xmlns="http://reference.e-government.gv.at/namespace/xml-sw/1#"
+ xmlns:urs="http://statistik.at/namespace/ur/stammdaten/3#"
+ xmlns:pd="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0.0">
+
+ <xs:include schemaLocation="specific/urs-v4-CustomFault.xsd"/>
+
+ <xs:import
+ namespace="http://statistik.at/namespace/ur/stammdaten/3#"
+ schemaLocation="urs-v4-suche.xsd" />
+ <xs:import
+ namespace="http://reference.e-government.gv.at/namespace/persondata/de/20040201#"
+ schemaLocation="urs-v4-PersonData.xsd" />
+
+
+ <!-- Element Declarations (complex) -->
+ <xs:element name="SearchByExample" type="SearchByExampleType">
+ <xs:annotation>
+ <xs:documentation>Wurzelelement für Suchabfragen vom Typ "Search by Example"</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SearchById" type="SearchByIdType">
+ <xs:annotation>
+ <xs:documentation>Wurzelelement für Suchabfragen vom Typ "Search by Id" </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SearchRequestId" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Eindeutige ID zur Identifikation des Request bei asynchroner Kommunikation</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SearchRequestInfo" type="SearchRequestInfoType">
+ <xs:annotation>
+ <xs:documentation>Container für alle Metainformationen einer Suchanfrage</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SortKeys" type="SortKeysType">
+ <xs:annotation>
+ <xs:documentation>Ermöglicht die Angabe von Schlüsseln, nach denen die Ergebnismenge sortiert sein soll.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SearchResponse" type="SearchResponseType">
+ <xs:annotation>
+ <xs:documentation>Wurzelelement für das Ergebnis einer Suchanfrage</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ResultInfo" type="ResultInfoType">
+ <xs:annotation>
+ <xs:documentation>Metainfos zur Ergebnismenge</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="RecordId" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>ID eines Datensatzes. Sie muss übereinstimmen mit der ID eines Datensatzes (Wert des id-Attributs eines ResultRecord-Elements), den der Server in einem vorhergehenden Request zurückgeliefert hat.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ResultRecords">
+ <xs:annotation>
+ <xs:documentation>Container-Element für die zurückgegebene Ergebnissätze </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="ResultRecord" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SearchCriteria" type="SearchCriteriaType">
+ <xs:annotation>
+ <xs:documentation>Container-Element für die Suchkriterien. Diese sind applikationsspezifisch. Zulässig sind daher beliebige Elemente aus anderen Namensräumen. Optional kann eine ResultSetId übermittelt werden, falls der Server das Vorhalten von vorherigen Abfrageergebnissen unterstützt und in der initialen Response eine ResultSetId mitgesendet hat.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ResultCriteria" type="ResultCriteriaType">
+ <xs:annotation>
+ <xs:documentation>Fasst verschiedene Kriterien zur Behandlung und Auslieferung der gefundenen Ergebnissätze zusammen. Eigene können hinzugefügt werden.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SortKey" type="SortKeyType">
+ <xs:annotation>
+ <xs:documentation>Repräsentiert einen Sortierschlüssel. Die Reihenfolge der einzelnen Schlüssel bestimmt die Sortiergewichtung.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ExtraResultCriteria">
+ <xs:annotation>
+ <xs:documentation>Dient als Erweiterungspunkt. Container für weitere selbst definierte Ergebniskriterien. Server, die hier aufgeführte Kriterien nicht unterstützen, können diese schweigend ignorieren.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType mixed="false">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" ref="urs:ErsbAttribute" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ExtraResultInfo">
+ <xs:annotation>
+ <xs:documentation>Dient als Erqeiterungspunkt. Container für weitere selbst definierte Ergebnisinformationen.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType mixed="false">
+ <xs:sequence>
+ <!--
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ -->
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ResultRecord">
+ <xs:annotation>
+ <xs:documentation> Container-Element für einen Ergebnissatz</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <!-- Erweiterung UR -->
+ <xs:element ref="pd:PersonenDaten" />
+ <xs:element ref="urs:URV_pdf" minOccurs="0" maxOccurs="1"/>
+
+
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:nonNegativeInteger" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PaymentInfo" type="PaymentInfoType">
+ <xs:annotation>
+ <xs:documentation>Container-Element für Zahlungs- und Verrechnungsinformationen bei kostenpflichtigen Suchanfragen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="RecordFieldList">
+ <xs:annotation>
+ <xs:documentation>Hier kann auf implementierungsspezifische Weise angegeben werden, welche Elemente in der Antwort enthalten sein sollen.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <!--
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ -->
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!-- Element Declarations (simple) -->
+ <xs:element name="Detail" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Dient der Angabe zusätzlicher Detailinformationen</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TimeOut" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Zeit, die der Server die Ergebnismenge vorhalten soll</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="MaxRecords" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Maximale Anzahl gewünschter Ergebnissätze </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="StartRecord" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Position des ersten gewünschten Ergebnissatzes in der Ergebnismenge. In Kombination mit MaxRecords erlaubt dies dem Client, das Ergebnis "portionsweise" abzurufen.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Path" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Ein XPath-Ausdruck, der angibt, nach welchem Element der Ergebnissätze die Ergebnismenge sortiert sein soll. </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Ascending" type="xs:boolean">
+ <xs:annotation>
+ <xs:documentation>Gibt die Sortierrichtung an. false bedeutet absteigend, true aufsteigend.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CaseSensitive" type="xs:boolean">
+ <xs:annotation>
+ <xs:documentation>Gibt an, ob Groß- und Kleinschreibung mit berücksichtigt werden soll bei der Sortierung.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ResultSetId" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Eindeutige ID, die eine gecachte Ergebnismenge auf dem Server referenziert. Server, die ein solches Szenario unterstützen, können diese ID im Ergebnis ausliefern.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="FoundRecords" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Anzahl der gefundenen Ergebnissätze</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ReturnedRecords" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation> Anzahl der tatsächlich an den Client zurückgelieferten Ergebnissätze</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Costs" type="xs:float">
+ <xs:annotation>
+ <xs:documentation>Die Kosten der Anfrage in Euro</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InvoiceId" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Eine optionale Verrechnungs-ID wie z.B. die Geschäftszahl</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="AccountedUnits" type="xs:nonNegativeInteger">
+ <xs:annotation>
+ <xs:documentation>Anzahl zu verrechnender Einheiten. Diese muss nicht gleich der Anzahl der ausgelieferten Datensätze sein.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TimeStamp" type="xs:dateTime">
+ <xs:annotation>
+ <xs:documentation>Der Timestamp des Servers</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="FaultHint" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Wrapper-Element zur Aufnahme von Detail-Text der Message Codes im SOAP-detail-Element</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- Complex Types -->
+ <xs:complexType name="SearchByExampleType">
+ <xs:sequence>
+ <xs:element ref="SearchRequestId"/>
+ <xs:element ref="SearchRequestInfo" minOccurs="0"/>
+ <xs:element ref="ResultCriteria" minOccurs="0"/>
+ <xs:element ref="SearchCriteria"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SearchByIdType">
+ <xs:sequence>
+ <xs:element ref="SearchRequestId"/>
+ <xs:element ref="SearchRequestInfo" minOccurs="0"/>
+ <xs:element ref="RecordId"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ResultInfoType">
+ <xs:sequence>
+ <xs:element ref="ResultSetId" minOccurs="0"/>
+ <xs:element ref="FoundRecords" minOccurs="0"/>
+ <xs:element ref="ReturnedRecords"/>
+ <xs:element ref="PaymentInfo" minOccurs="0"/>
+ <xs:element ref="ExtraResultInfo" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SearchResponseType">
+ <xs:sequence>
+ <xs:element ref="SearchRequestId"/>
+ <xs:element ref="Message" minOccurs="0"/>
+ <xs:element ref="ResultInfo"/>
+ <xs:element ref="ResultRecords" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SearchRequestInfoType">
+ <xs:sequence>
+ <!--
+ <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ -->
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SortKeyType">
+ <xs:sequence>
+ <xs:element ref="Path"/>
+ <xs:element ref="Ascending" minOccurs="0"/>
+ <xs:element ref="CaseSensitive" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ResultCriteriaType">
+ <xs:sequence>
+ <xs:element ref="MaxRecords" minOccurs="0"/>
+ <xs:element ref="StartRecord" minOccurs="0"/>
+ <xs:element ref="SortKeys" minOccurs="0"/>
+ <xs:element ref="TimeOut" minOccurs="0"/>
+ <xs:element ref="RecordFieldList" minOccurs="0"/>
+ <xs:element ref="ExtraResultCriteria" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SearchCriteriaType">
+ <xs:sequence>
+ <xs:element ref="ResultSetId" minOccurs="0"/>
+ <!-- Erweiterung UR -->
+ <xs:choice>
+ <xs:element ref="urs:SucheUnternehmenNachAendDatRequest" />
+ <xs:element ref="urs:SucheUnternehmenNachBpkRequest" />
+ <xs:element ref="urs:SucheUnternehmenNachIdRequest" />
+ <xs:element ref="urs:SucheUnternehmenNachIdsRequest" />
+ <xs:element ref="urs:SucheUnternehmenRequest" />
+ </xs:choice>
+
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SortKeysType">
+ <xs:sequence>
+ <xs:element ref="SortKey" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PaymentInfoType">
+ <xs:sequence>
+ <xs:element ref="InvoiceId" minOccurs="0"/>
+ <xs:element ref="Costs"/>
+ <xs:element ref="AccountedUnits" minOccurs="0"/>
+ <xs:element ref="TimeStamp"/>
+ <!--
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>Hier können Elemente für zusätzliche Verrechnungsinformationen hinzugefügt werden.</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ -->
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
diff --git a/src/main/resources/wsdl/zkopf/W3C-XMLDSig.xsd b/src/main/resources/wsdl/zkopf/W3C-XMLDSig.xsd
new file mode 100644
index 0000000..522cae0
--- /dev/null
+++ b/src/main/resources/wsdl/zkopf/W3C-XMLDSig.xsd
@@ -0,0 +1,265 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- PUBLIC "-//W3C//DTD XMLSchema 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd"
+ -->
+<!-- Schema for XML Signatures
+ http://www.w3.org/2000/09/xmldsig#
+ $Revision: 1.1 $ on $Date: 2002/11/11 16:24:27 $ by $Author: Linauer $
+
+ Copyright 2001 The Internet Society and W3C (Massachusetts Institute
+ of Technology, Institut National de Recherche en Informatique et en
+ Automatique, Keio University). All Rights Reserved.
+ http://www.w3.org/Consortium/Legal/
+
+ This document is governed by the W3C Software License [1] as described
+ in the FAQ [2].
+
+ [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
+ [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
+-->
+<schema targetNamespace="http://www.w3.org/2000/09/xmldsig#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="0.1">
+ <!-- Basic Types Defined for Signatures -->
+ <!-- modified to ensure that whiteSpace is preserved
+<simpleType name="CryptoBinary">
+ <restriction base="base64Binary">
+ </restriction>
+</simpleType>
+ -->
+ <simpleType name="CryptoBinary">
+ <restriction base="string">
+ <whiteSpace value="preserve"/>
+ <pattern value="[A-Za-z0-9\+/=\n\r\t ]*"/>
+ </restriction>
+ </simpleType>
+ <!-- Start Signature -->
+ <element name="Signature" type="ds:SignatureType"/>
+ <complexType name="SignatureType">
+ <sequence>
+ <element ref="ds:SignedInfo"/>
+ <element ref="ds:SignatureValue"/>
+ <element ref="ds:KeyInfo" minOccurs="0"/>
+ <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="SignatureValue" type="ds:SignatureValueType"/>
+ <complexType name="SignatureValueType">
+ <simpleContent>
+ <extension base="ds:CryptoBinary">
+ <attribute name="Id" type="ID" use="optional"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <!-- Start SignedInfo -->
+ <element name="SignedInfo" type="ds:SignedInfoType"/>
+ <complexType name="SignedInfoType">
+ <sequence>
+ <element ref="ds:CanonicalizationMethod"/>
+ <element ref="ds:SignatureMethod"/>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>
+ <complexType name="CanonicalizationMethodType" mixed="true">
+ <sequence>
+ <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
+ <!-- (0,unbounded) elements from (1,1) namespace -->
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <element name="SignatureMethod" type="ds:SignatureMethodType"/>
+ <complexType name="SignatureMethodType" mixed="true">
+ <sequence>
+ <element name="HMACOutputLength" type="ds:HMACOutputLengthType" minOccurs="0"/>
+ <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+ <!-- (0,unbounded) elements from (1,1) external namespace -->
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <!-- Start Reference -->
+ <element name="Reference" type="ds:ReferenceType"/>
+ <complexType name="ReferenceType">
+ <sequence>
+ <element ref="ds:Transforms" minOccurs="0"/>
+ <element ref="ds:DigestMethod"/>
+ <element ref="ds:DigestValue"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ <attribute name="URI" type="anyURI" use="optional"/>
+ <attribute name="Type" type="anyURI" use="optional"/>
+ </complexType>
+ <element name="Transforms" type="ds:TransformsType"/>
+ <complexType name="TransformsType">
+ <sequence>
+ <element ref="ds:Transform" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <element name="Transform" type="ds:TransformType"/>
+ <complexType name="TransformType" mixed="true">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##other" processContents="lax"/>
+ <element name="XPath" type="string"/>
+ <!-- (1,1) elements from (0,unbounded) namespaces -->
+ </choice>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <!-- End Reference -->
+ <element name="DigestMethod" type="ds:DigestMethodType"/>
+ <complexType name="DigestMethodType" mixed="true">
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <element name="DigestValue" type="ds:DigestValueType"/>
+ <simpleType name="DigestValueType">
+ <restriction base="ds:CryptoBinary"/>
+ </simpleType>
+ <!-- End SignedInfo -->
+ <!-- Start KeyInfo -->
+ <element name="KeyInfo" type="ds:KeyInfoType"/>
+ <complexType name="KeyInfoType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <element ref="ds:KeyName"/>
+ <element ref="ds:KeyValue"/>
+ <element ref="ds:RetrievalMethod"/>
+ <element ref="ds:X509Data"/>
+ <element ref="ds:PGPData"/>
+ <element ref="ds:SPKIData"/>
+ <element ref="ds:MgmtData"/>
+ <any namespace="##other" processContents="lax"/>
+ <!-- (1,1) elements from (0,unbounded) namespaces -->
+ </choice>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="KeyName" type="string"/>
+ <element name="MgmtData" type="string"/>
+ <element name="KeyValue" type="ds:KeyValueType"/>
+ <complexType name="KeyValueType" mixed="true">
+ <choice>
+ <element ref="ds:DSAKeyValue"/>
+ <element ref="ds:RSAKeyValue"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ </complexType>
+ <element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
+ <complexType name="RetrievalMethodType">
+ <sequence>
+ <element name="Transforms" type="ds:TransformsType" minOccurs="0"/>
+ </sequence>
+ <attribute name="URI" type="anyURI"/>
+ <attribute name="Type" type="anyURI" use="optional"/>
+ </complexType>
+ <!-- Start X509Data -->
+ <element name="X509Data" type="ds:X509DataType"/>
+ <complexType name="X509DataType">
+ <sequence maxOccurs="unbounded">
+ <choice>
+ <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
+ <element name="X509SKI" type="ds:CryptoBinary"/>
+ <element name="X509SubjectName" type="string"/>
+ <element name="X509Certificate" type="ds:CryptoBinary"/>
+ <element name="X509CRL" type="ds:CryptoBinary"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ </sequence>
+ </complexType>
+ <complexType name="X509IssuerSerialType">
+ <sequence>
+ <element name="X509IssuerName" type="string"/>
+ <element name="X509SerialNumber" type="integer"/>
+ </sequence>
+ </complexType>
+ <!-- End X509Data -->
+ <!-- Begin PGPData -->
+ <element name="PGPData" type="ds:PGPDataType"/>
+ <complexType name="PGPDataType">
+ <choice>
+ <sequence>
+ <element name="PGPKeyID" type="ds:CryptoBinary"/>
+ <element name="PGPKeyPacket" type="ds:CryptoBinary" minOccurs="0"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <sequence>
+ <element name="PGPKeyPacket" type="ds:CryptoBinary"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </choice>
+ </complexType>
+ <!-- End PGPData -->
+ <!-- Begin SPKIData -->
+ <element name="SPKIData" type="ds:SPKIDataType"/>
+ <complexType name="SPKIDataType">
+ <sequence maxOccurs="unbounded">
+ <element name="SPKISexp" type="ds:CryptoBinary"/>
+ <any namespace="##other" processContents="lax" minOccurs="0"/>
+ </sequence>
+ </complexType>
+ <!-- End SPKIData -->
+ <!-- End KeyInfo -->
+ <!-- Start Object (Manifest, SignatureProperty) -->
+ <element name="Object" type="ds:ObjectType"/>
+ <complexType name="ObjectType" mixed="true">
+ <sequence minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##any" processContents="lax"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ <attribute name="MimeType" type="string" use="optional"/>
+ <attribute name="Encoding" type="anyURI" use="optional"/>
+ <!-- add a grep facet -->
+ </complexType>
+ <element name="Manifest" type="ds:ManifestType"/>
+ <complexType name="ManifestType">
+ <sequence>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="SignatureProperties" type="ds:SignaturePropertiesType"/>
+ <complexType name="SignaturePropertiesType">
+ <sequence>
+ <element ref="ds:SignatureProperty" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="SignatureProperty" type="ds:SignaturePropertyType"/>
+ <complexType name="SignaturePropertyType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <any namespace="##other" processContents="lax"/>
+ <!-- (1,1) elements from (1,unbounded) namespaces -->
+ </choice>
+ <attribute name="Target" type="anyURI" use="required"/>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <!-- End Object (Manifest, SignatureProperty) -->
+ <!-- Start Algorithm Parameters -->
+ <simpleType name="HMACOutputLengthType">
+ <restriction base="integer"/>
+ </simpleType>
+ <!-- Start KeyValue Element-types -->
+ <element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
+ <complexType name="DSAKeyValueType">
+ <sequence>
+ <sequence minOccurs="0">
+ <element name="P" type="ds:CryptoBinary"/>
+ <element name="Q" type="ds:CryptoBinary"/>
+ </sequence>
+ <element name="J" type="ds:CryptoBinary" minOccurs="0"/>
+ <element name="G" type="ds:CryptoBinary" minOccurs="0"/>
+ <element name="Y" type="ds:CryptoBinary"/>
+ <sequence minOccurs="0">
+ <element name="Seed" type="ds:CryptoBinary"/>
+ <element name="PgenCounter" type="ds:CryptoBinary"/>
+ </sequence>
+ </sequence>
+ </complexType>
+ <element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
+ <complexType name="RSAKeyValueType">
+ <sequence>
+ <element name="Modulus" type="ds:CryptoBinary"/>
+ <element name="Exponent" type="ds:CryptoBinary"/>
+ </sequence>
+ </complexType>
+ <!-- End KeyValue Element-types -->
+ <!-- End Signature -->
+</schema>
diff --git a/src/main/resources/wsdl/zkopf/zkopf.wsdl b/src/main/resources/wsdl/zkopf/zkopf.wsdl
new file mode 100644
index 0000000..21750ab
--- /dev/null
+++ b/src/main/resources/wsdl/zkopf/zkopf.wsdl
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://reference.e-government.gv.at/namespaces/zustellung/kopf/wsdl"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:zkopf="http://reference.e-government.gv.at/namespaces/zustellung/kopf"
+ name="zkopf"
+ targetNamespace="http://reference.e-government.gv.at/namespaces/zustellung/kopf/wsdl">
+
+ <import location="zkopf.xsd" namespace="http://reference.e-government.gv.at/namespaces/zustellung/kopf"/>
+
+ <message name="BulkQuery">
+ <part name="BulkQuery" element="zkopf:BulkQuery"/>
+ </message>
+ <message name="BulkAnswer">
+ <part name="BulkAnswer" element="zkopf:BulkAnswer"/>
+ </message>
+ <portType name="BulkPortType">
+ <operation name="BulkOperation">
+ <input message="tns:BulkQuery"/>
+ <output message="tns:BulkAnswer"/>
+ </operation>
+ </portType>
+ <binding name="BulkBinding" type="tns:BulkPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="BulkOperation">
+ <soap:operation soapAction="tns:BulkPortType#BulkOperation" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="BulkService">
+ <port name="BulkPort" binding="tns:BulkBinding">
+ <soap:address location="http://localhost:8080/zkopf/BulkQuery"/>
+ </port>
+ </service>
+</definitions>
diff --git a/src/main/resources/wsdl/zkopf/zkopf.xsd b/src/main/resources/wsdl/zkopf/zkopf.xsd
new file mode 100644
index 0000000..635001e
--- /dev/null
+++ b/src/main/resources/wsdl/zkopf/zkopf.xsd
@@ -0,0 +1,221 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSpy v2006 sp2 U (http://www.altova.com) by Arne Tauber (Technische Universität Graz) -->
+<xs:schema xmlns:p="http://reference.e-government.gv.at/namespace/persondata/en/20040201#" xmlns="http://reference.e-government.gv.at/namespaces/zustellung/kopf" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://reference.e-government.gv.at/namespaces/zustellung/kopf" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1">
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/en/20040201#" schemaLocation="zkopf_mypersondata_en.xsd"/>
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="W3C-XMLDSig.xsd"/>
+ <!-- Nachrichtenstruktur der BulkAnfrage und der Standard- bzw. Bulk Antwort des Zustellkopfes -->
+ <!-- Antwort des Zustellkopfes auf eine Standard Anfrage -->
+ <xs:element name="StdAnswer" type="StdAnswerType">
+ <xs:annotation>
+ <xs:documentation>attribute: ID</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="StdAnswerType">
+ <xs:choice>
+ <xs:element name="Success">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="gvZbPK" type="xs:token" minOccurs="0"/>
+ <xs:element name="Server" type="zuseType" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Error" type="xs:positiveInteger"/>
+ </xs:choice>
+ <xs:attribute name="ID" type="xs:token"/>
+ </xs:complexType>
+ <!-- BulkAnfrage -->
+ <xs:element name="BulkQuery" type="BulkQueryType"/>
+ <xs:complexType name="BulkQueryType">
+ <xs:choice>
+ <xs:sequence maxOccurs="unbounded">
+ <xs:element name="Query" type="QueryType">
+ <xs:annotation>
+ <xs:documentation>attribute: ID</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:choice>
+ <xs:attribute name="type">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="mass"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="ProfileID"/>
+ <xs:attribute name="private" type="xs:boolean"/>
+ </xs:complexType>
+ <xs:element name="Query" type="QueryType">
+ <xs:annotation>
+ <xs:documentation>attribute: ID</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="QueryType">
+ <xs:choice>
+ <xs:choice minOccurs="0">
+ <xs:element name="gvZbPK" type="xs:token"/>
+ <xs:element name="Identification" type="p:IdentificationType"/>
+ </xs:choice>
+ <xs:sequence>
+ <xs:choice>
+ <xs:element ref="p:CorporateBody"/>
+ <xs:element ref="p:PhysicalPerson"/>
+ </xs:choice>
+ <xs:choice minOccurs="0">
+ <xs:element ref="p:PostalAddress"/>
+ <xs:element name="VerAddress" type="messagingaddressType"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:choice>
+ <xs:attribute name="ID" type="xs:token"/>
+ <xs:attribute name="ProfileID"/>
+ </xs:complexType>
+ <!-- Antwort des Zustellkopfes auf ein Bulk-Anfrage-->
+ <xs:element name="BulkAnswer" type="BulkAnswerType"/>
+ <xs:complexType name="BulkAnswerType">
+ <xs:sequence>
+ <xs:sequence>
+ <xs:element name="ZUSEUrl" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>attribute: ID</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ <xs:sequence>
+ <xs:element name="MIMEType" type="xs:string" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>attribute: ID</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ <xs:sequence>
+ <xs:element name="Answer" type="AnswerType" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>Attribute: ID</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AnswerType">
+ <xs:choice>
+ <xs:element name="Success">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="gvZbPK" type="xs:token" minOccurs="0"/>
+ <xs:element name="ZUSE" type="zuseType" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Error">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:positiveInteger"/>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="ID" type="xs:token"/>
+ </xs:complexType>
+ <!-- Hilfstypen -->
+ <xs:complexType name="messagingaddressType">
+ <xs:sequence>
+ <xs:element ref="p:TelephoneAddress" minOccurs="0"/>
+ <xs:element ref="p:InternetAddress" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="zuseType">
+ <xs:sequence>
+ <xs:element name="edID" type="xs:token" minOccurs="0"/>
+ <xs:element name="ZUSEUrlID" type="xs:string"/>
+ <xs:element name="MIMETypes" type="xs:string"/>
+ <xs:element name="X509" type="xs:base64Binary" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <!-- Antwort auf Pushrequest-->
+ <xs:element name="PushResponse" type="PushResponseType"/>
+ <xs:complexType name="PushResponseType">
+ <xs:choice>
+ <xs:element name="Success">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:restriction base="xs:anyType"/>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Error">
+ <xs:complexType>
+ <xs:choice>
+ <xs:sequence>
+ <xs:annotation>
+ <xs:documentation>Allgmeiner Fehler</xs:documentation>
+ </xs:annotation>
+ <xs:element name="Code" type="xs:positiveInteger"/>
+ <xs:element name="Info" type="xs:string"/>
+ </xs:sequence>
+ <xs:element name="FailedDN" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>Liste der fehlgeschlagenen DNs beim Updaten des Verzeichnisses</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="DN" type="xs:string"/>
+ <xs:element name="Info" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+ <xs:element name="DeliveryAgents" type="DeliveryAgentsType">
+ <xs:annotation>
+ <xs:documentation>The list of approved delivery agents</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="DeliveryAgentsType">
+ <xs:annotation>
+ <xs:documentation>The list of approved delivery agents</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="DeliveryAgent" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="WebInterfaceURL">
+ <xs:simpleType>
+ <xs:restriction base="xs:anyURI">
+ <xs:minLength value="1"/>
+ <xs:whiteSpace value="collapse"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="WebServiceURL">
+ <xs:simpleType>
+ <xs:restriction base="xs:anyURI">
+ <xs:minLength value="1"/>
+ <xs:whiteSpace value="collapse"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="Directory">
+ <xs:complexType>
+ <xs:sequence maxOccurs="unbounded">
+ <xs:element name="Entry">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Identification" type="p:IdentificationType"/>
+ <xs:element ref="p:CorporateBody"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
diff --git a/src/main/resources/wsdl/zkopf/zkopf_mypersondata_en.xsd b/src/main/resources/wsdl/zkopf/zkopf_mypersondata_en.xsd
new file mode 100644
index 0000000..c70325a
--- /dev/null
+++ b/src/main/resources/wsdl/zkopf/zkopf_mypersondata_en.xsd
@@ -0,0 +1,379 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSPY v2004 rel. 2 U (http://www.xmlspy.com) by Larissa Naber (Bundeskanzleramt) -->
+<!-- edited with XML Spy v4.1 U (http://www.xmlspy.com) by Peter Reichstädter (CIO) -->
+<!--Generisches Schema zum Speichern und Austauschen von Personendaten
+ (c) 2001-2002 Chief Information Office Austria, Stabsstelle IKT-Strategie des Bundes, BMÖLS
+ Kontakt: Peter Reichstädter (peter.reichstaedter@cio.gv.at), Arno Hollosi (arno.hollosi@cio.gv.at)
+ Die freie Verwendung dieses Schemas in Applikationen (behördenintern, kommerziell, privat) ist erlaubt und erwünscht.
+-->
+<?xml-stylesheet type="text/xsl" href="getelementnames.xslt"?>
+<xs:schema targetNamespace="http://reference.e-government.gv.at/namespace/persondata/en/20040201#" xmlns="http://reference.e-government.gv.at/namespace/persondata/en/20040201#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0.0">
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="W3C-XMLDSig.xsd"/>
+ <xs:annotation>
+ <xs:documentation>This version of person deploys only global elements. All types derived from abstract types have been replaced by substitution groups</xs:documentation>
+ </xs:annotation>
+ <!-- ### signed structure of a person ### -->
+ <xs:element name="AbstractPersonData" type="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>dummy abstract Peson Data element needed for bi-lingual schema (substitution groups)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PersonData" type="PersonDataType" substitutionGroup="AbstractPersonData">
+ <xs:annotation>
+ <xs:documentation>element of signed person datastructure type</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- ### base type for person data ### -->
+ <xs:element name="Person" type="AbstractPersonType"/>
+ <!-- ### physical person and corporate body ### -->
+ <xs:element name="PhysicalPerson" type="PhysicalPersonType" substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="CorporateBody" type="CorporateBodyType" substitutionGroup="Person">
+ <xs:annotation>
+ <xs:documentation>element of corporate body type, derived from Person</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Name" type="PersonNameType">
+ <xs:annotation>
+ <xs:documentation>data related to the person's name</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="DateOfBirth" type="DateOfBirthType">
+ <xs:annotation>
+ <xs:documentation>date of birth, compare Geburtsdatum</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- ### adress data for various types of communications ### -->
+ <xs:element name="Address" type="AbstractAddressType"/>
+ <xs:element name="PostalAddress" type="PostalAddressType" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>Postal or ZMR Address, compare PostAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="InternetAddress" type="InternetAddressType" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>element of internet address type</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TelephoneAddress" type="TelephoneAddressType" substitutionGroup="Address">
+ <xs:annotation>
+ <xs:documentation>element of TelephoneAddressType, compare TelefonAdresse</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!-- ### Identification elements ###-->
+ <xs:element name="AbstractSimpleIdentification" type="xs:string"/>
+ <xs:element name="OID" type="xs:string" substitutionGroup="AbstractSimpleIdentification"/>
+ <xs:element name="NatPErgaenzungsRegisterZahl" type="xs:string" substitutionGroup="AbstractSimpleIdentification"/>
+ <xs:element name="NichtNatPErgaenzungsRegisterZahl" type="xs:string" substitutionGroup="AbstractSimpleIdentification"/>
+ <xs:element name="VereinsRegisterZahl" type="xs:string" substitutionGroup="AbstractSimpleIdentification"/>
+ <xs:element name="FirmenbuchNummer" type="xs:string" substitutionGroup="AbstractSimpleIdentification"/>
+ <!--### elements of simple type ####-->
+ <xs:element name="FormattedNumber" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Complete Number ready formated, comapre FormatierteNummer</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <!--### Complex types ###-->
+ <xs:complexType name="PersonDataType">
+ <xs:annotation>
+ <xs:documentation>signed person datastructure. The first Identification elements (from the base type) denote the record as such (e.g. database key for this record) - not to be mistaken for identifiers of the person or of an address (they have their own Identification elements).</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence>
+ <xs:element ref="Person"/>
+ <xs:element ref="Address" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="IdentificationType">
+ <xs:annotation>
+ <xs:documentation>unique identifier</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="Value">
+ <xs:annotation>
+ <xs:documentation>actual value of the identifier.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Type" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>type of value (eg 'ZMR', 'SV-Nummer', 'Martrikelnummer', database identification, ...)</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Authority" type="xs:anyURI" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>authority, which is reponsible for generation of the identifier (eg university in case of 'MatrikelNummer')</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>any additional properties</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ <xs:anyAttribute namespace="##other"/>
+ </xs:complexType>
+ <xs:complexType name="AbstractPersonType">
+ <xs:annotation>
+ <xs:documentation>main structure of person data</xs:documentation>
+ </xs:annotation>
+ <xs:choice minOccurs="0">
+ <xs:element ref="AbstractSimpleIdentification" minOccurs="0"/>
+ </xs:choice>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ <xs:anyAttribute namespace="##other"/>
+ </xs:complexType>
+ <xs:complexType name="PhysicalPersonType">
+ <xs:annotation>
+ <xs:documentation>physical person</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="Name"/>
+ <xs:element ref="DateOfBirth" minOccurs="0"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="PersonNameType">
+ <xs:sequence>
+ <xs:element name="GivenName" type="xs:string"/>
+ <xs:element name="FamilyName">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="primary" default="undefined">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ <xs:enumeration value="undefined"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="prefix" type="xs:string"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Affix" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>Inlcudes all Information that is not exactly a name: academic or aristocratic titles, ... the new position attribute can contain a suffx or prefix value</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="type" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="academicGrade"/>
+ <xs:enumeration value="aristocraticPrefix"/>
+ <xs:enumeration value="aristocraticTitle"/>
+ <xs:enumeration value="familyNamePrefix"/>
+ <xs:enumeration value="familyNameSuffix"/>
+ <xs:enumeration value="formOfAddress"/>
+ <xs:enumeration value="generation"/>
+ <xs:enumeration value="qualification"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="position" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="prefix"/>
+ <xs:enumeration value="suffix"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="CorporateBodyType">
+ <xs:annotation>
+ <xs:documentation>juridical person, organisation</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractPersonType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="FullName" type="xs:token">
+ <xs:annotation>
+ <xs:documentation>name of corporate body (whole name), compare VollerName</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Organization" type="xs:token" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>part of an organisation, see also X.500 ou (eg departement, section, branch, ...) , compare Organisation</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="AbstractAddressType">
+ <xs:annotation>
+ <xs:documentation>main structure of address data</xs:documentation>
+ </xs:annotation>
+ <xs:attribute name="Id" type="xs:ID" use="optional"/>
+ <xs:anyAttribute namespace="##other"/>
+ </xs:complexType>
+ <xs:complexType name="PostalAddressType">
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence>
+ <xs:element name="CountryCode" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Code for the country, use ISO or internatinal Postalstandard, compare Staatscode</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[A-Z]{2}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="PostalCode" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>ZIP, compare Postleitzahl</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Municipality" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>compare Gemeinde</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="MunicipalityNumber" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>compare Gemeindekennzahl</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="DeliveryAddress">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="StreetName" type="xs:string"/>
+ <xs:element name="BuildingNumber" type="xs:string"/>
+ <xs:element name="Unit" type="xs:string" minOccurs="0"/>
+ <xs:element name="DoorNumber" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="type" default="undefined">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="postOfficeBoxAddress"/>
+ <xs:enumeration value="streetAddress"/>
+ <xs:enumeration value="militaryAddress"/>
+ <xs:enumeration value="undefined"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="TelcomNumberType">
+ <xs:choice>
+ <xs:element ref="FormattedNumber"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="InternetAddressType">
+ <xs:annotation>
+ <xs:documentation>internet based communication</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence minOccurs="0">
+ <xs:element ref="dsig:KeyInfo" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>certificate for secure communication</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Address" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>URI: email-Address, Web, FTP, LDAP, ..., comapre Adress</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="TelephoneAddressType">
+ <xs:annotation>
+ <xs:documentation>phone numbers</xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:extension base="AbstractAddressType">
+ <xs:sequence minOccurs="0">
+ <xs:element name="Number" type="TelcomNumberType">
+ <xs:annotation>
+ <xs:documentation>phonenumber</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <!-- ### strings of defined maximum lenght for use with ZMR address #### -->
+ <xs:simpleType name="DateOfBirthType">
+ <xs:annotation>
+ <xs:documentation>simple type for dates (union), which may omit day and/or month</xs:documentation>
+ </xs:annotation>
+ <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear"/>
+ </xs:simpleType>
+ <xs:simpleType name="string3">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="3"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string4">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="4"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string7">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="7"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string20">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="20"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string30">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="30"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string50">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="50"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="string100">
+ <xs:restriction base="xs:string">
+ <xs:maxLength value="100"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="integer5">
+ <xs:restriction base="xs:integer">
+ <xs:minInclusive value="10000"/>
+ <xs:maxInclusive value="99999"/>
+ </xs:restriction>
+ </xs:simpleType>
+</xs:schema>
diff --git a/src/main/resources/wsdl/zkopf/zuserech.wsdl b/src/main/resources/wsdl/zkopf/zuserech.wsdl
new file mode 100644
index 0000000..1036dc7
--- /dev/null
+++ b/src/main/resources/wsdl/zkopf/zuserech.wsdl
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://reference.e-government.gv.at/namespaces/zustellung/rech/wsdl"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:rech="http://reference.e-government.gv.at/namespaces/zustellung/rech"
+ name="rech"
+ targetNamespace="http://reference.e-government.gv.at/namespaces/zustellung/rech/wsdl">
+
+ <import location="zuserech.xsd" namespace="http://reference.e-government.gv.at/namespaces/zustellung/rech"/>
+
+ <message name="ClearingRequest">
+ <part name="ClearingRequest" element="rech:ClearingRequest"/>
+ </message>
+ <message name="ClearingResponse">
+ <part name="ClearingResponse" element="rech:ClearingResponse"/>
+ </message>
+ <message name="ValidateTokenRequest">
+ <part name="ValidateTokenRequest" element="rech:ValidateTokenRequest"/>
+ </message>
+ <message name="ValidateTokenResponse">
+ <part name="ValidateTokenResponse" element="rech:ValidateTokenResponse"/>
+ </message>
+ <portType name="ClearingPortType">
+ <operation name="ClearingOperation">
+ <input message="tns:ClearingRequest"/>
+ <output message="tns:ClearingResponse"/>
+ </operation>
+ </portType>
+ <portType name="ValidateTokenPortType">
+ <operation name="ValidateTokenOperation">
+ <input message="tns:ValidateTokenRequest"/>
+ <output message="tns:ValidateTokenResponse"/>
+ </operation>
+ </portType>
+ <binding name="ClearingBinding" type="tns:ClearingPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="ClearingOperation">
+ <soap:operation soapAction="tns:ClearingPortType#ClearingOperation" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+ <binding name="ValidateTokenBinding" type="tns:ValidateTokenPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="ValidateTokenOperation">
+ <soap:operation soapAction="tns:ValidateTokenPortType#ValidateTokenOperation" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="ClearingService">
+ <port name="ClearingPort" binding="tns:ClearingBinding">
+ <soap:address location="http://localhost:8080/rech/ClearingService"/>
+ </port>
+ </service>
+ <service name="ValidateTokenService">
+ <port name="ValidateTokenPort" binding="tns:ValidateTokenBinding">
+ <soap:address location="http://localhost:8080/rech/ValidateTokenService"/>
+ </port>
+ </service>
+</definitions>
diff --git a/src/main/resources/wsdl/zkopf/zuserech.xsd b/src/main/resources/wsdl/zkopf/zuserech.xsd
new file mode 100644
index 0000000..febc83d
--- /dev/null
+++ b/src/main/resources/wsdl/zkopf/zuserech.xsd
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSpy v2006 sp2 U (http://www.altova.com) by Arne Tauber (Technische Universität Graz) -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://reference.e-government.gv.at/namespaces/zustellung/rech" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://reference.e-government.gv.at/namespaces/zustellung/rech" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:element name="ClearingRequest" type="ClearingRequestType"/>
+ <xs:element name="ClearingResponse" type="ClearingResponseType"/>
+ <xs:complexType name="X509IssuerSerialType">
+ <xs:sequence>
+ <xs:element name="X509IssuerName" type="xs:string"/>
+ <xs:element name="X509SerialNumber" type="xs:long"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ClearingRequestType">
+ <xs:sequence>
+ <xs:element name="ClearingEntry" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="X509IssuerSerial" type="X509IssuerSerialType"/>
+ <xs:element name="Token" type="xs:token"/>
+ <xs:element name="DeliveryQuality" type="xs:token"/>
+ <xs:element name="PaperNotification" type="xs:boolean"/>
+ <xs:element name="Private" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Price" type="xs:decimal"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="ID" type="xs:token" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="version" type="xs:positiveInteger"/>
+ </xs:complexType>
+ <xs:complexType name="ErrorType">
+ <xs:sequence>
+ <xs:element name="Info" type="xs:string"/>
+ <xs:element name="Code" type="xs:positiveInteger"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ClearingResponseType">
+ <xs:choice>
+ <xs:element name="Error" type="ErrorType"/>
+ <xs:sequence>
+ <xs:element name="ClearingEntry" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:choice>
+ <xs:element name="Success">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:restriction base="xs:anyType"/>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Error" type="ErrorType"/>
+ </xs:choice>
+ <xs:attribute name="ID" type="xs:token" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:choice>
+ </xs:complexType>
+ <xs:element name="ValidateTokenRequest" type="ValidateTokenRequestType"/>
+ <xs:element name="ValidateTokenResponse" type="ValidateTokenResponseType"/>
+ <xs:complexType name="ValidateTokenRequestType">
+ <xs:sequence>
+ <xs:element name="TokenEntry" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="X509IssuerSerial" type="X509IssuerSerialType"/>
+ <xs:element name="Token" type="xs:token"/>
+ </xs:sequence>
+ <xs:attribute name="ID" type="xs:token" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="version" type="xs:positiveInteger"/>
+ </xs:complexType>
+ <xs:complexType name="ValidateTokenResponseType">
+ <xs:sequence>
+ <xs:element name="TokenEntry" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:choice>
+ <xs:element name="Success">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:restriction base="xs:anyType"/>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Error" type="ErrorType"/>
+ </xs:choice>
+ <xs:attribute name="ID" type="xs:token" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
diff --git a/src/main/resources/wsdl/zusespec/W3C-XMLDSig.xsd b/src/main/resources/wsdl/zusespec/W3C-XMLDSig.xsd
new file mode 100644
index 0000000..522cae0
--- /dev/null
+++ b/src/main/resources/wsdl/zusespec/W3C-XMLDSig.xsd
@@ -0,0 +1,265 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- PUBLIC "-//W3C//DTD XMLSchema 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd"
+ -->
+<!-- Schema for XML Signatures
+ http://www.w3.org/2000/09/xmldsig#
+ $Revision: 1.1 $ on $Date: 2002/11/11 16:24:27 $ by $Author: Linauer $
+
+ Copyright 2001 The Internet Society and W3C (Massachusetts Institute
+ of Technology, Institut National de Recherche en Informatique et en
+ Automatique, Keio University). All Rights Reserved.
+ http://www.w3.org/Consortium/Legal/
+
+ This document is governed by the W3C Software License [1] as described
+ in the FAQ [2].
+
+ [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
+ [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
+-->
+<schema targetNamespace="http://www.w3.org/2000/09/xmldsig#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="0.1">
+ <!-- Basic Types Defined for Signatures -->
+ <!-- modified to ensure that whiteSpace is preserved
+<simpleType name="CryptoBinary">
+ <restriction base="base64Binary">
+ </restriction>
+</simpleType>
+ -->
+ <simpleType name="CryptoBinary">
+ <restriction base="string">
+ <whiteSpace value="preserve"/>
+ <pattern value="[A-Za-z0-9\+/=\n\r\t ]*"/>
+ </restriction>
+ </simpleType>
+ <!-- Start Signature -->
+ <element name="Signature" type="ds:SignatureType"/>
+ <complexType name="SignatureType">
+ <sequence>
+ <element ref="ds:SignedInfo"/>
+ <element ref="ds:SignatureValue"/>
+ <element ref="ds:KeyInfo" minOccurs="0"/>
+ <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="SignatureValue" type="ds:SignatureValueType"/>
+ <complexType name="SignatureValueType">
+ <simpleContent>
+ <extension base="ds:CryptoBinary">
+ <attribute name="Id" type="ID" use="optional"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <!-- Start SignedInfo -->
+ <element name="SignedInfo" type="ds:SignedInfoType"/>
+ <complexType name="SignedInfoType">
+ <sequence>
+ <element ref="ds:CanonicalizationMethod"/>
+ <element ref="ds:SignatureMethod"/>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>
+ <complexType name="CanonicalizationMethodType" mixed="true">
+ <sequence>
+ <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
+ <!-- (0,unbounded) elements from (1,1) namespace -->
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <element name="SignatureMethod" type="ds:SignatureMethodType"/>
+ <complexType name="SignatureMethodType" mixed="true">
+ <sequence>
+ <element name="HMACOutputLength" type="ds:HMACOutputLengthType" minOccurs="0"/>
+ <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+ <!-- (0,unbounded) elements from (1,1) external namespace -->
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <!-- Start Reference -->
+ <element name="Reference" type="ds:ReferenceType"/>
+ <complexType name="ReferenceType">
+ <sequence>
+ <element ref="ds:Transforms" minOccurs="0"/>
+ <element ref="ds:DigestMethod"/>
+ <element ref="ds:DigestValue"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ <attribute name="URI" type="anyURI" use="optional"/>
+ <attribute name="Type" type="anyURI" use="optional"/>
+ </complexType>
+ <element name="Transforms" type="ds:TransformsType"/>
+ <complexType name="TransformsType">
+ <sequence>
+ <element ref="ds:Transform" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <element name="Transform" type="ds:TransformType"/>
+ <complexType name="TransformType" mixed="true">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##other" processContents="lax"/>
+ <element name="XPath" type="string"/>
+ <!-- (1,1) elements from (0,unbounded) namespaces -->
+ </choice>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <!-- End Reference -->
+ <element name="DigestMethod" type="ds:DigestMethodType"/>
+ <complexType name="DigestMethodType" mixed="true">
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Algorithm" type="anyURI" use="required"/>
+ </complexType>
+ <element name="DigestValue" type="ds:DigestValueType"/>
+ <simpleType name="DigestValueType">
+ <restriction base="ds:CryptoBinary"/>
+ </simpleType>
+ <!-- End SignedInfo -->
+ <!-- Start KeyInfo -->
+ <element name="KeyInfo" type="ds:KeyInfoType"/>
+ <complexType name="KeyInfoType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <element ref="ds:KeyName"/>
+ <element ref="ds:KeyValue"/>
+ <element ref="ds:RetrievalMethod"/>
+ <element ref="ds:X509Data"/>
+ <element ref="ds:PGPData"/>
+ <element ref="ds:SPKIData"/>
+ <element ref="ds:MgmtData"/>
+ <any namespace="##other" processContents="lax"/>
+ <!-- (1,1) elements from (0,unbounded) namespaces -->
+ </choice>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="KeyName" type="string"/>
+ <element name="MgmtData" type="string"/>
+ <element name="KeyValue" type="ds:KeyValueType"/>
+ <complexType name="KeyValueType" mixed="true">
+ <choice>
+ <element ref="ds:DSAKeyValue"/>
+ <element ref="ds:RSAKeyValue"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ </complexType>
+ <element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
+ <complexType name="RetrievalMethodType">
+ <sequence>
+ <element name="Transforms" type="ds:TransformsType" minOccurs="0"/>
+ </sequence>
+ <attribute name="URI" type="anyURI"/>
+ <attribute name="Type" type="anyURI" use="optional"/>
+ </complexType>
+ <!-- Start X509Data -->
+ <element name="X509Data" type="ds:X509DataType"/>
+ <complexType name="X509DataType">
+ <sequence maxOccurs="unbounded">
+ <choice>
+ <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
+ <element name="X509SKI" type="ds:CryptoBinary"/>
+ <element name="X509SubjectName" type="string"/>
+ <element name="X509Certificate" type="ds:CryptoBinary"/>
+ <element name="X509CRL" type="ds:CryptoBinary"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ </sequence>
+ </complexType>
+ <complexType name="X509IssuerSerialType">
+ <sequence>
+ <element name="X509IssuerName" type="string"/>
+ <element name="X509SerialNumber" type="integer"/>
+ </sequence>
+ </complexType>
+ <!-- End X509Data -->
+ <!-- Begin PGPData -->
+ <element name="PGPData" type="ds:PGPDataType"/>
+ <complexType name="PGPDataType">
+ <choice>
+ <sequence>
+ <element name="PGPKeyID" type="ds:CryptoBinary"/>
+ <element name="PGPKeyPacket" type="ds:CryptoBinary" minOccurs="0"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <sequence>
+ <element name="PGPKeyPacket" type="ds:CryptoBinary"/>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </choice>
+ </complexType>
+ <!-- End PGPData -->
+ <!-- Begin SPKIData -->
+ <element name="SPKIData" type="ds:SPKIDataType"/>
+ <complexType name="SPKIDataType">
+ <sequence maxOccurs="unbounded">
+ <element name="SPKISexp" type="ds:CryptoBinary"/>
+ <any namespace="##other" processContents="lax" minOccurs="0"/>
+ </sequence>
+ </complexType>
+ <!-- End SPKIData -->
+ <!-- End KeyInfo -->
+ <!-- Start Object (Manifest, SignatureProperty) -->
+ <element name="Object" type="ds:ObjectType"/>
+ <complexType name="ObjectType" mixed="true">
+ <sequence minOccurs="0" maxOccurs="unbounded">
+ <any namespace="##any" processContents="lax"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ <attribute name="MimeType" type="string" use="optional"/>
+ <attribute name="Encoding" type="anyURI" use="optional"/>
+ <!-- add a grep facet -->
+ </complexType>
+ <element name="Manifest" type="ds:ManifestType"/>
+ <complexType name="ManifestType">
+ <sequence>
+ <element ref="ds:Reference" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="SignatureProperties" type="ds:SignaturePropertiesType"/>
+ <complexType name="SignaturePropertiesType">
+ <sequence>
+ <element ref="ds:SignatureProperty" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <element name="SignatureProperty" type="ds:SignaturePropertyType"/>
+ <complexType name="SignaturePropertyType" mixed="true">
+ <choice maxOccurs="unbounded">
+ <any namespace="##other" processContents="lax"/>
+ <!-- (1,1) elements from (1,unbounded) namespaces -->
+ </choice>
+ <attribute name="Target" type="anyURI" use="required"/>
+ <attribute name="Id" type="ID" use="optional"/>
+ </complexType>
+ <!-- End Object (Manifest, SignatureProperty) -->
+ <!-- Start Algorithm Parameters -->
+ <simpleType name="HMACOutputLengthType">
+ <restriction base="integer"/>
+ </simpleType>
+ <!-- Start KeyValue Element-types -->
+ <element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
+ <complexType name="DSAKeyValueType">
+ <sequence>
+ <sequence minOccurs="0">
+ <element name="P" type="ds:CryptoBinary"/>
+ <element name="Q" type="ds:CryptoBinary"/>
+ </sequence>
+ <element name="J" type="ds:CryptoBinary" minOccurs="0"/>
+ <element name="G" type="ds:CryptoBinary" minOccurs="0"/>
+ <element name="Y" type="ds:CryptoBinary"/>
+ <sequence minOccurs="0">
+ <element name="Seed" type="ds:CryptoBinary"/>
+ <element name="PgenCounter" type="ds:CryptoBinary"/>
+ </sequence>
+ </sequence>
+ </complexType>
+ <element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
+ <complexType name="RSAKeyValueType">
+ <sequence>
+ <element name="Modulus" type="ds:CryptoBinary"/>
+ <element name="Exponent" type="ds:CryptoBinary"/>
+ </sequence>
+ </complexType>
+ <!-- End KeyValue Element-types -->
+ <!-- End Signature -->
+</schema>
diff --git a/src/main/resources/wsdl/zusespec/recipientnotification.xsd b/src/main/resources/wsdl/zusespec/recipientnotification.xsd
new file mode 100644
index 0000000..5dec034
--- /dev/null
+++ b/src/main/resources/wsdl/zusespec/recipientnotification.xsd
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSpy v2006 sp2 U (http://www.altova.com) by Arne Tauber (Technische Universität Graz) -->
+<xs:schema xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://reference.e-government.gv.at/namespace/zustellung/recipientnotification" targetNamespace="http://reference.e-government.gv.at/namespace/zustellung/recipientnotification" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="W3C-XMLDSig.xsd"/>
+ <!--### root elements ###-->
+ <xs:element name="ElectronicNotification">
+ <xs:annotation>
+ <xs:documentation>Elektronische Verständigung</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Sender">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="Name"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Recipient" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="Name"/>
+ <xs:element name="AddressLine" type="xs:token"/>
+ <xs:element name="PostalCode" type="xs:token"/>
+ <xs:element name="Municipality" type="xs:token"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element ref="DeliveryID"/>
+ <xs:element ref="DeliveryQuality"/>
+ <xs:element name="DeliveryNumber" type="xs:string"/>
+ <xs:element ref="DeliveryServer"/>
+ <xs:element name="Dates">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="FirstNotification"/>
+ <xs:element ref="SecondNotification" minOccurs="0"/>
+ <xs:element ref="DueDate"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element ref="dsig:Signature"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PaperNotification">
+ <xs:annotation>
+ <xs:documentation>Postalische Verständigung</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Sender">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="Name"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Recipient">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="Name"/>
+ <xs:element name="AddressLine" type="xs:token"/>
+ <xs:element name="PostalCode" type="xs:token"/>
+ <xs:element name="Municipality" type="xs:token"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element ref="DeliveryID"/>
+ <xs:element ref="DeliveryQuality"/>
+ <xs:element ref="DeliveryServer"/>
+ <xs:element name="Dates">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="DueDate"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element ref="dsig:Signature"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!--### helper eleemnts ###-->
+ <xs:element name="Name" type="xs:token"/>
+ <xs:element name="Email" type="xs:token"/>
+ <xs:element name="DeliveryQuality">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:enumeration value="RSa"/>
+ <xs:enumeration value="nonRSa"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="DeliveryServer" type="xs:anyURI"/>
+ <xs:element name="DeliveryID" type="xs:token"/>
+ <xs:element name="FirstNotification" type="xs:dateTime"/>
+ <xs:element name="SecondNotification" type="xs:dateTime"/>
+ <xs:element name="ThirdNotification" type="xs:date"/>
+ <xs:element name="DueDate" type="xs:date"/>
+</xs:schema>