diff options
Diffstat (limited to 'src/main/resources/wsdl/zkopf')
-rw-r--r-- | src/main/resources/wsdl/zkopf/W3C-XMLDSig.xsd | 265 | ||||
-rw-r--r-- | src/main/resources/wsdl/zkopf/zkopf.wsdl | 41 | ||||
-rw-r--r-- | src/main/resources/wsdl/zkopf/zkopf.xsd | 221 | ||||
-rw-r--r-- | src/main/resources/wsdl/zkopf/zkopf_mypersondata_en.xsd | 379 | ||||
-rw-r--r-- | src/main/resources/wsdl/zkopf/zuserech.wsdl | 70 | ||||
-rw-r--r-- | src/main/resources/wsdl/zkopf/zuserech.xsd | 98 |
6 files changed, 1074 insertions, 0 deletions
diff --git a/src/main/resources/wsdl/zkopf/W3C-XMLDSig.xsd b/src/main/resources/wsdl/zkopf/W3C-XMLDSig.xsd new file mode 100644 index 0000000..522cae0 --- /dev/null +++ b/src/main/resources/wsdl/zkopf/W3C-XMLDSig.xsd @@ -0,0 +1,265 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- PUBLIC "-//W3C//DTD XMLSchema 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd" + --> +<!-- Schema for XML Signatures + http://www.w3.org/2000/09/xmldsig# + $Revision: 1.1 $ on $Date: 2002/11/11 16:24:27 $ by $Author: Linauer $ + + Copyright 2001 The Internet Society and W3C (Massachusetts Institute + of Technology, Institut National de Recherche en Informatique et en + Automatique, Keio University). All Rights Reserved. + http://www.w3.org/Consortium/Legal/ + + This document is governed by the W3C Software License [1] as described + in the FAQ [2]. + + [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720 + [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD +--> +<schema targetNamespace="http://www.w3.org/2000/09/xmldsig#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="0.1"> + <!-- Basic Types Defined for Signatures --> + <!-- modified to ensure that whiteSpace is preserved +<simpleType name="CryptoBinary"> + <restriction base="base64Binary"> + </restriction> +</simpleType> + --> + <simpleType name="CryptoBinary"> + <restriction base="string"> + <whiteSpace value="preserve"/> + <pattern value="[A-Za-z0-9\+/=\n\r\t ]*"/> + </restriction> + </simpleType> + <!-- Start Signature --> + <element name="Signature" type="ds:SignatureType"/> + <complexType name="SignatureType"> + <sequence> + <element ref="ds:SignedInfo"/> + <element ref="ds:SignatureValue"/> + <element ref="ds:KeyInfo" minOccurs="0"/> + <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute name="Id" type="ID" use="optional"/> + </complexType> + <element name="SignatureValue" type="ds:SignatureValueType"/> + <complexType name="SignatureValueType"> + <simpleContent> + <extension base="ds:CryptoBinary"> + <attribute name="Id" type="ID" use="optional"/> + </extension> + </simpleContent> + </complexType> + <!-- Start SignedInfo --> + <element name="SignedInfo" type="ds:SignedInfoType"/> + <complexType name="SignedInfoType"> + <sequence> + <element ref="ds:CanonicalizationMethod"/> + <element ref="ds:SignatureMethod"/> + <element ref="ds:Reference" maxOccurs="unbounded"/> + </sequence> + <attribute name="Id" type="ID" use="optional"/> + </complexType> + <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/> + <complexType name="CanonicalizationMethodType" mixed="true"> + <sequence> + <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/> + <!-- (0,unbounded) elements from (1,1) namespace --> + </sequence> + <attribute name="Algorithm" type="anyURI" use="required"/> + </complexType> + <element name="SignatureMethod" type="ds:SignatureMethodType"/> + <complexType name="SignatureMethodType" mixed="true"> + <sequence> + <element name="HMACOutputLength" type="ds:HMACOutputLengthType" minOccurs="0"/> + <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> + <!-- (0,unbounded) elements from (1,1) external namespace --> + </sequence> + <attribute name="Algorithm" type="anyURI" use="required"/> + </complexType> + <!-- Start Reference --> + <element name="Reference" type="ds:ReferenceType"/> + <complexType name="ReferenceType"> + <sequence> + <element ref="ds:Transforms" minOccurs="0"/> + <element ref="ds:DigestMethod"/> + <element ref="ds:DigestValue"/> + </sequence> + <attribute name="Id" type="ID" use="optional"/> + <attribute name="URI" type="anyURI" use="optional"/> + <attribute name="Type" type="anyURI" use="optional"/> + </complexType> + <element name="Transforms" type="ds:TransformsType"/> + <complexType name="TransformsType"> + <sequence> + <element ref="ds:Transform" maxOccurs="unbounded"/> + </sequence> + </complexType> + <element name="Transform" type="ds:TransformType"/> + <complexType name="TransformType" mixed="true"> + <choice minOccurs="0" maxOccurs="unbounded"> + <any namespace="##other" processContents="lax"/> + <element name="XPath" type="string"/> + <!-- (1,1) elements from (0,unbounded) namespaces --> + </choice> + <attribute name="Algorithm" type="anyURI" use="required"/> + </complexType> + <!-- End Reference --> + <element name="DigestMethod" type="ds:DigestMethodType"/> + <complexType name="DigestMethodType" mixed="true"> + <sequence> + <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute name="Algorithm" type="anyURI" use="required"/> + </complexType> + <element name="DigestValue" type="ds:DigestValueType"/> + <simpleType name="DigestValueType"> + <restriction base="ds:CryptoBinary"/> + </simpleType> + <!-- End SignedInfo --> + <!-- Start KeyInfo --> + <element name="KeyInfo" type="ds:KeyInfoType"/> + <complexType name="KeyInfoType" mixed="true"> + <choice maxOccurs="unbounded"> + <element ref="ds:KeyName"/> + <element ref="ds:KeyValue"/> + <element ref="ds:RetrievalMethod"/> + <element ref="ds:X509Data"/> + <element ref="ds:PGPData"/> + <element ref="ds:SPKIData"/> + <element ref="ds:MgmtData"/> + <any namespace="##other" processContents="lax"/> + <!-- (1,1) elements from (0,unbounded) namespaces --> + </choice> + <attribute name="Id" type="ID" use="optional"/> + </complexType> + <element name="KeyName" type="string"/> + <element name="MgmtData" type="string"/> + <element name="KeyValue" type="ds:KeyValueType"/> + <complexType name="KeyValueType" mixed="true"> + <choice> + <element ref="ds:DSAKeyValue"/> + <element ref="ds:RSAKeyValue"/> + <any namespace="##other" processContents="lax"/> + </choice> + </complexType> + <element name="RetrievalMethod" type="ds:RetrievalMethodType"/> + <complexType name="RetrievalMethodType"> + <sequence> + <element name="Transforms" type="ds:TransformsType" minOccurs="0"/> + </sequence> + <attribute name="URI" type="anyURI"/> + <attribute name="Type" type="anyURI" use="optional"/> + </complexType> + <!-- Start X509Data --> + <element name="X509Data" type="ds:X509DataType"/> + <complexType name="X509DataType"> + <sequence maxOccurs="unbounded"> + <choice> + <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/> + <element name="X509SKI" type="ds:CryptoBinary"/> + <element name="X509SubjectName" type="string"/> + <element name="X509Certificate" type="ds:CryptoBinary"/> + <element name="X509CRL" type="ds:CryptoBinary"/> + <any namespace="##other" processContents="lax"/> + </choice> + </sequence> + </complexType> + <complexType name="X509IssuerSerialType"> + <sequence> + <element name="X509IssuerName" type="string"/> + <element name="X509SerialNumber" type="integer"/> + </sequence> + </complexType> + <!-- End X509Data --> + <!-- Begin PGPData --> + <element name="PGPData" type="ds:PGPDataType"/> + <complexType name="PGPDataType"> + <choice> + <sequence> + <element name="PGPKeyID" type="ds:CryptoBinary"/> + <element name="PGPKeyPacket" type="ds:CryptoBinary" minOccurs="0"/> + <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <sequence> + <element name="PGPKeyPacket" type="ds:CryptoBinary"/> + <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + </choice> + </complexType> + <!-- End PGPData --> + <!-- Begin SPKIData --> + <element name="SPKIData" type="ds:SPKIDataType"/> + <complexType name="SPKIDataType"> + <sequence maxOccurs="unbounded"> + <element name="SPKISexp" type="ds:CryptoBinary"/> + <any namespace="##other" processContents="lax" minOccurs="0"/> + </sequence> + </complexType> + <!-- End SPKIData --> + <!-- End KeyInfo --> + <!-- Start Object (Manifest, SignatureProperty) --> + <element name="Object" type="ds:ObjectType"/> + <complexType name="ObjectType" mixed="true"> + <sequence minOccurs="0" maxOccurs="unbounded"> + <any namespace="##any" processContents="lax"/> + </sequence> + <attribute name="Id" type="ID" use="optional"/> + <attribute name="MimeType" type="string" use="optional"/> + <attribute name="Encoding" type="anyURI" use="optional"/> + <!-- add a grep facet --> + </complexType> + <element name="Manifest" type="ds:ManifestType"/> + <complexType name="ManifestType"> + <sequence> + <element ref="ds:Reference" maxOccurs="unbounded"/> + </sequence> + <attribute name="Id" type="ID" use="optional"/> + </complexType> + <element name="SignatureProperties" type="ds:SignaturePropertiesType"/> + <complexType name="SignaturePropertiesType"> + <sequence> + <element ref="ds:SignatureProperty" maxOccurs="unbounded"/> + </sequence> + <attribute name="Id" type="ID" use="optional"/> + </complexType> + <element name="SignatureProperty" type="ds:SignaturePropertyType"/> + <complexType name="SignaturePropertyType" mixed="true"> + <choice maxOccurs="unbounded"> + <any namespace="##other" processContents="lax"/> + <!-- (1,1) elements from (1,unbounded) namespaces --> + </choice> + <attribute name="Target" type="anyURI" use="required"/> + <attribute name="Id" type="ID" use="optional"/> + </complexType> + <!-- End Object (Manifest, SignatureProperty) --> + <!-- Start Algorithm Parameters --> + <simpleType name="HMACOutputLengthType"> + <restriction base="integer"/> + </simpleType> + <!-- Start KeyValue Element-types --> + <element name="DSAKeyValue" type="ds:DSAKeyValueType"/> + <complexType name="DSAKeyValueType"> + <sequence> + <sequence minOccurs="0"> + <element name="P" type="ds:CryptoBinary"/> + <element name="Q" type="ds:CryptoBinary"/> + </sequence> + <element name="J" type="ds:CryptoBinary" minOccurs="0"/> + <element name="G" type="ds:CryptoBinary" minOccurs="0"/> + <element name="Y" type="ds:CryptoBinary"/> + <sequence minOccurs="0"> + <element name="Seed" type="ds:CryptoBinary"/> + <element name="PgenCounter" type="ds:CryptoBinary"/> + </sequence> + </sequence> + </complexType> + <element name="RSAKeyValue" type="ds:RSAKeyValueType"/> + <complexType name="RSAKeyValueType"> + <sequence> + <element name="Modulus" type="ds:CryptoBinary"/> + <element name="Exponent" type="ds:CryptoBinary"/> + </sequence> + </complexType> + <!-- End KeyValue Element-types --> + <!-- End Signature --> +</schema> diff --git a/src/main/resources/wsdl/zkopf/zkopf.wsdl b/src/main/resources/wsdl/zkopf/zkopf.wsdl new file mode 100644 index 0000000..21750ab --- /dev/null +++ b/src/main/resources/wsdl/zkopf/zkopf.wsdl @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" + xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://reference.e-government.gv.at/namespaces/zustellung/kopf/wsdl" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:zkopf="http://reference.e-government.gv.at/namespaces/zustellung/kopf" + name="zkopf" + targetNamespace="http://reference.e-government.gv.at/namespaces/zustellung/kopf/wsdl"> + + <import location="zkopf.xsd" namespace="http://reference.e-government.gv.at/namespaces/zustellung/kopf"/> + + <message name="BulkQuery"> + <part name="BulkQuery" element="zkopf:BulkQuery"/> + </message> + <message name="BulkAnswer"> + <part name="BulkAnswer" element="zkopf:BulkAnswer"/> + </message> + <portType name="BulkPortType"> + <operation name="BulkOperation"> + <input message="tns:BulkQuery"/> + <output message="tns:BulkAnswer"/> + </operation> + </portType> + <binding name="BulkBinding" type="tns:BulkPortType"> + <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="BulkOperation"> + <soap:operation soapAction="tns:BulkPortType#BulkOperation" style="document"/> + <input> + <soap:body use="literal"/> + </input> + <output> + <soap:body use="literal"/> + </output> + </operation> + </binding> + <service name="BulkService"> + <port name="BulkPort" binding="tns:BulkBinding"> + <soap:address location="http://localhost:8080/zkopf/BulkQuery"/> + </port> + </service> +</definitions> diff --git a/src/main/resources/wsdl/zkopf/zkopf.xsd b/src/main/resources/wsdl/zkopf/zkopf.xsd new file mode 100644 index 0000000..635001e --- /dev/null +++ b/src/main/resources/wsdl/zkopf/zkopf.xsd @@ -0,0 +1,221 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- edited with XMLSpy v2006 sp2 U (http://www.altova.com) by Arne Tauber (Technische Universität Graz) --> +<xs:schema xmlns:p="http://reference.e-government.gv.at/namespace/persondata/en/20040201#" xmlns="http://reference.e-government.gv.at/namespaces/zustellung/kopf" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://reference.e-government.gv.at/namespaces/zustellung/kopf" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1"> + <xs:import namespace="http://reference.e-government.gv.at/namespace/persondata/en/20040201#" schemaLocation="zkopf_mypersondata_en.xsd"/> + <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="W3C-XMLDSig.xsd"/> + <!-- Nachrichtenstruktur der BulkAnfrage und der Standard- bzw. Bulk Antwort des Zustellkopfes --> + <!-- Antwort des Zustellkopfes auf eine Standard Anfrage --> + <xs:element name="StdAnswer" type="StdAnswerType"> + <xs:annotation> + <xs:documentation>attribute: ID</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="StdAnswerType"> + <xs:choice> + <xs:element name="Success"> + <xs:complexType> + <xs:sequence> + <xs:element name="gvZbPK" type="xs:token" minOccurs="0"/> + <xs:element name="Server" type="zuseType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Error" type="xs:positiveInteger"/> + </xs:choice> + <xs:attribute name="ID" type="xs:token"/> + </xs:complexType> + <!-- BulkAnfrage --> + <xs:element name="BulkQuery" type="BulkQueryType"/> + <xs:complexType name="BulkQueryType"> + <xs:choice> + <xs:sequence maxOccurs="unbounded"> + <xs:element name="Query" type="QueryType"> + <xs:annotation> + <xs:documentation>attribute: ID</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:choice> + <xs:attribute name="type"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="mass"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="ProfileID"/> + <xs:attribute name="private" type="xs:boolean"/> + </xs:complexType> + <xs:element name="Query" type="QueryType"> + <xs:annotation> + <xs:documentation>attribute: ID</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="QueryType"> + <xs:choice> + <xs:choice minOccurs="0"> + <xs:element name="gvZbPK" type="xs:token"/> + <xs:element name="Identification" type="p:IdentificationType"/> + </xs:choice> + <xs:sequence> + <xs:choice> + <xs:element ref="p:CorporateBody"/> + <xs:element ref="p:PhysicalPerson"/> + </xs:choice> + <xs:choice minOccurs="0"> + <xs:element ref="p:PostalAddress"/> + <xs:element name="VerAddress" type="messagingaddressType"/> + </xs:choice> + </xs:sequence> + </xs:choice> + <xs:attribute name="ID" type="xs:token"/> + <xs:attribute name="ProfileID"/> + </xs:complexType> + <!-- Antwort des Zustellkopfes auf ein Bulk-Anfrage--> + <xs:element name="BulkAnswer" type="BulkAnswerType"/> + <xs:complexType name="BulkAnswerType"> + <xs:sequence> + <xs:sequence> + <xs:element name="ZUSEUrl" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>attribute: ID</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + <xs:sequence> + <xs:element name="MIMEType" type="xs:string" minOccurs="0" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>attribute: ID</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + <xs:sequence> + <xs:element name="Answer" type="AnswerType" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>Attribute: ID</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:sequence> + </xs:complexType> + <xs:complexType name="AnswerType"> + <xs:choice> + <xs:element name="Success"> + <xs:complexType> + <xs:sequence> + <xs:element name="gvZbPK" type="xs:token" minOccurs="0"/> + <xs:element name="ZUSE" type="zuseType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Error"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:positiveInteger"/> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:choice> + <xs:attribute name="ID" type="xs:token"/> + </xs:complexType> + <!-- Hilfstypen --> + <xs:complexType name="messagingaddressType"> + <xs:sequence> + <xs:element ref="p:TelephoneAddress" minOccurs="0"/> + <xs:element ref="p:InternetAddress" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="zuseType"> + <xs:sequence> + <xs:element name="edID" type="xs:token" minOccurs="0"/> + <xs:element name="ZUSEUrlID" type="xs:string"/> + <xs:element name="MIMETypes" type="xs:string"/> + <xs:element name="X509" type="xs:base64Binary" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + <!-- Antwort auf Pushrequest--> + <xs:element name="PushResponse" type="PushResponseType"/> + <xs:complexType name="PushResponseType"> + <xs:choice> + <xs:element name="Success"> + <xs:complexType> + <xs:complexContent> + <xs:restriction base="xs:anyType"/> + </xs:complexContent> + </xs:complexType> + </xs:element> + <xs:element name="Error"> + <xs:complexType> + <xs:choice> + <xs:sequence> + <xs:annotation> + <xs:documentation>Allgmeiner Fehler</xs:documentation> + </xs:annotation> + <xs:element name="Code" type="xs:positiveInteger"/> + <xs:element name="Info" type="xs:string"/> + </xs:sequence> + <xs:element name="FailedDN" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>Liste der fehlgeschlagenen DNs beim Updaten des Verzeichnisses</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="DN" type="xs:string"/> + <xs:element name="Info" type="xs:string"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:choice> + </xs:complexType> + </xs:element> + </xs:choice> + </xs:complexType> + <xs:element name="DeliveryAgents" type="DeliveryAgentsType"> + <xs:annotation> + <xs:documentation>The list of approved delivery agents</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="DeliveryAgentsType"> + <xs:annotation> + <xs:documentation>The list of approved delivery agents</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="DeliveryAgent" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element name="WebInterfaceURL"> + <xs:simpleType> + <xs:restriction base="xs:anyURI"> + <xs:minLength value="1"/> + <xs:whiteSpace value="collapse"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="WebServiceURL"> + <xs:simpleType> + <xs:restriction base="xs:anyURI"> + <xs:minLength value="1"/> + <xs:whiteSpace value="collapse"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="Directory"> + <xs:complexType> + <xs:sequence maxOccurs="unbounded"> + <xs:element name="Entry"> + <xs:complexType> + <xs:sequence> + <xs:element name="Identification" type="p:IdentificationType"/> + <xs:element ref="p:CorporateBody"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> +</xs:schema> diff --git a/src/main/resources/wsdl/zkopf/zkopf_mypersondata_en.xsd b/src/main/resources/wsdl/zkopf/zkopf_mypersondata_en.xsd new file mode 100644 index 0000000..c70325a --- /dev/null +++ b/src/main/resources/wsdl/zkopf/zkopf_mypersondata_en.xsd @@ -0,0 +1,379 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- edited with XMLSPY v2004 rel. 2 U (http://www.xmlspy.com) by Larissa Naber (Bundeskanzleramt) --> +<!-- edited with XML Spy v4.1 U (http://www.xmlspy.com) by Peter Reichstädter (CIO) --> +<!--Generisches Schema zum Speichern und Austauschen von Personendaten + (c) 2001-2002 Chief Information Office Austria, Stabsstelle IKT-Strategie des Bundes, BMÖLS + Kontakt: Peter Reichstädter (peter.reichstaedter@cio.gv.at), Arno Hollosi (arno.hollosi@cio.gv.at) + Die freie Verwendung dieses Schemas in Applikationen (behördenintern, kommerziell, privat) ist erlaubt und erwünscht. +--> +<?xml-stylesheet type="text/xsl" href="getelementnames.xslt"?> +<xs:schema targetNamespace="http://reference.e-government.gv.at/namespace/persondata/en/20040201#" xmlns="http://reference.e-government.gv.at/namespace/persondata/en/20040201#" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0.0"> + <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="W3C-XMLDSig.xsd"/> + <xs:annotation> + <xs:documentation>This version of person deploys only global elements. All types derived from abstract types have been replaced by substitution groups</xs:documentation> + </xs:annotation> + <!-- ### signed structure of a person ### --> + <xs:element name="AbstractPersonData" type="AbstractPersonType"> + <xs:annotation> + <xs:documentation>dummy abstract Peson Data element needed for bi-lingual schema (substitution groups)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="PersonData" type="PersonDataType" substitutionGroup="AbstractPersonData"> + <xs:annotation> + <xs:documentation>element of signed person datastructure type</xs:documentation> + </xs:annotation> + </xs:element> + <!-- ### base type for person data ### --> + <xs:element name="Person" type="AbstractPersonType"/> + <!-- ### physical person and corporate body ### --> + <xs:element name="PhysicalPerson" type="PhysicalPersonType" substitutionGroup="Person"> + <xs:annotation> + <xs:documentation>element of physical person type, dreived from Person (abstract)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="CorporateBody" type="CorporateBodyType" substitutionGroup="Person"> + <xs:annotation> + <xs:documentation>element of corporate body type, derived from Person</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Name" type="PersonNameType"> + <xs:annotation> + <xs:documentation>data related to the person's name</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="DateOfBirth" type="DateOfBirthType"> + <xs:annotation> + <xs:documentation>date of birth, compare Geburtsdatum</xs:documentation> + </xs:annotation> + </xs:element> + <!-- ### adress data for various types of communications ### --> + <xs:element name="Address" type="AbstractAddressType"/> + <xs:element name="PostalAddress" type="PostalAddressType" substitutionGroup="Address"> + <xs:annotation> + <xs:documentation>Postal or ZMR Address, compare PostAdresse</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="InternetAddress" type="InternetAddressType" substitutionGroup="Address"> + <xs:annotation> + <xs:documentation>element of internet address type</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="TelephoneAddress" type="TelephoneAddressType" substitutionGroup="Address"> + <xs:annotation> + <xs:documentation>element of TelephoneAddressType, compare TelefonAdresse</xs:documentation> + </xs:annotation> + </xs:element> + <!-- ### Identification elements ###--> + <xs:element name="AbstractSimpleIdentification" type="xs:string"/> + <xs:element name="OID" type="xs:string" substitutionGroup="AbstractSimpleIdentification"/> + <xs:element name="NatPErgaenzungsRegisterZahl" type="xs:string" substitutionGroup="AbstractSimpleIdentification"/> + <xs:element name="NichtNatPErgaenzungsRegisterZahl" type="xs:string" substitutionGroup="AbstractSimpleIdentification"/> + <xs:element name="VereinsRegisterZahl" type="xs:string" substitutionGroup="AbstractSimpleIdentification"/> + <xs:element name="FirmenbuchNummer" type="xs:string" substitutionGroup="AbstractSimpleIdentification"/> + <!--### elements of simple type ####--> + <xs:element name="FormattedNumber" type="xs:string"> + <xs:annotation> + <xs:documentation>Complete Number ready formated, comapre FormatierteNummer</xs:documentation> + </xs:annotation> + </xs:element> + <!--### Complex types ###--> + <xs:complexType name="PersonDataType"> + <xs:annotation> + <xs:documentation>signed person datastructure. The first Identification elements (from the base type) denote the record as such (e.g. database key for this record) - not to be mistaken for identifiers of the person or of an address (they have their own Identification elements).</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="AbstractPersonType"> + <xs:sequence> + <xs:element ref="Person"/> + <xs:element ref="Address" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="IdentificationType"> + <xs:annotation> + <xs:documentation>unique identifier</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="Value"> + <xs:annotation> + <xs:documentation>actual value of the identifier.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="Id" type="xs:ID" use="optional"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Type" type="xs:anyURI"> + <xs:annotation> + <xs:documentation>type of value (eg 'ZMR', 'SV-Nummer', 'Martrikelnummer', database identification, ...)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Authority" type="xs:anyURI" minOccurs="0"> + <xs:annotation> + <xs:documentation>authority, which is reponsible for generation of the identifier (eg university in case of 'MatrikelNummer')</xs:documentation> + </xs:annotation> + </xs:element> + <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>any additional properties</xs:documentation> + </xs:annotation> + </xs:any> + </xs:sequence> + <xs:attribute name="Id" type="xs:ID" use="optional"/> + <xs:anyAttribute namespace="##other"/> + </xs:complexType> + <xs:complexType name="AbstractPersonType"> + <xs:annotation> + <xs:documentation>main structure of person data</xs:documentation> + </xs:annotation> + <xs:choice minOccurs="0"> + <xs:element ref="AbstractSimpleIdentification" minOccurs="0"/> + </xs:choice> + <xs:attribute name="Id" type="xs:ID" use="optional"/> + <xs:anyAttribute namespace="##other"/> + </xs:complexType> + <xs:complexType name="PhysicalPersonType"> + <xs:annotation> + <xs:documentation>physical person</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="AbstractPersonType"> + <xs:sequence minOccurs="0"> + <xs:element ref="Name"/> + <xs:element ref="DateOfBirth" minOccurs="0"/> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="PersonNameType"> + <xs:sequence> + <xs:element name="GivenName" type="xs:string"/> + <xs:element name="FamilyName"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="primary" default="undefined"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="true"/> + <xs:enumeration value="false"/> + <xs:enumeration value="undefined"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="prefix" type="xs:string"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="Affix" minOccurs="0" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>Inlcudes all Information that is not exactly a name: academic or aristocratic titles, ... the new position attribute can contain a suffx or prefix value</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="type" use="required"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="academicGrade"/> + <xs:enumeration value="aristocraticPrefix"/> + <xs:enumeration value="aristocraticTitle"/> + <xs:enumeration value="familyNamePrefix"/> + <xs:enumeration value="familyNameSuffix"/> + <xs:enumeration value="formOfAddress"/> + <xs:enumeration value="generation"/> + <xs:enumeration value="qualification"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="position" use="optional"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="prefix"/> + <xs:enumeration value="suffix"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="CorporateBodyType"> + <xs:annotation> + <xs:documentation>juridical person, organisation</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="AbstractPersonType"> + <xs:sequence minOccurs="0"> + <xs:element name="FullName" type="xs:token"> + <xs:annotation> + <xs:documentation>name of corporate body (whole name), compare VollerName</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Organization" type="xs:token" minOccurs="0"> + <xs:annotation> + <xs:documentation>part of an organisation, see also X.500 ou (eg departement, section, branch, ...) , compare Organisation</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="AbstractAddressType"> + <xs:annotation> + <xs:documentation>main structure of address data</xs:documentation> + </xs:annotation> + <xs:attribute name="Id" type="xs:ID" use="optional"/> + <xs:anyAttribute namespace="##other"/> + </xs:complexType> + <xs:complexType name="PostalAddressType"> + <xs:complexContent> + <xs:extension base="AbstractAddressType"> + <xs:sequence> + <xs:element name="CountryCode" minOccurs="0"> + <xs:annotation> + <xs:documentation>Code for the country, use ISO or internatinal Postalstandard, compare Staatscode</xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:pattern value="[A-Z]{2}"/> + </xs:restriction> + </xs:simpleType> + </xs:element> + <xs:element name="PostalCode" type="xs:string"> + <xs:annotation> + <xs:documentation>ZIP, compare Postleitzahl</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Municipality" type="xs:string"> + <xs:annotation> + <xs:documentation>compare Gemeinde</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="MunicipalityNumber" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation>compare Gemeindekennzahl</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="DeliveryAddress"> + <xs:complexType> + <xs:sequence> + <xs:element name="StreetName" type="xs:string"/> + <xs:element name="BuildingNumber" type="xs:string"/> + <xs:element name="Unit" type="xs:string" minOccurs="0"/> + <xs:element name="DoorNumber" type="xs:string" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="type" default="undefined"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="postOfficeBoxAddress"/> + <xs:enumeration value="streetAddress"/> + <xs:enumeration value="militaryAddress"/> + <xs:enumeration value="undefined"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="TelcomNumberType"> + <xs:choice> + <xs:element ref="FormattedNumber"/> + </xs:choice> + </xs:complexType> + <xs:complexType name="InternetAddressType"> + <xs:annotation> + <xs:documentation>internet based communication</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="AbstractAddressType"> + <xs:sequence minOccurs="0"> + <xs:element ref="dsig:KeyInfo" minOccurs="0"> + <xs:annotation> + <xs:documentation>certificate for secure communication</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Address" type="xs:anyURI"> + <xs:annotation> + <xs:documentation>URI: email-Address, Web, FTP, LDAP, ..., comapre Adress</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="TelephoneAddressType"> + <xs:annotation> + <xs:documentation>phone numbers</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="AbstractAddressType"> + <xs:sequence minOccurs="0"> + <xs:element name="Number" type="TelcomNumberType"> + <xs:annotation> + <xs:documentation>phonenumber</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <!-- ### strings of defined maximum lenght for use with ZMR address #### --> + <xs:simpleType name="DateOfBirthType"> + <xs:annotation> + <xs:documentation>simple type for dates (union), which may omit day and/or month</xs:documentation> + </xs:annotation> + <xs:union memberTypes="xs:date xs:gYearMonth xs:gYear"/> + </xs:simpleType> + <xs:simpleType name="string3"> + <xs:restriction base="xs:string"> + <xs:maxLength value="3"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="string4"> + <xs:restriction base="xs:string"> + <xs:maxLength value="4"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="string7"> + <xs:restriction base="xs:string"> + <xs:maxLength value="7"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="string20"> + <xs:restriction base="xs:string"> + <xs:maxLength value="20"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="string30"> + <xs:restriction base="xs:string"> + <xs:maxLength value="30"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="string50"> + <xs:restriction base="xs:string"> + <xs:maxLength value="50"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="string100"> + <xs:restriction base="xs:string"> + <xs:maxLength value="100"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="integer5"> + <xs:restriction base="xs:integer"> + <xs:minInclusive value="10000"/> + <xs:maxInclusive value="99999"/> + </xs:restriction> + </xs:simpleType> +</xs:schema> diff --git a/src/main/resources/wsdl/zkopf/zuserech.wsdl b/src/main/resources/wsdl/zkopf/zuserech.wsdl new file mode 100644 index 0000000..1036dc7 --- /dev/null +++ b/src/main/resources/wsdl/zkopf/zuserech.wsdl @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?> +<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" + xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" + xmlns:tns="http://reference.e-government.gv.at/namespaces/zustellung/rech/wsdl" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:rech="http://reference.e-government.gv.at/namespaces/zustellung/rech" + name="rech" + targetNamespace="http://reference.e-government.gv.at/namespaces/zustellung/rech/wsdl"> + + <import location="zuserech.xsd" namespace="http://reference.e-government.gv.at/namespaces/zustellung/rech"/> + + <message name="ClearingRequest"> + <part name="ClearingRequest" element="rech:ClearingRequest"/> + </message> + <message name="ClearingResponse"> + <part name="ClearingResponse" element="rech:ClearingResponse"/> + </message> + <message name="ValidateTokenRequest"> + <part name="ValidateTokenRequest" element="rech:ValidateTokenRequest"/> + </message> + <message name="ValidateTokenResponse"> + <part name="ValidateTokenResponse" element="rech:ValidateTokenResponse"/> + </message> + <portType name="ClearingPortType"> + <operation name="ClearingOperation"> + <input message="tns:ClearingRequest"/> + <output message="tns:ClearingResponse"/> + </operation> + </portType> + <portType name="ValidateTokenPortType"> + <operation name="ValidateTokenOperation"> + <input message="tns:ValidateTokenRequest"/> + <output message="tns:ValidateTokenResponse"/> + </operation> + </portType> + <binding name="ClearingBinding" type="tns:ClearingPortType"> + <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="ClearingOperation"> + <soap:operation soapAction="tns:ClearingPortType#ClearingOperation" style="document"/> + <input> + <soap:body use="literal"/> + </input> + <output> + <soap:body use="literal"/> + </output> + </operation> + </binding> + <binding name="ValidateTokenBinding" type="tns:ValidateTokenPortType"> + <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + <operation name="ValidateTokenOperation"> + <soap:operation soapAction="tns:ValidateTokenPortType#ValidateTokenOperation" style="document"/> + <input> + <soap:body use="literal"/> + </input> + <output> + <soap:body use="literal"/> + </output> + </operation> + </binding> + <service name="ClearingService"> + <port name="ClearingPort" binding="tns:ClearingBinding"> + <soap:address location="http://localhost:8080/rech/ClearingService"/> + </port> + </service> + <service name="ValidateTokenService"> + <port name="ValidateTokenPort" binding="tns:ValidateTokenBinding"> + <soap:address location="http://localhost:8080/rech/ValidateTokenService"/> + </port> + </service> +</definitions> diff --git a/src/main/resources/wsdl/zkopf/zuserech.xsd b/src/main/resources/wsdl/zkopf/zuserech.xsd new file mode 100644 index 0000000..febc83d --- /dev/null +++ b/src/main/resources/wsdl/zkopf/zuserech.xsd @@ -0,0 +1,98 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- edited with XMLSpy v2006 sp2 U (http://www.altova.com) by Arne Tauber (Technische Universität Graz) --> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://reference.e-government.gv.at/namespaces/zustellung/rech" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://reference.e-government.gv.at/namespaces/zustellung/rech" elementFormDefault="qualified" attributeFormDefault="unqualified"> + <xs:element name="ClearingRequest" type="ClearingRequestType"/> + <xs:element name="ClearingResponse" type="ClearingResponseType"/> + <xs:complexType name="X509IssuerSerialType"> + <xs:sequence> + <xs:element name="X509IssuerName" type="xs:string"/> + <xs:element name="X509SerialNumber" type="xs:long"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ClearingRequestType"> + <xs:sequence> + <xs:element name="ClearingEntry" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element name="X509IssuerSerial" type="X509IssuerSerialType"/> + <xs:element name="Token" type="xs:token"/> + <xs:element name="DeliveryQuality" type="xs:token"/> + <xs:element name="PaperNotification" type="xs:boolean"/> + <xs:element name="Private" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="Price" type="xs:decimal"/> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="ID" type="xs:token" use="required"/> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="version" type="xs:positiveInteger"/> + </xs:complexType> + <xs:complexType name="ErrorType"> + <xs:sequence> + <xs:element name="Info" type="xs:string"/> + <xs:element name="Code" type="xs:positiveInteger"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ClearingResponseType"> + <xs:choice> + <xs:element name="Error" type="ErrorType"/> + <xs:sequence> + <xs:element name="ClearingEntry" maxOccurs="unbounded"> + <xs:complexType> + <xs:choice> + <xs:element name="Success"> + <xs:complexType> + <xs:complexContent> + <xs:restriction base="xs:anyType"/> + </xs:complexContent> + </xs:complexType> + </xs:element> + <xs:element name="Error" type="ErrorType"/> + </xs:choice> + <xs:attribute name="ID" type="xs:token" use="required"/> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:choice> + </xs:complexType> + <xs:element name="ValidateTokenRequest" type="ValidateTokenRequestType"/> + <xs:element name="ValidateTokenResponse" type="ValidateTokenResponseType"/> + <xs:complexType name="ValidateTokenRequestType"> + <xs:sequence> + <xs:element name="TokenEntry" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element name="X509IssuerSerial" type="X509IssuerSerialType"/> + <xs:element name="Token" type="xs:token"/> + </xs:sequence> + <xs:attribute name="ID" type="xs:token" use="required"/> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="version" type="xs:positiveInteger"/> + </xs:complexType> + <xs:complexType name="ValidateTokenResponseType"> + <xs:sequence> + <xs:element name="TokenEntry" maxOccurs="unbounded"> + <xs:complexType> + <xs:choice> + <xs:element name="Success"> + <xs:complexType> + <xs:complexContent> + <xs:restriction base="xs:anyType"/> + </xs:complexContent> + </xs:complexType> + </xs:element> + <xs:element name="Error" type="ErrorType"/> + </xs:choice> + <xs:attribute name="ID" type="xs:token" use="required"/> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> +</xs:schema> |