diff options
author | Christof Rabensteiner <christof.rabensteiner@iaik.tugraz.at> | 2019-03-19 07:37:32 +0100 |
---|---|---|
committer | Christof Rabensteiner <christof.rabensteiner@iaik.tugraz.at> | 2019-03-19 07:41:09 +0100 |
commit | eeb17fd581546d757cfa63cfaeaa6fa735dac9dd (patch) | |
tree | 5461ba5b10fb866f08dfd8251f9b1d673ae39ef8 | |
download | moa-zs-eeb17fd581546d757cfa63cfaeaa6fa735dac9dd.tar.gz moa-zs-eeb17fd581546d757cfa63cfaeaa6fa735dac9dd.tar.bz2 moa-zs-eeb17fd581546d757cfa63cfaeaa6fa735dac9dd.zip |
Init Repo + Contract App2mzs
- Can generate java sources with wsdl2java (mvn generate-sources)
- Add multiple versions of app2mzs because I don't know which one is
right.
- Fix zuseutil's wsdl (import statement)
- Remove header in 1.5.3-rc1's wsdl
18 files changed, 2506 insertions, 0 deletions
@@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <groupId>egiz.gv.at</groupId> + <artifactId>moa-zs</artifactId> + <version>2.0.0</version> + <packaging>war</packaging> + + <name>Moa ZS</name> + <description>Moa ZS</description> + + <parent> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-parent</artifactId> + <version>2.1.3.RELEASE</version> + </parent> + + <properties> + <java.version>11</java.version> + <cxf.version>3.3.0</cxf.version> + <springboot.version>2.1.3.RELEASE</springboot.version> + </properties> + + <dependencies> + <!-- spring-boot --> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-test</artifactId> + <version>${springboot.version}</version> + <scope>test</scope> + </dependency> + <!-- cxf --> + <dependency> + <groupId>org.apache.cxf</groupId> + <artifactId>cxf-spring-boot-starter-jaxws</artifactId> + <version>${cxf.version}</version> + </dependency> + + <!-- needed by cxf-codegen-plugin's generated code --> + <dependency> + <groupId>javax.xml.ws</groupId> + <artifactId>jaxws-api</artifactId> + <version>2.3.1</version> + </dependency> + + <dependency> + <groupId>javax.jws</groupId> + <artifactId>javax.jws-api</artifactId> + <version>1.1</version> + </dependency> + + </dependencies> + + <build> + <plugins> + <!-- spring-boot-maven-plugin --> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + <version>${springboot.version}</version> + </plugin> + <!-- cxf-codegen-plugin --> + <plugin> + <groupId>org.apache.cxf</groupId> + <artifactId>cxf-codegen-plugin</artifactId> + <version>${cxf.version}</version> + <executions> + <execution> + <id>generate-sources</id> + <phase>generate-sources</phase> + <configuration> + <sourceRoot>${project.build.directory}/generated-sources/cxf</sourceRoot> + <wsdlOptions> + <wsdlOption> + <wsdl>${project.basedir}/src/main/resources/mzs1.5.3.rc1/app2mzs.wsdl</wsdl> + <wsdlLocation>classpath:wsdl/app2mzs.wsdl</wsdlLocation> + </wsdlOption> + </wsdlOptions> + </configuration> + <goals> + <goal>wsdl2java</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> +</project> diff --git a/src/main/resources/mzs1.4.1/app2mzs.plsdl/egovutilsapp2mzs.wsdl b/src/main/resources/mzs1.4.1/app2mzs.plsdl/egovutilsapp2mzs.wsdl new file mode 100644 index 0000000..a0a0c33 --- /dev/null +++ b/src/main/resources/mzs1.4.1/app2mzs.plsdl/egovutilsapp2mzs.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/mzs1.4.1/app2mzs.plsdl/zusemsgapp2zuse.wsdl b/src/main/resources/mzs1.4.1/app2mzs.plsdl/zusemsgapp2zuse.wsdl new file mode 100644 index 0000000..2982d65 --- /dev/null +++ b/src/main/resources/mzs1.4.1/app2mzs.plsdl/zusemsgapp2zuse.wsdl @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
+ targetNamespace="http://reference.e-government.gv.at/namespace/zustellung/app2zuse#wsdl"
+ xmlns:zuse="http://reference.e-government.gv.at/namespace/zustellung/msg"
+ xmlns:tns="http://reference.e-government.gv.at/namespace/zustellung/app2zuse#wsdl">
+
+ <!-- import schema -->
+ <import location="zuse.xsd" namespace="http://reference.e-government.gv.at/namespace/zustellung/msg"/>
+
+ <!-- messages -->
+ <message name="DeliveryRequest">
+ <part name="DeliveryRequest" element="zuse:DeliveryRequest"/>
+ </message>
+ <message name="DeliveryResponse">
+ <part name="DeliveryResponse" element="zuse:DeliveryResponse"/>
+ </message>
+
+ <!-- ports -->
+ <portType name="app2zusePortType">
+ <operation name="app2zuseOperation">
+ <input message="tns:DeliveryRequest"/>
+ <output message="tns:DeliveryResponse"/>
+ </operation>
+ </portType>
+
+ <!-- bindings -->
+ <binding name="app2zuseBinding" type="tns:app2zusePortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="app2zuseOperation">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <mime:multipartRelated>
+ <mime:part>
+ <soap:body parts="DeliveryRequest" use="literal"/>
+ </mime:part>
+ </mime:multipartRelated>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+
+ <!-- services -->
+ <service name="app2zuseService">
+ <port name="app2zusePortType" binding="tns:app2zuseBinding">
+ <soap:address location="http://localhost:8080/storkgw/app2zuse"/>
+ </port>
+ </service>
+</definitions>
diff --git a/src/main/resources/mzs1.4.1/app2mzs.plsdl/zuseserverapp2zuse.wsdl b/src/main/resources/mzs1.4.1/app2mzs.plsdl/zuseserverapp2zuse.wsdl new file mode 100644 index 0000000..a87dba1 --- /dev/null +++ b/src/main/resources/mzs1.4.1/app2mzs.plsdl/zuseserverapp2zuse.wsdl @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
+ targetNamespace="http://reference.e-government.gv.at/namespace/zustellung/app2zuse#wsdl"
+ xmlns:zuse="http://reference.e-government.gv.at/namespace/zustellung/msg"
+ xmlns:tns="http://reference.e-government.gv.at/namespace/zustellung/app2zuse#wsdl">
+
+ <!-- import schema -->
+ <import location="zuse.xsd" namespace="http://reference.e-government.gv.at/namespace/zustellung/msg"/>
+
+ <!-- messages -->
+ <message name="DeliveryRequest">
+ <part name="DeliveryRequest" element="zuse:DeliveryRequest"/>
+ </message>
+ <message name="DeliveryResponse">
+ <part name="DeliveryResponse" element="zuse:DeliveryRequestStatus"/>
+ </message>
+
+ <!-- ports -->
+ <portType name="app2zusePortType">
+ <operation name="app2zuseOperation">
+ <input message="tns:DeliveryRequest"/>
+ <output message="tns:DeliveryResponse"/>
+ </operation>
+ </portType>
+
+ <!-- bindings -->
+ <binding name="app2zuseBinding" type="tns:app2zusePortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="app2zuseOperation">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <mime:multipartRelated>
+ <mime:part>
+ <soap:body parts="DeliveryRequest" use="literal"/>
+ </mime:part>
+ </mime:multipartRelated>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+
+ <!-- services -->
+ <service name="app2zuseService">
+ <port name="app2zusePortType" binding="tns:app2zuseBinding">
+ <soap:address location="http://localhost:8080/storkgw/app2zuse"/>
+ </port>
+ </service>
+</definitions>
diff --git a/src/main/resources/mzs1.4.1/app2mzs.plsdl/zusespocsapp2zuse.wsdl b/src/main/resources/mzs1.4.1/app2mzs.plsdl/zusespocsapp2zuse.wsdl new file mode 100644 index 0000000..7f57c66 --- /dev/null +++ b/src/main/resources/mzs1.4.1/app2mzs.plsdl/zusespocsapp2zuse.wsdl @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
+ xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
+ targetNamespace="http://reference.e-government.gv.at/namespace/zustellung/app2zuse#wsdl"
+ xmlns:zuse="http://reference.e-government.gv.at/namespace/zustellung/msg"
+ xmlns:tns="http://reference.e-government.gv.at/namespace/zustellung/app2zuse#wsdl">
+
+ <!-- import schema -->
+ <xs:schema targetNamespace="http://reference.e-government.gv.at/namespace/zustellung/app2zuse#wsdl">
+ <xs:import namespace="http://reference.e-government.gv.at/namespace/zustellung/msg" schemaLocation="zuse.xsd"/>
+ </xs:schema>
+
+ <!-- messages -->
+ <message name="DeliveryRequest">
+ <part name="DeliveryRequest" element="zuse:DeliveryRequest"/>
+ </message>
+ <message name="DeliveryResponse">
+ <part name="DeliveryResponse" element="zuse:DeliveryRequestStatus"/>
+ </message>
+
+ <!-- ports -->
+ <portType name="app2zusePortType">
+ <operation name="app2zuseOperation">
+ <input message="tns:DeliveryRequest"/>
+ <output message="tns:DeliveryResponse"/>
+ </operation>
+ </portType>
+
+ <!-- bindings -->
+ <binding name="app2zuseBinding" type="tns:app2zusePortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="app2zuseOperation">
+ <soap:operation soapAction="" style="document"/>
+ <input>
+ <mime:multipartRelated>
+ <mime:part>
+ <soap:body parts="DeliveryRequest" use="literal"/>
+ </mime:part>
+ </mime:multipartRelated>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+
+ <!-- services -->
+ <service name="app2zuseService">
+ <port name="app2zusePortType" binding="tns:app2zuseBinding">
+ <soap:address location="http://localhost:8080/storkgw/app2zuse"/>
+ </port>
+ </service>
+</definitions>
diff --git a/src/main/resources/mzs1.4.1/app2mzs.plsdl/zuseutilapp2mzs.wsdl b/src/main/resources/mzs1.4.1/app2mzs.plsdl/zuseutilapp2mzs.wsdl new file mode 100644 index 0000000..1667809 --- /dev/null +++ b/src/main/resources/mzs1.4.1/app2mzs.plsdl/zuseutilapp2mzs.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/mzs1.4.1/app2mzs.wsdl b/src/main/resources/mzs1.4.1/app2mzs.wsdl new file mode 100644 index 0000000..25f9502 --- /dev/null +++ b/src/main/resources/mzs1.4.1/app2mzs.wsdl @@ -0,0 +1,54 @@ +<?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:mzso="http://reference.e-government.gv.at/namespace/moazs/app2mzs/20040401" + 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"> + <import location="app2mzs.xsd" + namespace="http://reference.e-government.gv.at/namespace/moazs10/app2mzs#" /> + + <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="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="app2mzs"> + <soap:operation soapAction="app2mzsDeliveryRequest" style="document"/> + <input> + <soap:header use="literal"/> + <soap:body + encodingStyle="" + message="tns:DeliveryRequest" + part="DeliveryRequest" + use="literal"> </soap:body> + </input> + <output> + <soap:header use="literal"/> + <soap:body + encodingStyle="" + message="tns:DeliveryRequest" + part="DeliveryRequest" + use="literal"> </soap:body> + </output> + </operation> + </binding> + <service name="app2mzs"> + <port binding="tns:app2mzsBinding" name="app2mzsPort"> + <soap:address location="http://localhost:8080/moazs/services/DeliveryRequest"/> + </port> + </service> +</definitions> diff --git a/src/main/resources/mzs1.4.1/app2mzs.xsd b/src/main/resources/mzs1.4.1/app2mzs.xsd new file mode 100644 index 0000000..3a90515 --- /dev/null +++ b/src/main/resources/mzs1.4.1/app2mzs.xsd @@ -0,0 +1,342 @@ +<?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"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:anyURI"> + <xs:attribute name="AlternativeEmail" type="xs:anyURI"/> + <xs:attribute name="Type" type="xs:string"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="EMailAddress"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Type" type="xs:string"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </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 name="Subject" type="xs:string" minOccurs="0"/> + <xs:element ref="AppDeliveryID"/> + <xs:element name="GZ" type="xs:string" minOccurs="0"/> + <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="DeliveryConfirmation" type="xs:boolean" minOccurs="0"/> + <xs:element name="RequiresEncryption" type="xs:boolean"/> + <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="References" minOccurs="0"> + <xs:complexType> + <xs:choice maxOccurs="unbounded"> + <xs:element ref="AppDeliveryID"/> + <xs:element name="GZ" type="xs:string"/> + <xs:element ref="MZSDeliveryID"/> + <xs:element name="ZSDeliveryID" type="xs:string"/> + </xs:choice> + </xs:complexType> + </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 name="DeliveryConfirmation" type="xs:base64Binary"> + <xs:annotation> + <xs:documentation>DeliveryConfirmation Base64 encoded</xs:documentation> + </xs:annotation> + </xs:element> + <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 name="DeliveryConfirmation" type="xs:base64Binary"/> + <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/mzs1.4.1/mzs_mypersondata_en.xsd b/src/main/resources/mzs1.4.1/mzs_mypersondata_en.xsd new file mode 100644 index 0000000..bc48eb9 --- /dev/null +++ b/src/main/resources/mzs1.4.1/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/mzs1.4.1/zuse2app.plsdl/zusemsgzuse2app.wsdl b/src/main/resources/mzs1.4.1/zuse2app.plsdl/zusemsgzuse2app.wsdl new file mode 100644 index 0000000..4ab2112 --- /dev/null +++ b/src/main/resources/mzs1.4.1/zuse2app.plsdl/zusemsgzuse2app.wsdl @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://reference.e-government.gv.at/namespace/zuse11/zuse2app.wsdl"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:zuse="http://reference.e-government.gv.at/namespace/zustellung/msg"
+ name="zuse2app"
+ targetNamespace="http://reference.e-government.gv.at/namespace/zuse11/zuse2app.wsdl">
+
+ <import location="zuse.xsd" namespace="http://reference.e-government.gv.at/namespace/zustellung/msg"/>
+
+ <message name="DeliveryRequestStatusResponse">
+ <part name="DeliveryRequestStatusResponse" element="zuse:DeliveryRequestStatusACK"/>
+ </message>
+ <message name="DeliveryRequestStatus">
+ <part name="DeliveryRequestStatus" element="zuse:DeliveryRequestStatus"/>
+ </message>
+ <message name="DeliveryNotificationResponse">
+ <part name="DeliveryNotificationResponse" element="zuse:DeliveryNotificationACK"/>
+ </message>
+ <message name="DeliveryNotificationRequest">
+ <part name="DeliveryNotificationRequest" element="zuse:DeliveryNotification"/>
+ </message>
+ <portType name="NotificationPortType">
+ <operation name="Notification">
+ <input message="tns:DeliveryNotificationRequest"/>
+ <output message="tns:DeliveryNotificationResponse"/>
+ </operation>
+ </portType>
+ <portType name="StatusPortType">
+ <operation name="Status">
+ <input message="tns:DeliveryRequestStatus"/>
+ <output message="tns:DeliveryRequestStatusResponse"/>
+ </operation>
+ </portType>
+ <binding name="StatusBinding" type="tns:StatusPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="Status">
+ <soap:operation soapAction="capeconnect:zuse2app:StatusPortType#Status" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+ <binding name="NotificationBinding" type="tns:NotificationPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="Notification">
+ <soap:operation soapAction="capeconnect:app2zuse:NotificationPortType#Notification"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="zuse2app">
+ <port name="status" binding="tns:StatusBinding">
+ <soap:address location="http://localhost:8000/zuse/zusestatus"/>
+ </port>
+ <port name="notification" binding="tns:NotificationBinding">
+ <soap:address location="http://localhost:8000/zuse/zusenotification"/>
+ </port>
+ </service>
+</definitions>
diff --git a/src/main/resources/mzs1.4.1/zuse2app.plsdl/zuseserverzuse2app.wsdl b/src/main/resources/mzs1.4.1/zuse2app.plsdl/zuseserverzuse2app.wsdl new file mode 100644 index 0000000..4ab2112 --- /dev/null +++ b/src/main/resources/mzs1.4.1/zuse2app.plsdl/zuseserverzuse2app.wsdl @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://reference.e-government.gv.at/namespace/zuse11/zuse2app.wsdl"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:zuse="http://reference.e-government.gv.at/namespace/zustellung/msg"
+ name="zuse2app"
+ targetNamespace="http://reference.e-government.gv.at/namespace/zuse11/zuse2app.wsdl">
+
+ <import location="zuse.xsd" namespace="http://reference.e-government.gv.at/namespace/zustellung/msg"/>
+
+ <message name="DeliveryRequestStatusResponse">
+ <part name="DeliveryRequestStatusResponse" element="zuse:DeliveryRequestStatusACK"/>
+ </message>
+ <message name="DeliveryRequestStatus">
+ <part name="DeliveryRequestStatus" element="zuse:DeliveryRequestStatus"/>
+ </message>
+ <message name="DeliveryNotificationResponse">
+ <part name="DeliveryNotificationResponse" element="zuse:DeliveryNotificationACK"/>
+ </message>
+ <message name="DeliveryNotificationRequest">
+ <part name="DeliveryNotificationRequest" element="zuse:DeliveryNotification"/>
+ </message>
+ <portType name="NotificationPortType">
+ <operation name="Notification">
+ <input message="tns:DeliveryNotificationRequest"/>
+ <output message="tns:DeliveryNotificationResponse"/>
+ </operation>
+ </portType>
+ <portType name="StatusPortType">
+ <operation name="Status">
+ <input message="tns:DeliveryRequestStatus"/>
+ <output message="tns:DeliveryRequestStatusResponse"/>
+ </operation>
+ </portType>
+ <binding name="StatusBinding" type="tns:StatusPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="Status">
+ <soap:operation soapAction="capeconnect:zuse2app:StatusPortType#Status" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+ <binding name="NotificationBinding" type="tns:NotificationPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="Notification">
+ <soap:operation soapAction="capeconnect:app2zuse:NotificationPortType#Notification"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="zuse2app">
+ <port name="status" binding="tns:StatusBinding">
+ <soap:address location="http://localhost:8000/zuse/zusestatus"/>
+ </port>
+ <port name="notification" binding="tns:NotificationBinding">
+ <soap:address location="http://localhost:8000/zuse/zusenotification"/>
+ </port>
+ </service>
+</definitions>
diff --git a/src/main/resources/mzs1.4.1/zuse2app.plsdl/zusespocszuse2app.wsdl b/src/main/resources/mzs1.4.1/zuse2app.plsdl/zusespocszuse2app.wsdl new file mode 100644 index 0000000..fe8bad6 --- /dev/null +++ b/src/main/resources/mzs1.4.1/zuse2app.plsdl/zusespocszuse2app.wsdl @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:tns="http://reference.e-government.gv.at/namespace/zuse11/zuse2app.wsdl"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:zuse="http://reference.e-government.gv.at/namespace/zustellung/msg"
+ name="zuse2app"
+ targetNamespace="http://reference.e-government.gv.at/namespace/zuse11/zuse2app.wsdl">
+
+ <xsd:schema targetNamespace="http://reference.e-government.gv.at/namespace/zuse11/zuse2app.wsdl">
+ <xsd:import namespace="http://reference.e-government.gv.at/namespace/zustellung/msg" schemaLocation="zuse.xsd"/>
+ </xsd:schema>
+
+ <message name="DeliveryRequestStatusResponse">
+ <part name="DeliveryRequestStatusResponse" element="zuse:DeliveryRequestStatusACK"/>
+ </message>
+ <message name="DeliveryRequestStatus">
+ <part name="DeliveryRequestStatus" element="zuse:DeliveryRequestStatus"/>
+ </message>
+ <message name="DeliveryNotificationResponse">
+ <part name="DeliveryNotificationResponse" element="zuse:DeliveryNotificationACK"/>
+ </message>
+ <message name="DeliveryNotificationRequest">
+ <part name="DeliveryNotificationRequest" element="zuse:DeliveryNotification"/>
+ </message>
+ <portType name="NotificationPortType">
+ <operation name="Notification">
+ <input message="tns:DeliveryNotificationRequest"/>
+ <output message="tns:DeliveryNotificationResponse"/>
+ </operation>
+ </portType>
+ <portType name="StatusPortType">
+ <operation name="Status">
+ <input message="tns:DeliveryRequestStatus"/>
+ <output message="tns:DeliveryRequestStatusResponse"/>
+ </operation>
+ </portType>
+ <binding name="StatusBinding" type="tns:StatusPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="Status">
+ <soap:operation soapAction="capeconnect:zuse2app:StatusPortType#Status" style="document"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+ <binding name="NotificationBinding" type="tns:NotificationPortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <operation name="Notification">
+ <soap:operation soapAction="capeconnect:app2zuse:NotificationPortType#Notification"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ </binding>
+ <service name="zuse2app">
+ <port name="status" binding="tns:StatusBinding">
+ <soap:address location="http://localhost:8000/zuse/zusestatus"/>
+ </port>
+ <port name="notification" binding="tns:NotificationBinding">
+ <soap:address location="http://localhost:8000/zuse/zusenotification"/>
+ </port>
+ </service>
+</definitions>
diff --git a/src/main/resources/mzs1.5.3.rc1/app2mzs.wsdl b/src/main/resources/mzs1.5.3.rc1/app2mzs.wsdl new file mode 100644 index 0000000..ad6b5d3 --- /dev/null +++ b/src/main/resources/mzs1.5.3.rc1/app2mzs.wsdl @@ -0,0 +1,54 @@ +<?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:mzso="http://reference.e-government.gv.at/namespace/moazs/app2mzs/20040401" + 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"> + <import location="app2mzs.xsd" + namespace="http://reference.e-government.gv.at/namespace/moazs10/app2mzs#" /> + + <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="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="app2mzs"> + <soap:operation soapAction="app2mzsDeliveryRequest" style="document"/> + <input> + <!-- <soap:header use="literal"/> --> + <soap:body + encodingStyle="" + message="tns:DeliveryRequest" + part="DeliveryRequest" + use="literal"> </soap:body> + </input> + <output> + <!-- <soap:header use="literal"/> --> + <soap:body + encodingStyle="" + message="tns:DeliveryRequest" + part="DeliveryRequest" + use="literal"> </soap:body> + </output> + </operation> + </binding> + <service name="app2mzs"> + <port binding="tns:app2mzsBinding" name="app2mzsPort"> + <soap:address location="http://localhost:8080/moazs/services/DeliveryRequest"/> + </port> + </service> +</definitions> diff --git a/src/main/resources/mzs1.5.3.rc1/app2mzs.xsd b/src/main/resources/mzs1.5.3.rc1/app2mzs.xsd new file mode 100644 index 0000000..3a90515 --- /dev/null +++ b/src/main/resources/mzs1.5.3.rc1/app2mzs.xsd @@ -0,0 +1,342 @@ +<?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"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:anyURI"> + <xs:attribute name="AlternativeEmail" type="xs:anyURI"/> + <xs:attribute name="Type" type="xs:string"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="EMailAddress"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Type" type="xs:string"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </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 name="Subject" type="xs:string" minOccurs="0"/> + <xs:element ref="AppDeliveryID"/> + <xs:element name="GZ" type="xs:string" minOccurs="0"/> + <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="DeliveryConfirmation" type="xs:boolean" minOccurs="0"/> + <xs:element name="RequiresEncryption" type="xs:boolean"/> + <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="References" minOccurs="0"> + <xs:complexType> + <xs:choice maxOccurs="unbounded"> + <xs:element ref="AppDeliveryID"/> + <xs:element name="GZ" type="xs:string"/> + <xs:element ref="MZSDeliveryID"/> + <xs:element name="ZSDeliveryID" type="xs:string"/> + </xs:choice> + </xs:complexType> + </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 name="DeliveryConfirmation" type="xs:base64Binary"> + <xs:annotation> + <xs:documentation>DeliveryConfirmation Base64 encoded</xs:documentation> + </xs:annotation> + </xs:element> + <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 name="DeliveryConfirmation" type="xs:base64Binary"/> + <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/mzs1.5.3.rc1/mzs_mypersondata_en.xsd b/src/main/resources/mzs1.5.3.rc1/mzs_mypersondata_en.xsd new file mode 100644 index 0000000..bc48eb9 --- /dev/null +++ b/src/main/resources/mzs1.5.3.rc1/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/zuseutils/app2mzs.wsdl b/src/main/resources/zuseutils/app2mzs.wsdl new file mode 100644 index 0000000..e3a7b6a --- /dev/null +++ b/src/main/resources/zuseutils/app2mzs.wsdl @@ -0,0 +1,48 @@ +<?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> --> + <!-- <xsd:import schemaLocation="app2mzs.xsd" namespace="http://reference.e-government.gv.at/namespace/moazs10/app2mzs#" /> --> + <import location="app2mzs.xsd" namespace="http://reference.e-government.gv.at/namespace/moazs10/app2mzs#" /> + + + <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/zuseutils/app2mzs.xsd b/src/main/resources/zuseutils/app2mzs.xsd new file mode 100644 index 0000000..b15d375 --- /dev/null +++ b/src/main/resources/zuseutils/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/zuseutils/mzs_mypersondata_en.xsd b/src/main/resources/zuseutils/mzs_mypersondata_en.xsd new file mode 100644 index 0000000..bc48eb9 --- /dev/null +++ b/src/main/resources/zuseutils/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> |