diff --git a/pom.xml b/pom.xml index 4b455ce2ebd11ae786081829c84d85b9e282f8a3..18930c4589104a671d8188f985ee19d29c3c5f73 100644 --- a/pom.xml +++ b/pom.xml @@ -1,56 +1,218 @@ <?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>de.ozgcloud.xta</groupId> - <artifactId>xta-client-lib</artifactId> - <version>0.1.0-SNAPSHOT</version> - - <properties> - <maven.compiler.source>21</maven.compiler.source> - <maven.compiler.target>21</maven.compiler.target> - <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - </properties> - - <profiles> - <!-- Deployment Profiles --> - <profile> - <id>artifactory-deploy</id> - <activation> - <activeByDefault>false</activeByDefault> - </activation> - <distributionManagement> - <repository> - <id>artifactory</id> - <name>artifactory</name> - <url>${env.DATAPORT_ARTIFACTORY_URL}</url> - </repository> - <snapshotRepository> - <id>artifactory-snapshots</id> - <name>artifactory-snapshots</name> - <url>${env.DATAPORT_ARTIFACTORY_URL}</url> - </snapshotRepository> - </distributionManagement> - </profile> - <profile> - <id>nexus-deploy</id> - <activation> - <activeByDefault>false</activeByDefault> - </activation> - <distributionManagement> - <repository> - <id>ozg-nexus</id> - <name>ozg-releases</name> - <url>https://nexus.ozg-sh.de/repository/ozg-releases/</url> - </repository> - <snapshotRepository> - <id>ozg-snapshots-nexus</id> - <name>ozg-snapshots</name> - <url>https://nexus.ozg-sh.de/repository/ozg-snapshots/</url> - </snapshotRepository> - </distributionManagement> - </profile> - </profiles> + 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> + <parent> + <groupId>de.ozgcloud.common</groupId> + <artifactId>ozgcloud-common-parent</artifactId> + <version>4.3.0</version> + <relativePath /> + </parent> + <groupId>de.ozgcloud.xta</groupId> + <artifactId>xta-client-lib</artifactId> + <version>2.10.0-SNAPSHOT</version> + + <properties> + + <!-- build versions --> + <cxf.version>4.0.3</cxf.version> +<!-- <cxf-xjc.version>4.0.0</cxf-xjc.version>--> + + <!-- Build settings --> + <timestamp>${maven.build.timestamp}</timestamp> + <maven.build.timestamp.format>yyyy-MM-dd'T'HHmmss</maven.build.timestamp.format> + + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> + </properties> + + <dependencies> + + <dependency> + <groupId>org.projectlombok</groupId> + <artifactId>lombok</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-core</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.assertj</groupId> + <artifactId>assertj-core</artifactId> + <scope>test</scope> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + <configuration> + <profiles>local,sec</profiles> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-failsafe-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.jacoco</groupId> + <artifactId>jacoco-maven-plugin</artifactId> + </plugin> + <plugin> + <groupId>pl.project13.maven</groupId> + <artifactId>git-commit-id-plugin</artifactId> + </plugin> + + <plugin> + <groupId>org.apache.cxf</groupId> + <artifactId>cxf-codegen-plugin</artifactId> + <version>${cxf.version}</version> + <configuration> + <defaultOptions> + <noAddressBinding>true</noAddressBinding> + </defaultOptions> + <sourceRoot>${project.build.directory}/cxf</sourceRoot> + <wsdlOptions> + <wsdlOption> + <wsdl> + ${project.basedir}/src/main/resources/wsdl/XTA.wsdl + </wsdl> + <wsdlLocation>classpath:wsdl/XTA.wsdl</wsdlLocation> + <markGenerated>true</markGenerated> + <extraargs> + <!--- Map XTA namespaces to their respective package in java --> + <extraarg>-p</extraarg> + <extraarg> + http://www.w3.org/2004/06/xmlmime=genv3.org.w3.x2004.x06.xmlmime + </extraarg> + <extraarg>-p</extraarg> + <extraarg> + http://xoev.de/transport/xta/211=genv3.de.xoev.transport.xta.x211 + </extraarg> + <extraarg>-p</extraarg> + <extraarg> + http://xoev.de/schemata/basisdatentypen/1_1=genv3.de.xoev.schemata.basisdatentypen.x11 + </extraarg> + <extraarg>-p</extraarg> + <extraarg> + http://www.osci.eu/ws/2008/05/transport=genv3.eu.osci.ws.x2008.x05.transport + </extraarg> + <extraarg>-p</extraarg> + <extraarg> + http://www.osci.eu/ws/2014/10/transport=genv3.eu.osci.ws.x2014.x10.transport + </extraarg> + <extraarg>-p</extraarg> + <extraarg> + http://www.w3.org/2003/05/soap-envelope=genv3.org.w3.x2003.x05.soapEnvelope + </extraarg> + + <!-- exclude not needed schemas to generate --> + <extraarg>-nexclude</extraarg> + <extraarg> + http://schemas.xmlsoap.org/soap/encoding/ + </extraarg> + + <!-- Use cxf provided schemas where available + and exclude from generation --> + <extraarg>-nexclude</extraarg> + <extraarg> + http://www.w3.org/2000/09/xmldsig#=org.apache.cxf.xkms.model.xmldsig + </extraarg> + <extraarg>-nexclude</extraarg> + <extraarg> + http://www.w3.org/2001/04/xmlenc#=org.apache.cxf.xkms.model.xmlenc + </extraarg> + <extraarg>-nexclude</extraarg> + <extraarg> + http://www.w3.org/2005/08/addressing=org.apache.cxf.ws.addressing + </extraarg> + <extraarg>-nexclude</extraarg> + <extraarg> + http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd + </extraarg> + <extraarg>-nexclude</extraarg> + <extraarg> + http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd=org.apache.cxf.ws.security.sts.provider.model.utility + </extraarg> + <extraarg>-nexclude</extraarg> + <extraarg> + http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd=org.apache.cxf.ws.security.sts.provider.model.secext + </extraarg> + <extraarg>-nexclude</extraarg> + <extraarg> + http://www.w3.org/ns/ws-policy=org.apache.cxf.ws.policy.v200607 + </extraarg> + <!--- Do verbose output --> + <extraarg>-verbose</extraarg> + <!--- Generate sample implementation classes --> + <!-- <extraarg>-impl</extraarg> --> + <!--- Enable header processing even if not defined in port secion of wsdl --> + <extraarg>-exsh</extraarg> + <extraarg>true</extraarg> + <!--- Generate a default to String method in each class --> + <extraarg>-xjc-Xts</extraarg> + <!--- Enable default values on classes if they exist --> + <extraarg>-xjc-Xdv:optional</extraarg> + </extraargs> + </wsdlOption> + </wsdlOptions> + </configuration> + </plugin> + </plugins> + </build> + + <profiles> + <!-- Deployment Profiles --> + <profile> + <id>artifactory-deploy</id> + <activation> + <activeByDefault>false</activeByDefault> + </activation> + <distributionManagement> + <repository> + <id>artifactory</id> + <name>artifactory</name> + <url>${env.DATAPORT_ARTIFACTORY_URL}</url> + </repository> + <snapshotRepository> + <id>artifactory-snapshots</id> + <name>artifactory-snapshots</name> + <url>${env.DATAPORT_ARTIFACTORY_URL}</url> + </snapshotRepository> + </distributionManagement> + </profile> + <profile> + <id>nexus-deploy</id> + <activation> + <activeByDefault>false</activeByDefault> + </activation> + <distributionManagement> + <repository> + <id>ozg-nexus</id> + <name>ozg-releases</name> + <url>https://nexus.ozg-sh.de/repository/ozg-releases/</url> + </repository> + <snapshotRepository> + <id>ozg-snapshots-nexus</id> + <name>ozg-snapshots</name> + <url>https://nexus.ozg-sh.de/repository/ozg-snapshots/</url> + </snapshotRepository> + </distributionManagement> + </profile> + </profiles> + + </project> \ No newline at end of file diff --git a/src/main/resources/wsdl/.xsd b/src/main/resources/wsdl/.xsd new file mode 100644 index 0000000000000000000000000000000000000000..80e31b80be78fe99b3c67dbde8a2172c94318381 --- /dev/null +++ b/src/main/resources/wsdl/.xsd @@ -0,0 +1,122 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--Schema defined in the SOAP Version 1.2 Part 1 specification + Recommendation: + http://www.w3.org/TR/2003/REC-soap12-part1-20030624/ + $Id: soap-envelope.xsd,v 1.2 2006/12/20 20:43:36 ylafon Exp $ + + Copyright (C)2003 W3C(R) (MIT, ERCIM, Keio), All Rights Reserved. + W3C viability, trademark, document use and software licensing rules + apply. + 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--><xs:schema targetNamespace="http://www.w3.org/2003/05/soap-envelope" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.w3.org/2003/05/soap-envelope"> + <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/> + <!--Envelope, header and body--> + <xs:element name="Envelope" type="tns:Envelope"/> + <xs:complexType name="Envelope"> + <xs:sequence> + <xs:element ref="tns:Header" minOccurs="0"/> + <xs:element ref="tns:Body" minOccurs="1"/> + </xs:sequence> + <xs:anyAttribute namespace="##other" processContents="lax"/> + </xs:complexType> + <xs:element name="Header" type="tns:Header"/> + <xs:complexType name="Header"> + <xs:annotation> + <xs:documentation>Elements replacing the wildcard MUST be namespace qualified, but can be in the targetNamespace</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + <xs:anyAttribute namespace="##other" processContents="lax"/> + </xs:complexType> + <xs:element name="Body" type="tns:Body"/> + <xs:complexType name="Body"> + <xs:sequence> + <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + <xs:anyAttribute namespace="##other" processContents="lax"/> + </xs:complexType> + <!--Global Attributes. The following attributes are intended to be + usable via qualified attribute names on any complex type referencing + them.--> + <xs:attribute name="mustUnderstand" type="xs:boolean" default="0"/> + <xs:attribute name="relay" type="xs:boolean" default="0"/> + <xs:attribute name="role" type="xs:anyURI"/> + <!--'encodingStyle' indicates any canonicalization conventions + followed in the contents of the containing element. For example, the + value 'http://www.w3.org/2003/05/soap-encoding' indicates the pattern + described in the SOAP Version 1.2 Part 2: Adjuncts Recommendation--> + <xs:attribute name="encodingStyle" type="xs:anyURI"/> + <xs:element name="Fault" type="tns:Fault"/> + <xs:complexType name="Fault" final="extension"> + <xs:annotation> + <xs:documentation>Fault reporting structure</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="Code" type="tns:faultcode"/> + <xs:element name="Reason" type="tns:faultreason"/> + <xs:element name="Node" type="xs:anyURI" minOccurs="0"/> + <xs:element name="Role" type="xs:anyURI" minOccurs="0"/> + <xs:element name="Detail" type="tns:detail" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="faultreason"> + <xs:sequence> + <xs:element name="Text" type="tns:reasontext" minOccurs="1" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="reasontext"> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute ref="xml:lang" use="required"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <xs:complexType name="faultcode"> + <xs:sequence> + <xs:element name="Value" type="tns:faultcodeEnum"/> + <xs:element name="Subcode" type="tns:subcode" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="faultcodeEnum"> + <xs:restriction base="xs:QName"> + <xs:enumeration value="tns:DataEncodingUnknown"/> + <xs:enumeration value="tns:MustUnderstand"/> + <xs:enumeration value="tns:Receiver"/> + <xs:enumeration value="tns:Sender"/> + <xs:enumeration value="tns:VersionMismatch"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="subcode"> + <xs:sequence> + <xs:element name="Value" type="xs:QName"/> + <xs:element name="Subcode" type="tns:subcode" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="detail"> + <xs:sequence> + <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + <xs:anyAttribute namespace="##other" processContents="lax"/> + </xs:complexType> + <!--Global element declaration and complex type definition for header entry returned due to a mustUnderstand fault--> + <xs:element name="NotUnderstood" type="tns:NotUnderstoodType"/> + <xs:complexType name="NotUnderstoodType"> + <xs:attribute name="qname" type="xs:QName" use="required"/> + </xs:complexType> + <!--Global element and associated types for managing version transition as described in Appendix A of the SOAP Version 1.2 Part 1 Recommendation--> + <xs:complexType name="SupportedEnvType"> + <xs:attribute name="qname" type="xs:QName" use="required"/> + </xs:complexType> + <xs:element name="Upgrade" type="tns:UpgradeType"/> + <xs:complexType name="UpgradeType"> + <xs:sequence> + <xs:element name="SupportedEnvelope" type="tns:SupportedEnvType" minOccurs="1" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> +</xs:schema> \ No newline at end of file diff --git a/src/main/resources/wsdl/OSCI2_02.xsd b/src/main/resources/wsdl/OSCI2_02.xsd new file mode 100644 index 0000000000000000000000000000000000000000..6172551b7454f68ea9e9f164bfd50241fce26539 --- /dev/null +++ b/src/main/resources/wsdl/OSCI2_02.xsd @@ -0,0 +1,327 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema targetNamespace="http://www.osci.eu/ws/2008/05/transport" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:osci="http://www.osci.eu/ws/2008/05/transport" xmlns:oscimeta="http://www.osci.eu/ws/2014/10/transport" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:s12="http://www.w3.org/2003/05/soap-envelope" xmlns:wsp="http://www.w3.org/ns/ws-policy"> + <!--OSCI Transport Version 2.02 schema - last edited 2015-01-23--> + <!--OSCI Transport 2.02 schema extended by metadata header for OSCI2.0, according modification for MsgBoxStatusList; MsgBoxFetchRequest attributed for reqeuesting whole envelope, headers of body of original message only--> + <!--xs:import namespace="http://www.osci.eu/ws/2014/10/transport" schemaLocation="http://www.osci.eu/ws/2014/10/transport/OSCI21_MessageMetaData_V2.02.xsd"/--> + <xs:import namespace="http://www.osci.eu/ws/2014/10/transport" schemaLocation="OSCI_MessageMetaData_V2.02.xsd"/> + <xs:import namespace="http://www.w3.org/ns/ws-policy" schemaLocation="ws-policy.xsd"/> + <xs:import namespace="http://www.w3.org/2005/08/addressing" schemaLocation="ws-addr.xsd"/> + <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/> + <xs:import namespace="http://www.w3.org/2003/05/soap-envelope" schemaLocation=".xsd"/> + <xs:import namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" schemaLocation="oasis-200401-wss-wssecurity-utility-1.0.xsd"/> + <!--WSA-Extension: BusinessScenarioType--> + <xs:complexType name="TypeOfBusinessScenarioType"> + <xs:simpleContent> + <xs:extension base="xs:anyURI"> + <xs:attribute ref="wsa:IsReferenceParameter" use="optional"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <xs:element name="TypeOfBusinessScenario" type="osci:TypeOfBusinessScenarioType"/> + <!--General header-part of OSCI messages: timestamps--> + <xs:complexType name="MsgTimeStampsType"> + <xs:sequence> + <xs:element name="ObsoleteAfter" type="xs:date" minOccurs="0"> + <xs:annotation> + <xs:documentation>Date, when this message is obsolete; may be set by Initiator</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Delivery" type="xs:dateTime" minOccurs="0"> + <xs:annotation> + <xs:documentation>Time of entry in a Recipient MsgBox</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="InitialFetch" type="xs:dateTime" minOccurs="0"> + <xs:annotation> + <xs:documentation>Time of first comitted fetch from MsgBox by the Recipient</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Reception" type="xs:dateTime" minOccurs="0"> + <xs:annotation> + <xs:documentation>Reception Time set by the Recipient</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="MsgTimeStamps" type="osci:MsgTimeStampsType"/> + <!--Types and Elements for MsgBox request/responses--> + <xs:annotation> + <xs:documentation>Template for MsgBox-Requests</xs:documentation> + </xs:annotation> + <xs:complexType name="MsgBoxRequestType"> + <xs:sequence> + <xs:element ref="osci:MsgSelector" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + <xs:simpleType name="MsgBoxReasonEnum"> + <xs:restriction base="xs:anyURI"> + <xs:enumeration value="http://www.osci.eu/ws/2008/05/transport/MsgBox/reasons/NoMatch"/> + <xs:enumeration value="http://www.osci.eu/ws/2008/05/transport/MsgBox/reasons/SearchArgsInvalid"/> + <xs:enumeration value="http://www.osci.eu/ws/2008/05/transport/MsgBox/reasons/RequestIdInvalid"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="MsgBoxReasonOpenEnum"> + <xs:union memberTypes="osci:MsgBoxReasonEnum xs:anyURI"/> + </xs:simpleType> + <xs:complexType name="MsgBoxResponseType"> + <xs:choice> + <xs:element name="NoMessageAvailable"> + <xs:complexType> + <xs:attribute name="reason" type="osci:MsgBoxReasonOpenEnum" use="required"/> + </xs:complexType> + </xs:element> + <xs:element name="ItemsPending" type="xs:nonNegativeInteger"/> + </xs:choice> + <xs:attribute name="MsgBoxRequestID" type="xs:anyURI" use="required"/> + </xs:complexType> + <xs:complexType name="MsgAttributeListType"> + <xs:sequence> + <xs:element ref="wsa:MessageID"/> + <xs:element ref="wsa:RelatesTo" minOccurs="0" maxOccurs="unbounded"/> + <xs:element ref="wsa:From" minOccurs="0"/> + <xs:element ref="osci:TypeOfBusinessScenario"/> + <xs:element name="MsgSize" type="xs:int"/> + <!--xs:element ref="osci:MsgTimeStamps"/--> + <xs:element name="ObsoleteAfterDate" type="xs:date" minOccurs="0"/> + <xs:element name="DeliveryTime" type="xs:dateTime"/> + <xs:element name="InitialFetchedTime" type="xs:dateTime" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + <xs:attribute name="MsgBoxRequestID" type="xs:anyURI"/> + <xs:element name="MsgSelector"> + <xs:complexType> + <xs:sequence minOccurs="0"> + <xs:element ref="wsa:MessageID" minOccurs="0" maxOccurs="unbounded"/> + <xs:element ref="wsa:RelatesTo" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="MsgBoxEntryTimeFrom" type="xs:dateTime" minOccurs="0"/> + <xs:element name="MsgBoxEntryTimeTo" type="xs:dateTime" minOccurs="0"/> + <xs:element name="Extension" type="xs:anyType" minOccurs="0"/> + </xs:sequence> + <xs:attribute name="newEntry" type="xs:boolean"/> + </xs:complexType> + </xs:element> + <xs:element name="MsgStatusList" type="osci:MsgStatusListType"/> + <xs:complexType name="MsgStatusListType"> + <xs:sequence> + <xs:element name="MsgAttributes" type="osci:MsgAttributeListType" minOccurs="0" maxOccurs="unbounded"/> + <xs:element ref="oscimeta:MessageMetaData" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + <xs:element name="MsgBoxFetchRequest"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="osci:MsgBoxRequestType"> + <xs:attribute name="MsgPart" default="Envelope"> + <xs:simpleType> + <xs:restriction base="xs:NMTOKEN"> + <xs:enumeration value="Envelope"/> + <xs:enumeration value="Header"/> + <xs:enumeration value="Body"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + <xs:element name="MsgBoxStatusListRequest" type="osci:MsgBoxStatusListRequestType"/> + <xs:complexType name="MsgBoxStatusListRequestType"> + <xs:complexContent> + <xs:extension base="osci:MsgBoxRequestType"> + <xs:attribute name="maxListItems" type="xs:positiveInteger"/> + <xs:attribute name="ListForm"> + <xs:simpleType> + <xs:restriction base="xs:NMTOKEN"> + <xs:enumeration value="MsgAtrributes"/> + <xs:enumeration value="MessageMetaData"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:element name="MsgBoxResponse" type="osci:MsgBoxResponseType"/> + <xs:element name="MsgBoxGetNextRequest" type="osci:MsgBoxGetNextRequestType"/> + <xs:complexType name="MsgBoxGetNextRequestType"> + <xs:sequence minOccurs="0"> + <xs:element name="LastMsgReceived" type="wsa:AttributedURIType" maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute name="MsgBoxRequestID" type="xs:anyURI" use="required"/> + </xs:complexType> + <xs:element name="MsgBoxCloseRequest" type="osci:MsgBoxCloseRequestType"/> + <xs:complexType name="MsgBoxCloseRequestType"> + <xs:sequence minOccurs="0"> + <xs:element name="LastMsgReceived" type="wsa:AttributedURIType" maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute name="MsgBoxRequestID" type="xs:anyURI" use="required"/> + </xs:complexType> + <!--Types and Elements for Receipt- and Notification Handling--> + <xs:attribute name="qualTSPForReceipt" type="xs:boolean" default="false"/> + <xs:attribute name="echoRequest" type="xs:boolean" default="false"/> + <xs:complexType name="ReceiptDemandType"> + <xs:sequence> + <xs:element ref="wsa:ReplyTo"/> + </xs:sequence> + <xs:attribute name="qualTSPForReceipt" type="xs:boolean" default="false"/> + <xs:attribute name="echoRequest" type="xs:boolean" default="false"/> + </xs:complexType> + <xs:element name="DeliveryReceiptDemand" type="osci:DeliveryReceiptDemandType"/> + <xs:element name="ReceptionReceiptDemand" type="osci:ReceptionReceiptDemandType"/> + <xs:element name="ReceiptInfo" type="osci:ReceiptInfoType"/> + <xs:complexType name="ReceiptInfoType"> + <xs:sequence> + <xs:element ref="wsa:MessageID"/> + <xs:element ref="osci:MsgTimeStamps"/> + <xs:element ref="wsa:RelatesTo" minOccurs="0" maxOccurs="unbounded"/> + <xs:element name="To" type="wsa:EndpointReferenceType"/> + <xs:element ref="wsa:From" minOccurs="0"/> + <xs:element ref="wsa:ReplyTo"/> + <xs:element name="RequestEcho" type="xs:base64Binary" minOccurs="0"/> + <xs:element ref="oscimeta:MessageMetaData" minOccurs="0"/> + </xs:sequence> + <xs:attribute name="Id" type="xs:ID" use="required"/> + <xs:attribute name="ReceiptIssuerRole" use="optional"> + <xs:simpleType> + <xs:restriction base="xs:anyURI"> + <xs:enumeration value="http://www.osci.eu/ws/2008/05/transport/role/MsgBox"/> + <xs:enumeration value="http://www.osci.eu/ws/2008/05/transport/role/Recipient"/> + <xs:enumeration value="http://www.osci.eu/ws/2008/05/transport/role/Sender "/> + <xs:enumeration value="http://www.osci.eu/ws/2008/05/transport/role/Relay "/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:complexType> + <xs:complexType name="DeliveryReceiptDemandType"> + <xs:complexContent> + <xs:restriction base="osci:ReceiptDemandType"> + <xs:sequence> + <xs:element ref="wsa:ReplyTo"/> + </xs:sequence> + </xs:restriction> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="ReceptionReceiptDemandType"> + <xs:complexContent> + <xs:restriction base="osci:ReceiptDemandType"> + <xs:sequence> + <xs:element ref="wsa:ReplyTo"/> + </xs:sequence> + </xs:restriction> + <!--xs:attribute ref="s12:role" fixed="http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"/--> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="DeliveryReceiptType"> + <xs:sequence> + <xs:element ref="osci:ReceiptInfo"/> + <xs:element ref="ds:Signature"/> + </xs:sequence> + </xs:complexType> + <xs:element name="DeliveryReceipt" type="osci:DeliveryReceiptType"/> + <xs:element name="SubmissionReceipt" type="osci:DeliveryReceiptType"/> + <xs:element name="RelayReceipt" type="osci:DeliveryReceiptType"/> + <xs:complexType name="ReceptionReceiptType"> + <xs:sequence> + <xs:element ref="osci:ReceiptInfo"/> + <xs:element ref="ds:Signature"/> + </xs:sequence> + </xs:complexType> + <xs:element name="ReceptionReceipt" type="osci:ReceptionReceiptType"/> + <xs:complexType name="FetchedNotificationDemandType"> + <xs:sequence> + <xs:element ref="wsa:ReplyTo"/> + </xs:sequence> + <xs:attribute ref="s12:role" default="http://www.osci.eu/ws/2008/05/transport/role/MsgBox"/> + </xs:complexType> + <xs:element name="FetchedNotificationDemand" type="osci:FetchedNotificationDemandType"/> + <xs:complexType name="FetchedNotificationType"> + <xs:sequence> + <xs:element name="FetchedTime" type="xs:dateTime"/> + <xs:element ref="wsa:MessageID"/> + <xs:element ref="wsa:To"/> + <xs:element ref="wsa:From"/> + </xs:sequence> + </xs:complexType> + <xs:element name="FetchedNotification" type="osci:FetchedNotificationType"/> + <!--Extentensions for Key usage context--> + <xs:complexType name="X509TokenContainerType"> + <xs:sequence maxOccurs="unbounded"> + <xs:element ref="osci:X509TokenInfo"/> + </xs:sequence> + <xs:attribute name="validateCompleted" type="xs:boolean" default="false"/> + </xs:complexType> + <xs:element name="X509TokenContainer" type="osci:X509TokenContainerType"/> + <xs:element name="X509TokenInfo"> + <xs:complexType> + <xs:sequence> + <xs:element ref="ds:X509Data"/> + <xs:element name="TokenApplication" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element name="TimeInstant" type="xs:dateTime"/> + <xs:element name="MsgItemRef" type="xs:IDREF" minOccurs="0"/> + </xs:sequence> + <xs:attribute name="validateResultRef" type="xs:IDREF"/> + <xs:attribute name="ocspNoCache" type="xs:boolean"/> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="validated" type="xs:boolean" default="false"/> + <xs:attribute name="Id" type="xs:ID" use="required"/> + <!--RFC 3280 for KeyUsage with Extentensions Attribute Certificate and usage for Authentication--> + </xs:complexType> + <!--OSCI Policy Asserstions--> + <!--Policy qualified Timestamp Servcie available--> + </xs:element> + <!--Poliy Assertion carrying Endpoints X509Certificates--> + <xs:element name="X509CertificateAssertion"> + <xs:complexType> + <xs:sequence> + <xs:element ref="wsp:All"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <!--Policy, when qualified TSP service can be requested from this node--> + <xs:element name="QualTspAssertion"> + <xs:complexType> + <xs:attribute name="PolicyRef" type="xs:anyURI"/> + </xs:complexType> + </xs:element> + <!--Policy if and how MsgTimeStamps:OsoleteAfter is handled--> + <xs:element name="ObsoleteAfterAssertion"> + <xs:complexType> + <xs:sequence> + <xs:element name="MsgRetainDays" type="xs:positiveInteger"/> + <xs:element name="WarningBeforeMsgObsolete" type="xs:positiveInteger" minOccurs="0"/> + </xs:sequence> + <xs:attribute name="PolicyRef" type="xs:anyURI"/> + </xs:complexType> + </xs:element> + <!--Poliy for MakeConnection: Response Retention Days--> + <xs:element name="MsgRetainDays" type="xs:positiveInteger"/> + <!--Enumeration for possible X509 Token Usages--> + <xs:attribute name="TokenUsage"> + <xs:simpleType> + <xs:restriction base="xs:anyURI"> + <xs:enumeration value="http://www.osci.eu/common/names/TokenUsage/e2eContentEncryption"/> + <xs:enumeration value="http://www.osci.eu/common/names/TokenUsage/TransportEncryption"/> + <xs:enumeration value="http://www.osci.eu/common/names/TokenUsage/ReceiptSigning"/> + <xs:enumeration value="http://www.osci.eu/common/names/TokenUsage/TSPSigning"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <!--Opaque Body Type - not used--> + <!--Policy maximum accepted Message size and Frequency per hour--> + <xs:element name="AcceptedMsgLimits"> + <xs:complexType> + <xs:sequence> + <xs:element name="MaxSize" type="xs:positiveInteger"/> + <xs:element name="MaxPerHour" type="xs:positiveInteger"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:complexType name="MessageBody"> + <xs:sequence> + <xs:any namespace="##any" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> +</xs:schema> \ No newline at end of file diff --git a/src/main/resources/wsdl/OSCI_MessageMetaData_V2.02.xsd b/src/main/resources/wsdl/OSCI_MessageMetaData_V2.02.xsd new file mode 100644 index 0000000000000000000000000000000000000000..989ebeaf686fd9f68cc8f5f642fb987969554009 --- /dev/null +++ b/src/main/resources/wsdl/OSCI_MessageMetaData_V2.02.xsd @@ -0,0 +1,373 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--Schema for OSCI Message Meta Data - last edited 2015-02-19--><!--Change 2015-02-19: MessageType amended by mandatory attribte @payloadSchema--><!--Change 2015-01-23: Alignment with XTA/KoSIT: introduced KeyCodeType, changed PropertyType, BusinessScenarioType, MessageType; ServiceQuality (to #any type), SecurityToken may carry IDREF attribute to token in payload now; usage attribute mandatory now--><!--Change 2014-11-30: xoev basis data type schema version changed from 1_0 to 1_1--><!--Last recent changes: Codelist for BusinessScenarioTypes defined and imported--><!--Changes: 2.0.2: Adoption of xoev:Codelist type for some elements; eliminating QName typed attributes/elements; PartyType elements now may include optional SecurityTokens (as e.g. used in XVergabe)--><xs:schema targetNamespace="http://www.osci.eu/ws/2014/10/transport" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:oscimeta="http://www.osci.eu/ws/2014/10/transport" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:xoev-dt="http://xoev.de/schemata/basisdatentypen/1_1"> + <xs:import namespace="http://www.w3.org/2005/08/addressing" schemaLocation="ws-addr.xsd"/> + <xs:import namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" schemaLocation="oasis-200401-wss-wssecurity-secext-1.0.xsd"/> + <xs:import namespace="http://xoev.de/schemata/basisdatentypen/1_1" schemaLocation="xoev-basisdatentypen.xsd"/> + <xs:simpleType name="NonEmptyStringType"> + <xs:restriction base="xs:string"> + <xs:minLength value="1"/> + </xs:restriction> + </xs:simpleType> + <xs:simpleType name="NonEmptyURIType"> + <xs:restriction base="xs:anyURI"> + <xs:minLength value="1"/> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="AnyType" mixed="true"> + <xs:sequence minOccurs="0" maxOccurs="unbounded"> + <xs:any namespace="##any" processContents="lax"/> + </xs:sequence> + <xs:anyAttribute namespace="##any"/> + </xs:complexType> + <!--End AnyType--> + <xs:complexType name="ReceiptRequestType"> + <xs:sequence> + <xs:element name="Submission" minOccurs="0"> + <xs:annotation> + <xs:documentation>Sending node: Message accepted for delivery and submitted</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Relay" minOccurs="0"> + <xs:annotation> + <xs:documentation>Active node on the delivery route: Message forwarded to next hop</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Delivery" minOccurs="0"> + <xs:annotation> + <xs:documentation>Destination node:Successful delivery to Recipient in synchronous scenarios, to MsgBox if asynchronous</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Fetch" minOccurs="0"> + <xs:annotation> + <xs:documentation>Only MsgBox node: Initial fetch of Message by Recipient from his MsgBox</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Reception" minOccurs="0"> + <xs:annotation> + <xs:documentation>Ultimate Recipient node, after acceptance of message, after successful decryption of payload</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="ReceiptTo" type="wsa:EndpointReferenceType" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DeliveryAttributesType"> + <xs:annotation> + <xs:documentation>Message delivery time instants, quality and receipts requested</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:annotation> + <xs:documentation>Timestamps, priority etc.</xs:documentation> + </xs:annotation> + <xs:element name="Origin" type="xs:dateTime" minOccurs="0"> + <xs:annotation> + <xs:documentation>Production of content by Requester respective (response) Provider</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="InitialSend" type="xs:dateTime" minOccurs="0"> + <xs:annotation> + <xs:documentation>Time when delivery was started (submission by Senders node)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="NotBefore" type="xs:dateTime" minOccurs="0"> + <xs:annotation> + <xs:documentation>Time when sending node should submit message</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="ObsoleteAfter" type="xs:date" minOccurs="0"> + <xs:annotation> + <xs:documentation>Date, when this message is obsolete; may be set by Initiator</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Delivery" type="xs:dateTime" minOccurs="0"> + <xs:annotation> + <xs:documentation>Time of entry in a Recipients MsgBox or reception by Recipient in synchronous case</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="InitialFetch" type="xs:dateTime" minOccurs="0"> + <xs:annotation> + <xs:documentation>Time of first comitted fetch from MsgBox by recipient</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Reception" type="xs:dateTime" minOccurs="0"> + <xs:annotation> + <xs:documentation>Reception time set by the Ultimate Recipient ("Reader", target application)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="ServiceQuality" type="oscimeta:NonEmptyStringType" minOccurs="0"> + <xs:annotation> + <xs:documentation>Property like priority etc. - XTA here points to "Service Profile"</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="ReceiptRequests" type="oscimeta:ReceiptRequestType" minOccurs="0"> + <xs:annotation> + <xs:documentation>Receipts requested by sender or author</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="SecurityToken"> + <xs:complexType> + <xs:choice> + <xs:element ref="wsse:BinarySecurityToken"/> + <xs:element ref="wsse:SecurityTokenReference"/> + <xs:element ref="wsse:UsernameToken"/> + </xs:choice> + <xs:attribute name="usage" use="required"> + <xs:simpleType> + <xs:restriction base="xs:NMTOKEN"> + <xs:enumeration value="AUTHENTICATION"/> + <xs:enumeration value="ENCRYPTION"/> + <xs:enumeration value="SIGNATURE"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="payloadRef" type="xs:IDREF"/> + </xs:complexType> + </xs:element> + <xs:complexType name="PartyType"> + <xs:annotation> + <xs:documentation>Logical identifier and optional security tokens of that entity (binary, may carry SAML, too)</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="Identifier" type="oscimeta:PartyIdentifierType"/> + <xs:element ref="oscimeta:SecurityToken" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="PartyIdentifierType"> + <xs:annotation> + <xs:documentation>Value of generic party identifier, as classified by @type attribute, e.g.: Prefix:Kennung</xs:documentation> + </xs:annotation> + <xs:simpleContent> + <xs:extension base="xs:normalizedString"> + <xs:attribute name="type" type="oscimeta:NonEmptyStringType" use="required"> + <xs:annotation> + <xs:documentation>Orientation: ebMS Core: type, how to interpret Party-Id value, e.g.: xöv oder Justiz</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="name" type="oscimeta:NonEmptyStringType"> + <xs:annotation> + <xs:documentation>optional "friendly name" value for displaying in user agents (as e.g. known from eMail)</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="category" type="oscimeta:NonEmptyStringType"> + <xs:annotation> + <xs:documentation>Concrete role of party in business scenario (e.g. "buyer", "Meldehörde", "Standesamt"...)</xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <xs:element name="Author" type="oscimeta:PartyType"> + <xs:annotation> + <xs:documentation>Requester resp. (response-) Provider</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Reader" type="oscimeta:PartyType"> + <xs:annotation> + <xs:documentation>Destinations of the message</xs:documentation> + </xs:annotation> + </xs:element> + <xs:complexType name="OriginatorsType"> + <xs:sequence> + <xs:element ref="oscimeta:Author"/> + <xs:element ref="oscimeta:Sender" minOccurs="0"/> + <xs:element name="ReplyTo" type="oscimeta:PartyType" minOccurs="0"> + <xs:annotation> + <xs:documentation>If response expected different from value outlined in "From" address</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="DestinationsType"> + <xs:sequence> + <xs:element ref="oscimeta:Reader"> + <xs:annotation> + <xs:documentation>Ultimate target of the message</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element ref="oscimeta:OtherDestinations" minOccurs="0"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="ProcessIdentifierType"> + <xs:annotation> + <xs:documentation>Process ID message is realated to</xs:documentation> + </xs:annotation> + <xs:simpleContent> + <xs:extension base="oscimeta:NonEmptyStringType"> + <xs:attribute name="ProccesName" type="oscimeta:NonEmptyStringType"> + <xs:annotation> + <xs:documentation>Process may have a name, e.g. "order"</xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <xs:complexType name="MsgIdentificationType"> + <xs:sequence> + <xs:element ref="wsa:MessageID"/> + <xs:element name="In-Reply-To" type="wsa:AttributedURIType" minOccurs="0" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>Referenced application level Message-Id(s)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="ProcessRef" minOccurs="0"> + <xs:annotation> + <xs:documentation>References to business process-id's (like ebMS Conversation-Id, "Aktenzeichen" in Germany)</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="Requester" type="oscimeta:ProcessIdentifierType" minOccurs="0"> + <xs:annotation> + <xs:documentation>Ref on requester (Source Application) side</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Responder" type="oscimeta:ProcessIdentifierType" minOccurs="0"> + <xs:annotation> + <xs:documentation>Ref on responder (Target Application) side, if different</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="KeyCodeType"> + <xs:complexContent> + <xs:restriction base="xoev-dt:Code"> + <xs:sequence> + <xs:element name="code" type="xs:token" form="unqualified"/> + <xs:element name="name" type="xs:normalizedString" form="unqualified" minOccurs="0"/> + </xs:sequence> + <xs:attribute name="listURI" type="xs:anyURI" use="required"/> + <xs:attribute name="listVersionID" type="xs:normalizedString" use="required"/> + </xs:restriction> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="PropertyType"> + <xs:sequence> + <xs:element name="Key" type="oscimeta:KeyCodeType"/> + <xs:element name="Value" type="oscimeta:NonEmptyStringType"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="MessagePropertiesType"> + <xs:sequence> + <xs:element name="Property" type="oscimeta:PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="QualifierType"> + <xs:sequence> + <xs:element name="Subject" type="xs:string" minOccurs="0"> + <xs:annotation> + <xs:documentation>Message subject text (informational)</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Service" type="xs:anyURI"> + <xs:annotation> + <xs:documentation>Distinct service in a certain business scenario context; in the XÖV context this is the "Dienste URI"</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="BusinessScenario"> + <xs:annotation> + <xs:documentation>Domain qualifier, e.g. Meldewesen, XVergabe...</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:choice> + <xs:element name="Defined" type="oscimeta:KeyCodeType"/> + <xs:element name="Undefined" type="xs:normalizedString"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="MessageType"> + <xs:annotation> + <xs:documentation>Payload: Type of document or message. MessageTypes normally bound to specific BusinessScenario</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:complexContent> + <xs:extension base="oscimeta:KeyCodeType"> + <xs:attribute name="payloadSchema" type="oscimeta:NonEmptyURIType" use="required"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:element name="DeliveryAttributes" type="oscimeta:DeliveryAttributesType"> + <xs:annotation> + <xs:documentation>Time stamps, receipts to be generated, service quality</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Originators" type="oscimeta:OriginatorsType"> + <xs:annotation> + <xs:documentation>Message originators and reply address</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Destinations" type="oscimeta:DestinationsType"> + <xs:annotation> + <xs:documentation>Actual and other destinations of Message</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="MsgIdentification" type="oscimeta:MsgIdentificationType"> + <xs:annotation> + <xs:documentation>Message ID and Message relations</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Qualifier" type="oscimeta:QualifierType"> + <xs:annotation> + <xs:documentation>General payload properties, common to all scenarios</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="MessageProperties"> + <xs:annotation> + <xs:documentation>Scenarios specific payload properties, to be agreed upon per scenario</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="Property" type="oscimeta:PropertyType" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="Sender" type="oscimeta:PartyType"> + <xs:annotation> + <xs:documentation>Sending node, entry may be added by Sender node</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="OtherDestinations"> + <xs:annotation> + <xs:documentation>Other destinations of message - informational, as known from e-mail</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element ref="oscimeta:OtherReaders" maxOccurs="unbounded"/> + <xs:element ref="oscimeta:CcReaders" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="OtherReaders" type="oscimeta:PartyIdentifierType"/> + <xs:element name="CcReaders" type="oscimeta:PartyIdentifierType"> + <xs:annotation> + <xs:documentation>Destinations in cc role</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="MessageMetaData"> + <xs:complexType> + <xs:sequence> + <xs:element ref="oscimeta:DeliveryAttributes"/> + <xs:element ref="oscimeta:Originators"/> + <xs:element ref="oscimeta:Destinations"/> + <xs:element ref="oscimeta:MsgIdentification"/> + <xs:element ref="oscimeta:Qualifier"/> + <xs:element ref="oscimeta:MessageProperties" minOccurs="0"/> + <xs:element name="MsgSize" type="xs:positiveInteger" minOccurs="0"> + <xs:annotation> + <xs:documentation>Message size in bytes</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + <xs:attribute name="TestMsg" type="xs:boolean" default="false"> + <xs:annotation> + <xs:documentation>"true", if test-message; defaults to "false"</xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:complexType> + </xs:element> +</xs:schema> \ No newline at end of file diff --git a/src/main/resources/wsdl/XTA-Webservice-Datentypen.xsd b/src/main/resources/wsdl/XTA-Webservice-Datentypen.xsd new file mode 100644 index 0000000000000000000000000000000000000000..8accdad9653f309073a175aa0ed38e27cc94480d --- /dev/null +++ b/src/main/resources/wsdl/XTA-Webservice-Datentypen.xsd @@ -0,0 +1,544 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema targetNamespace="http://xoev.de/transport/xta/211" version="2.1.1" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xta="http://xoev.de/transport/xta/211" xmlns:oscimeta="http://www.osci.eu/ws/2014/10/transport" xmlns:xoev-dt="http://xoev.de/schemata/basisdatentypen/1_1" xmlns:xmime="http://www.w3.org/2005/05/xmlmime" > + <xs:annotation> + <xs:documentation>Hier wird die Sammlung von Typen dargestellt, welche innerhalb des Standards XTA definiert und verwendet werden.</xs:documentation> + </xs:annotation> + <xs:import schemaLocation="OSCI_MessageMetaData_V2.02.xsd" namespace="http://www.osci.eu/ws/2014/10/transport"/> + <xs:import schemaLocation="xoev-basisdatentypen.xsd" namespace="http://xoev.de/schemata/basisdatentypen/1_1"/> + <xs:complexType name="AdditionalReportListType"> + <xs:annotation> + <xs:documentation>Dieser Typ gestattet das Ablegen weiterer Prüfberichte, welche das XTA-Protokoll (TransportReport) ergänzen sollen.</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="Report" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>In diesem Element ist ein zusätzlicher Report abgelegt, der das XTA-Protokoll (TransportReport) ergänzt. Die Art des Reports (z. B. OSCI Process Card) und der Inhalt des Reports werden bzw. sind in separaten Bereichen dieses Containers eingetragen.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="Key" type="xta:Code.ReportType"> + <xs:annotation> + <xs:documentation>Dieses Element benennt den Typ des Reports, um dem Leser die Interpretation der Reportdaten zu ermöglichen. Die Benennung des Typs des Reports geschieht auf der Basis einer Codeliste.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Data" type="xs:base64Binary" xmime:expectedContentTypes="application/octet-stream"> + <xs:annotation> + <xs:documentation>Hier wird der zusätzliche Report in einem technisch neutralen Format eingetragen.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="Code.Fehlernummer"> + <xs:annotation> + <xs:appinfo> + <listAgencyName>Koordinierungsstelle für IT-Standards (KoSIT)</listAgencyName> + <listName>XTA-WS Fehlernummer</listName> + </xs:appinfo> + <xs:documentation>Diese Codeliste gibt eine Übersicht über die in XTA-WS zu verwendenden Fehlernummern (ErrorCodes) und ordnet sie den Exceptions zu, in deren Kontext sie auftreten können.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:restriction base="xoev-dt:Code"> + <xs:sequence> + <xs:element name="code" type="xs:token" form="unqualified"/> + <xs:element name="name" type="xs:normalizedString" form="unqualified"/> + </xs:sequence> + <xs:attribute name="listURI" type="xs:anyURI" use="optional" fixed="urn:de:xta:webservice:codeliste:fehlernummer"/> + <xs:attribute name="listVersionID" type="xs:normalizedString" use="optional" fixed="1.0"/> + </xs:restriction> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="Code.RecordType"> + <xs:annotation> + <xs:appinfo> + <listAgencyName>N.N.</listAgencyName> + <listName>Record Type</listName> + </xs:appinfo> + <xs:documentation>In diesen Typ ist eine auszuwählende bzw. selbst zu definierende Codeliste einzubinden, die Arten von Meldungen benennt, welche in das Protokoll zur Abarbeitung eines Transportauftrags (TransportReport) eingetragen werden. Dort können die Meldungen als Fehler-, Warn- oder Informationseinträge eingeordnet sein. +In die Attribute des vorliegenden Typs sind die Codelisten-URI und die Nummer der Version der ausgewählten Codeliste einzutragen. + +Die KoSIT hat die Absicht, für den Standard XTA eine passende Codeliste zu definieren und als einheitliches Angebot zur Einbindung für diesen Typ bereitzustellen. Diese Codeliste ist, wenn die Bereitstellung erfolgt ist, im XRepository (www.xrepository.de) unter der Codelisten-URI urn:de:xta:codeliste:record.type auffindbar und kann von dort im XML-Format OASIS Genericode abgerufen werden.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:restriction base="xoev-dt:Code"> + <xs:sequence> + <xs:element name="code" type="xs:token" form="unqualified"> + <xs:annotation> + <xs:documentation>In diesem Element ist ein Schlüssel aus der referenzierten Codeliste einzutragen.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + <xs:attribute name="listURI" type="xs:anyURI" use="required"> + <xs:annotation> + <xs:documentation>Hier wird die URI einer Codeliste eingetragen, die dadurch hier eingebunden ist. Es ist die Codeliste dafür auszuwählen, auf deren Basis der übermittelte Schlüssel durch den Leser der Nachricht interpretiert werden soll.</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="listVersionID" type="xs:normalizedString" use="required"> + <xs:annotation> + <xs:documentation>Die Version der Codeliste, welche der Interpretation des übermittelten Schlüssels zu Grunde gelegt werden soll.</xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:restriction> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="Code.ReportType"> + <xs:annotation> + <xs:appinfo> + <listAgencyName>N.N.</listAgencyName> + <listName>Report Type</listName> + </xs:appinfo> + <xs:documentation>Dieser Typ gestattet die Kennzeichnung der Art eines zusätzlichen Reports. Es wird eine zu wählende Codeliste eingebunden, die mögliche Arten von Reports nennt (spezielles Format, innerhalb oder außerhalb von XTA definiert), die in das XTA-Protokoll (TransportReport) eingefügt werden können. +Die KoSIT gibt für den Standard XTA eine Codeliste heraus, welche Einträge für einschlägige Arten von Reports auflistet. Diese Codeliste kann auf Antrag erweitert bzw. geändert werden. Sie ist durch XTA-konforme Systeme für übergreifende Prozesse zu verwenden. +Diese Codeliste ist im XRepository (www.xrepository.de) unter Nennung ihrer Codelisten-URI urn:de:xta:codeliste:report.type auffindbar und kann dort im XML-Format OASIS Genericode in der aktuellen Version abgerufen werden (ggf. sind auch frühere Versionen verfügbar). In die Attribute des vorliegenden Typs sind entsprechend ihre Codelisten-URI und die Nummer der ausgewählten Version einzutragen. +Für lokale Zwecke können XTA-Kommunikationspartner auch eigene Codelisten definieren (welche bilateral abgestimmte Reportformate benennen) und an dieser Stelle einbinden. In die Attribute des vorliegenden Typs werden dann Codelisten-URI und Versionsnummer der selbstdefinierten Codeliste eingetragen.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:restriction base="xoev-dt:Code"> + <xs:sequence> + <xs:element name="code" type="xs:token" form="unqualified"> + <xs:annotation> + <xs:documentation>In diesem Element ist ein Schlüssel aus der referenzierten Codeliste einzutragen.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + <xs:attribute name="listURI" type="xs:anyURI" use="required"> + <xs:annotation> + <xs:documentation>Hier wird die URI einer Codeliste eingetragen, die dadurch hier eingebunden ist. Es ist die Codeliste dafür auszuwählen, auf deren Basis der übermittelte Schlüssel durch den Leser der Nachricht interpretiert werden soll.</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="listVersionID" type="xs:normalizedString" use="required"> + <xs:annotation> + <xs:documentation>Die Version der Codeliste, welche der Interpretation des übermittelten Schlüssel zu Grunde gelegt werden soll.</xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:restriction> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="Code.ServiceParameterType"> + <xs:annotation> + <xs:appinfo> + <listAgencyName>N.N.</listAgencyName> + <listName>Service Parameter Type</listName> + </xs:appinfo> + <xs:documentation>Dieser Typ gestattet die Kennzeichnung der Art eines Parameters für die technische Erreichbarkeit des Dienstes, der adressiert werden soll. +Hier wird eine zu wählende Codeliste eingebunden, die mögliche Parameterarten nennt. +Die KoSIT gibt für den Standard XTA eine Codeliste heraus, welche einschlägige solcher Parameterarten auflistet. Diese Codeliste kann auf Antrag erweitert bzw. geändert werden. Sie ist durch XTA-konforme Systeme für übergreifende Prozesse zu verwenden. +Diese Codeliste ist im XRepository (www.xrepository.de) unter Nennung ihrer Codelisten-URI urn:de:xta:codeliste:service.parameter.type auffindbar und kann dort im XML-Format OASIS Genericode in der aktuellen Version abgerufen werden (ggf. sind auch frühere Versionen verfügbar). In die Attribute des vorliegenden Typs sind entsprechend ihre Codelisten-URI und die Nummer der ausgewählten Version einzutragen. +Für lokale Zwecke können XTA-Kommunikationspartner auch eigene Codelisten definieren (welche bilateral abgestimmte Parameterarten benennen) und an dieser Stelle einbinden. In die Attribute des vorliegenden Typs werden dann Codelisten-URI und Versionsnummer der selbstdefinierten Codeliste eingetragen.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:restriction base="xoev-dt:Code"> + <xs:sequence> + <xs:element name="code" type="xs:token" form="unqualified"> + <xs:annotation> + <xs:documentation>In diesem Element ist ein Schlüssel aus der referenzierten Codeliste einzutragen.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + <xs:attribute name="listURI" type="xs:anyURI" use="required"> + <xs:annotation> + <xs:documentation>Hier wird die URI einer Codeliste eingetragen, die dadurch hier eingebunden ist. Es ist die Codeliste dafür auszuwählen, auf deren Basis der übermittelte Schlüssel durch den Leser der Nachricht interpretiert werden soll.</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="listVersionID" type="xs:normalizedString" use="required"> + <xs:annotation> + <xs:documentation>Die Version der Codeliste, welche der Interpretation des übermittelten Schlüssel zu Grunde gelegt werden soll.</xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:restriction> + </xs:complexContent> + </xs:complexType> + <xs:simpleType name="Codelist.Fehlernummer"> + <xs:annotation/> + <xs:restriction base="xs:token"> + <xs:enumeration value="9000"> + <xs:annotation> + <xs:appinfo> + <codeName>Unspezifizierter Fehler, als Freitext beschrieben</codeName> + </xs:appinfo> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="9010"> + <xs:annotation> + <xs:appinfo> + <codeName>Authentisierung/Zertifikat ist abgelaufen.</codeName> + </xs:appinfo> + <xs:documentation>PermissiondeniedException</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="9011"> + <xs:annotation> + <xs:appinfo> + <codeName>Account ist gesperrt.</codeName> + </xs:appinfo> + <xs:documentation>PermissiondeniedException</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="9012"> + <xs:annotation> + <xs:appinfo> + <codeName>Account nicht vorhanden.</codeName> + </xs:appinfo> + <xs:documentation>PermissiondeniedException</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="9013"> + <xs:annotation> + <xs:appinfo> + <codeName>Dienst ist nicht gebucht.</codeName> + </xs:appinfo> + <xs:documentation>PermissiondeniedException</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="9014"> + <xs:annotation> + <xs:appinfo> + <codeName>Authentisierung/Zertifikat passt nicht zur Absenderkennung.</codeName> + </xs:appinfo> + <xs:documentation>PermissiondeniedException</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="9020"> + <xs:annotation> + <xs:appinfo> + <codeName>Keine Parameter vorhanden</codeName> + </xs:appinfo> + <xs:documentation>ParameterIsNotValidExeption</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="9021"> + <xs:annotation> + <xs:appinfo> + <codeName>Keine gültige URI</codeName> + </xs:appinfo> + <xs:documentation>ParameterIsNotValidExeption</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="9022"> + <xs:annotation> + <xs:appinfo> + <codeName>Ungültige Parameterkombination</codeName> + </xs:appinfo> + <xs:documentation>ParameterIsNotValidException</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="9023"> + <xs:annotation> + <xs:appinfo> + <codeName>Die Nachricht überschreitet die Größenbeschränkung.</codeName> + </xs:appinfo> + <xs:documentation>ParameterIsNotValidException</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="9024"> + <xs:annotation> + <xs:appinfo> + <codeName>MessageID ist bereits vergeben.</codeName> + </xs:appinfo> + <xs:documentation>ParameterIsNotValidException</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="9030"> + <xs:annotation> + <xs:appinfo> + <codeName>Interner Fehler beim XTA-Server bzw. XTA-Dienstleister</codeName> + </xs:appinfo> + <xs:documentation>XTAWSTechnicalProblemException</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="9031"> + <xs:annotation> + <xs:appinfo> + <codeName>Fehler beim externen Verzeichnisdienst</codeName> + </xs:appinfo> + <xs:documentation>XTAWSTechnicalProblemException</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="9032"> + <xs:annotation> + <xs:appinfo> + <codeName>Fehler bei der Zustellung</codeName> + </xs:appinfo> + <xs:documentation>XTAWSTechnicalProblemException</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="9050"> + <xs:annotation> + <xs:appinfo> + <codeName>Fachnachricht ist nicht schemakonform</codeName> + </xs:appinfo> + <xs:documentation>MessageSchemaViolationException</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="9051"> + <xs:annotation> + <xs:appinfo> + <codeName>Fachnachricht trägt ein falsches Encoding.</codeName> + </xs:appinfo> + <xs:documentation>MessageSchemaViolationException</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="9052"> + <xs:annotation> + <xs:appinfo> + <codeName>Nachricht verletzt das entsprechende Service Profil.</codeName> + </xs:appinfo> + <xs:documentation>MessageSchemaViolationException</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="9060"> + <xs:annotation> + <xs:appinfo> + <codeName>Es wurde schadhafter Code ermittelt.</codeName> + </xs:appinfo> + <xs:documentation>MessageVirusDetectionException</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="9070"> + <xs:annotation> + <xs:appinfo> + <codeName>MessageID für den Account nicht bekannt.</codeName> + </xs:appinfo> + <xs:documentation>InvalidMessageIDException</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="9080"> + <xs:annotation> + <xs:appinfo> + <codeName>Der Dienst wird nur asynchron angeboten.</codeName> + </xs:appinfo> + <xs:documentation>SyncAsyncException</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="9081"> + <xs:annotation> + <xs:appinfo> + <codeName>Der Dienst wird nur synchron angeboten.</codeName> + </xs:appinfo> + <xs:documentation>SyncAsyncException</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="9100"> + <xs:annotation> + <xs:appinfo> + <codeName>Der durch den Schalter NotBefore gesetzte Termin ist +verstrichen.</codeName> + </xs:appinfo> + <xs:documentation>CancelDeniedException</xs:documentation> + </xs:annotation> + </xs:enumeration> + <xs:enumeration value="9101"> + <xs:annotation> + <xs:appinfo> + <codeName>Der Schalter NotBefore wurde nicht gesetzt.</codeName> + </xs:appinfo> + <xs:documentation>CancelDeniedException</xs:documentation> + </xs:annotation> + </xs:enumeration> + </xs:restriction> + </xs:simpleType> + <xs:complexType name="ContentType"> + <xs:annotation> + <xs:documentation>Typ für die technisch neutrale (base64-kodierte) Darstellung von Information. Enthält den base64-kodierten Inhalt (Fachnachricht), der zwischen WebService-Client und XTA-Server transportiert wird. Die Attribute sind der MIME-Spezifikation (RFC 2183) entnommen. +Die Belegung der Attribute ist für verschiedene Fachlichkeiten unterschiedlich und ist durch den Fachstandard festzulegen, der für die Fachnachricht verantwortlich ist.</xs:documentation> + </xs:annotation> + <xs:simpleContent> + <xs:extension base="xs:base64Binary" xmime:expectedContentTypes="application/octet-stream"> + <xs:attribute name="contentDescription" type="oscimeta:NonEmptyStringType" use="optional"> + <xs:annotation> + <xs:documentation>Beschreibung des fachlichen Inhalts, z.B. 'Angebot' oder 'Rechnung'.</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="contentType" type="oscimeta:NonEmptyStringType" use="required"> + <xs:annotation> + <xs:documentation>Dieses Attribut nennt den MIME-Typ des enthaltenen Inhalts, hat also Einträge wie text/xml, text/plain, application/gzip oder application/pdf. Mandatorisch, weil besonders wichtige Information (wird in E-Mail analog gehandhabt).</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="encoding" type="oscimeta:NonEmptyStringType" use="optional"> + <xs:annotation> + <xs:documentation>Der Zeichensatz, der der Kodierung des Inhalts zugrunde gelegen hat.</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="filename" type="oscimeta:NonEmptyStringType" use="optional"> + <xs:annotation> + <xs:documentation>Der Dateiname der Datenquelle, falls der Inhalt einer Datei entnommen worden ist. Bsp.: Für die Übermittlung von xdomea-Nachrichten ist dieses Attribut Pflicht.</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="id" type="xs:ID" use="optional"> + <xs:annotation> + <xs:documentation>Bietet die Möglichkeit, den Inhalt über z.B. eine laufende Nummer zu referenzieren.</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="lang" type="xs:language" use="optional"> + <xs:annotation> + <xs:documentation>Sprache, in der der Inhalt formuliert ist.</xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="size" type="xs:positiveInteger" use="optional"> + <xs:annotation> + <xs:documentation>Die Größe des Inhalts in Bytes.</xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <xs:complexType name="IsServiceAvailableValueType"> + <xs:annotation> + <xs:documentation>Das Feld enthält die benötigten Attribute zum Ergebnis der Dienstanfrage: ob der Dienst angeboten wird oder nicht, oder ob diese Information generell nicht bekannt ist.</xs:documentation> + </xs:annotation> + <xs:choice> + <xs:element name="ServiceIsAvailable" type="xs:boolean"> + <xs:annotation> + <xs:documentation>Der Dienst wird angeboten (true) oder nicht angeboten (false).</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="ServiceIsAvailableUnknown" fixed="true" type="xs:boolean"> + <xs:annotation> + <xs:documentation>Es ist nicht bekannt, ob der Dienst angeboten wird oder nicht.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:choice> + </xs:complexType> + <xs:complexType name="LookupServiceResultType"> + <xs:annotation> + <xs:documentation>Das Ergebnis zu einer Dienstanfrage, das die Information enthält, ob der Dienst angeboten wird. Außerdem sind die nötigen technischen Paramter für die Erreichbarkeit vorhanden.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="xta:LookupServiceType"> + <xs:sequence> + <xs:element name="IsServiceAvailableValue" type="xta:IsServiceAvailableValueType"> + <xs:annotation> + <xs:documentation>Enthält das Ergebnis der Dienstanfrage: ob der Dienst angeboten wird oder nicht oder ob diese Information generell nicht bekannt ist.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="ServiceParameter" minOccurs="0" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>Dieses Element enthält im Erfolgsfall die benötigten technischen Parameter für die elektronische Kommunikation mit dem Leser, z.B. das öffentliche Zertifikat des Lesers zur Inhaltsdatenverschlüsselung. Das Feld ist zu füllen, falls der angefragte Dienst angeboten und in diesem Kontext der Parameter benötigt wird. +Vom Fachszenario ist zu beschreiben, welche Parameter für die Erreichbarkeit der Dienste in diesem Fachszenario anzuwenden sind.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="ParameterType" type="xta:Code.ServiceParameterType"> + <xs:annotation> + <xs:documentation>Dieses Element steht für die Art des Parameters, welche ins passende Kindelement einzutragen bzw. eingetragen ist. Die vorgesehenen Parameterarten werden auf der Basis einer Codeliste interpretiert, welche durch die Attribute listURI und listVersionID referenziert ist.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Resource" type="xs:base64Binary" xmime:expectedContentTypes="application/octet-stream"> + <xs:annotation> + <xs:documentation>Hier ist der Parameter enthalten bzw. einnzutragen in technisch neutraler Darstellung.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="LookupServiceType"> + <xs:annotation> + <xs:documentation>Dies ist die Struktur einer Service-Anfrage: Sie enthält die Daten über den Diensteanbieter (Leser) und den Dienst des Lesers, den der Autor in Anspruch nehmen will. Diese Anfrage dient dazu, zu ermitteln, ob der Dienst von diesem Anbieter angeboten wird und über welche technischen Parameter er angesprochen werden kann.</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element ref="oscimeta:Reader"> + <xs:annotation> + <xs:documentation>Dies ist die fachliche Identifizierung des Lesers. Der Wert entspricht z.B. dem DVDV-Behördenschlüssel.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="ServiceType" type="xs:anyURI"> + <xs:annotation> + <xs:documentation>Dies ist die Bezeichnung des anzufordernden Dienstes. Sie wird im Format einer URL übergeben, was den Vorteil hat, dass damit auch eine Versionsnummer eingeschlossen ist. Beispiel für Dienstebezeichnungen, wie sie im DVDV verwendet werden: http://www.osci.de/xmeld181/xmeld181Rueckmeldung.wsdl + + +Abgrenzung: "Dienst" ist das, was gemäß Diensteeinteilung der Fachdomäne im Verzeichnisdienst als Service (im Sinne eines Web Service) eingetragen ist. Dadurch ist die Dienstebezeichnung weniger differenziert als der Nachrichtentyp. Typischerweise sind im Verzeichnisdienst mehrere Nachrichtentypen in einer Service-WSDL zusammengefasst.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="MessageStatusType"> + <xs:annotation> + <xs:documentation>Gibt die Struktur für die Meldungen (Logging-Informationen) über den Transportverlauf vor. Er sieht Meldungszeilen für Infos, Warnungen und Fehler vor.</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="Status" type="xs:integer"> + <xs:annotation> + <xs:documentation>Wird durch Sender bzw. Empfänger fortgeschrieben. Wird der TransportReport noch fortgeschrieben, wird er hier mit 0=offen markiert. Nach Abschluss des TransportReports wird nach dem Max-Prinzip der höchste Ampelstatus aus den Elementen ErrorList, WarnList, InfoList hier numerisch dargestellt. + + + + +0=offen: Die Nachricht befindet sich noch in der Verarbeitung. +1=grün: Es sind keine Fehler oder Warnungen aufgetreten. +2=gelb: Es sind Warnungen, aber keine kritischen Fehler aufgetreten. +3=rot: Es sind kritische Fehler aufgetreten.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="ErrorList" minOccurs="0"> + <xs:annotation> + <xs:documentation>Liste der Fehlermeldungen.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="Error" minOccurs="0" maxOccurs="unbounded" type="xta:RecordType"> + <xs:annotation> + <xs:documentation>Hier wird die Fehlermeldung mit ihren Parametern eingetragen.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="WarnList" minOccurs="0"> + <xs:annotation> + <xs:documentation>Liste der Warnungen.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="Warning" minOccurs="0" maxOccurs="unbounded" type="xta:RecordType"> + <xs:annotation> + <xs:documentation>Hier wird die Warnung mit ihren Paramtern eingetragen.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="InfoList" minOccurs="0"> + <xs:annotation> + <xs:documentation>Liste der Informationsmeldungen.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="Info" minOccurs="0" maxOccurs="unbounded" type="xta:RecordType"> + <xs:annotation> + <xs:documentation>Hier wird die Informationsmeldung mit ihren Parametern eingetragen.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="RecordType"> + <xs:annotation> + <xs:documentation>Der Typ zur Kennzeichnung und Erläuterung einer Meldung (anwendbar auf Info-, Fehlermeldungen und Warnungen).</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="Timestamp" type="xs:dateTime"> + <xs:annotation> + <xs:documentation>Zeitstempel für den Zeitpunkt der Aufzeichnung der Meldung.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Code" type="xta:Code.RecordType"> + <xs:annotation> + <xs:documentation>Schlüssel, der die Bedeutung der Meldung kodiert. Dieser Schlüssel muss aus einer eingebundenen Codeliste stammen.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Reason" type="xs:string"> + <xs:annotation> + <xs:documentation>Hier wird zur weiteren Erläuterung der Grund der Meldung als Freitext eingetragen.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> +</xs:schema> \ No newline at end of file diff --git a/src/main/resources/wsdl/XTA-Webservice-Exceptions.xsd b/src/main/resources/wsdl/XTA-Webservice-Exceptions.xsd new file mode 100644 index 0000000000000000000000000000000000000000..763bda9a0ddc4afa065f652e1512797a22640dce --- /dev/null +++ b/src/main/resources/wsdl/XTA-Webservice-Exceptions.xsd @@ -0,0 +1,132 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema targetNamespace="http://xoev.de/transport/xta/211" version="2.1.1" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xta="http://xoev.de/transport/xta/211"> + <xs:annotation> + <xs:documentation>Hier wird die Sammlung von Typen dargestellt, welche innerhalb des Standards XTA verwendet werden, um SOAP Exceptions zu definieren und zu verwenden.</xs:documentation> + </xs:annotation> + <xs:include schemaLocation="XTA-Webservice-Datentypen.xsd"/> + <xs:complexType name="CancelDeniedExceptionType"> + <xs:annotation> + <xs:documentation>Dieser abgeleitete Typ wird vom zugehörigen Exception-Objeikt verwendet.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="xta:ExceptionType"/> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="ExceptionType"> + <xs:annotation> + <xs:documentation>Dieser Datentyp legt die grundlegende Struktur einer Exception im Rahmen des XTA Webservice fest. Sie kapselt Information zu Identität und Bedeutung eines aufgetretenen Fehlers.</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="errorCode" type="xta:Code.Fehlernummer"> + <xs:annotation> + <xs:documentation>In diesem Element werden Fehlernummer und Fehlertext übermittelt, die einen Fehler näher beschreiben (gemäß verlinkter Codeliste). +In das Unterelement code ist die Fehlernummer einzutragen, ins Unterelement name die entsprechende textuelle Repräsentation.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + <xs:complexType name="InvalidMessageIDExceptionType"> + <xs:annotation> + <xs:documentation>Dieser abgeleitete Typ wird vom zugehörigen Exception-Objekt verwendet.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="xta:ExceptionType"/> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="MessageSchemaViolationExceptionType"> + <xs:annotation> + <xs:documentation>Dieser abgeleitete Typ wird vom zugehörigen Exception-Objekt verwendet.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="xta:ExceptionType"/> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="MessageVirusDetectionExceptionType"> + <xs:annotation> + <xs:documentation>Dieser abgeleitete Typ wird vom zugehörigen Exception-Objekt verwendet.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="xta:ExceptionType"/> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="ParameterIsNotValidExceptionType"> + <xs:annotation> + <xs:documentation>Dieser abgeleitete Typ wird vom zugehörigen Exception-Objekt verwendet.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="xta:ExceptionType"/> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="PermissionDeniedExceptionType"> + <xs:annotation> + <xs:documentation>Dieser abgeleitete Typ wird vom zugehörigen Exception-Objekt verwendet.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="xta:ExceptionType"/> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="SyncAsyncExceptionType"> + <xs:annotation> + <xs:documentation>Dieser abgeleitete Typ wird vom zugehörigen Exception-Objekt verwendet.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="xta:ExceptionType"/> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="XTAWSTechnicalProblemExceptionType"> + <xs:annotation> + <xs:documentation>Dieser abgeleitete Typ wird vom zugehörigen Exception-Objekt verwendet.</xs:documentation> + </xs:annotation> + <xs:complexContent> + <xs:extension base="xta:ExceptionType"/> + </xs:complexContent> + </xs:complexType> + <xs:element name="CancelDeniedException" type="xta:CancelDeniedExceptionType"> + <xs:annotation> + <xs:documentation>Diese Exception wird geworfen, falls die Methode cancelMessage aufgerufen wurde, aber der Transportauftrag aus einem der folgenden Gründe nicht zurückgezogen werden kann: + + Der bei Erteilung des Transportauftrags über den Schalter NotBefore gesetzte Termin ist erreicht. + +Der Schalter NotBefore wurde bei Erteilung des Transportauftrags nicht gesetzt.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="InvalidMessageIDException" type="xta:InvalidMessageIDExceptionType"> + <xs:annotation> + <xs:documentation>Diese Exception wird geworfen, wenn in einem gegebenen Kontext die anhand der ID bezeichnete Nachricht nicht bekannt ist, also beispielsweise nicht geliefert werden kann.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="MessageSchemaViolationException" type="xta:MessageSchemaViolationExceptionType"> + <xs:annotation> + <xs:documentation>Diese Exception wird geworfen, wenn eine Fachnachricht nicht der jeweiligen Schema-Definition entspricht.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="MessageVirusDetectionException" type="xta:MessageVirusDetectionExceptionType"> + <xs:annotation> + <xs:documentation>Diese Exception wird geworfen, wenn schadhafter Code in einem der übergebenen Container ermittelt wurde.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="ParameterIsNotValidException" type="xta:ParameterIsNotValidExceptionType"> + <xs:annotation> + <xs:documentation>Diese Fehlermeldung wird geworfen, wenn ein Parameter nicht korrekt an die Methode übergeben wurde.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="PermissionDeniedException" type="xta:PermissionDeniedExceptionType"> + <xs:annotation> + <xs:documentation>Diese Exception wird geworfen, wenn der Account gesperrt oder nicht vorhanden ist.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="SyncAsyncException" type="xta:SyncAsyncExceptionType"> + <xs:annotation> + <xs:documentation>Diese Exception wird geworfen falls dem XTA-Webservice + + eine Nachricht, die nur für die synchrone Weiterleitung gültig ist, für die asynchrone Weiterleitung übergeben wurde oder + +eine Nachricht für die synchrone Weiterleitung übergeben wurde, die nur für die asynchrone Weiterleitung gültig ist.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="XTAWSTechnicalProblemException" type="xta:XTAWSTechnicalProblemExceptionType"> + <xs:annotation> + <xs:documentation>Diese Exception wird allgemein geworfen, wenn ein technisches Problem im XTA-WS aufgetreten ist. Sie kann z. B. durch ein Problem beim Zugriff auf die interne Datenbank des XTA-Servers ausgelöst worden sein.</xs:documentation> + </xs:annotation> + </xs:element> +</xs:schema> \ No newline at end of file diff --git a/src/main/resources/wsdl/XTA-Webservice-Globale-Elemente.xsd b/src/main/resources/wsdl/XTA-Webservice-Globale-Elemente.xsd new file mode 100644 index 0000000000000000000000000000000000000000..0b728c350383feb73e97a71e7390c984eab56e40 --- /dev/null +++ b/src/main/resources/wsdl/XTA-Webservice-Globale-Elemente.xsd @@ -0,0 +1,137 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema targetNamespace="http://xoev.de/transport/xta/211" elementFormDefault="qualified" attributeFormDefault="unqualified" version="2.1.1" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xta="http://xoev.de/transport/xta/211" xmlns:oscimeta="http://www.osci.eu/ws/2014/10/transport" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> + <xs:annotation> + <xs:documentation>Dies ist die Liste der globalen Elemente, welche durch die Operationen des XTA-WS verwendet werden .</xs:documentation> + </xs:annotation> + <xs:include schemaLocation="XTA-Webservice-Datentypen.xsd"/> + <xs:import namespace="http://www.w3.org/2001/04/xmlenc#" schemaLocation="xenc-schema.xsd"/> + <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/> + <xs:import namespace="http://www.osci.eu/ws/2014/10/transport" schemaLocation="OSCI_MessageMetaData_V2.02.xsd"/> + <xs:element name="GenericContentContainer"> + <xs:annotation> + <xs:documentation>Der GenericContentContainer nimmt den zu transportierenden oder abzuliefernden Inhalt auf, z.B. eine XÖV-Nachricht mit ihren Anlagen. Diese Inhalte können unverschlüsselt (Element ContentContainer) oder auch verschlüsselt (Element xenc:EncryptedData) hinterlegt werden. Die Verschlüsselung an dieser Stelle eignet sich für Ende-zu-Ende-Verschlüsselung durch den Autor, wenn dieses Objekt durch den Autor erstellt wird.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:choice> + <xs:element ref="xenc:EncryptedData"> + <xs:annotation> + <xs:documentation>Dieses Objekt ist dafür vorgesehen, den Container-Inhalt verschlüsselt zu hinterlegen. Im entschlüsselten Zustand müssen die Daten dem Schwester-Element ContentContainer entsprechen.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="ContentContainer"> + <xs:annotation> + <xs:documentation>Der ContentContainer enthält genau eine Nachricht (Element Message) und null bis beliebig viele Anlagen, die alle in technisch neutraler Darstellung (base64-kodiert) eingefügt werden (Element Attachment). Die Gesamtgröße des Containers darf 40 MB nicht überschreiten.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="Message" type="xta:ContentType"> + <xs:annotation> + <xs:documentation>Enthält den base64-kodierten Inhalt, der zwischen WebService-Client und XTA-Server transportiert wird. Die Attribute sind der MIME-Spezifikation (RFC 2183) entnommen. +Die zu übermittelnde Nachricht als primärer Inhalt dieses Containers ist optional durch Anhänge (Element Attachment) zu ergänzen. +In die Attribute wird je nach Kontext Metainformation zur Nachricht eingetragen.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="Attachment" type="xta:ContentType" minOccurs="0" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>Hier können optional ergänzende Anhänge zur übermittelnden Nachricht eingefügt werden. +Die Attribute transportieren je nach Kontext Metainformation zum enthaltenen Anhang.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="LookupServiceRequest"> + <xs:annotation> + <xs:documentation>Dies ist eine Liste von Dienstanfragen. +Jede Anfrage dient dazu, zu ermitteln, ob der Dienst von diesem Anbieter angeboten wird, und über welche technischen Parameter er angesprochen werden kann.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="LookupServiceRequestList" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>Dies ist die Struktur für eine Liste von Dienstanfragen.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="LookupService" type="xta:LookupServiceType"> + <xs:annotation> + <xs:documentation>Dies ist eine Service-Anfrage. Sie enthält Daten zum potentiellen Diensteanbieter (Leser) und dem Dienst, der angefragt werden soll. Diese Anfrage dient dazu, zu ermitteln, ob der Dienst von diesem Anbieter angeboten wird, und über welche technischen Parameter er angesprochen werden kann.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="LookupServiceResponse"> + <xs:annotation> + <xs:documentation>Dies ist das Ergebnis zu einer Liste von Dienstanfragen, also eine Liste von Dienstanfrageergebnissen. Die Anfrage wird jeweils zitiert und das zugehörige Ergebnis ausgegeben.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="LookupServiceResultList"> + <xs:annotation> + <xs:documentation>Die Struktur einer Liste von Dienstanfrageergebnissen.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element name="LookupServiceResult" type="xta:LookupServiceResultType" nillable="true" maxOccurs="unbounded"> + <xs:annotation> + <xs:documentation>Dies ist die Struktur der Liste von Ergebnissen zur Liste von Diensteanfragen.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="TransportReport"> + <xs:annotation> + <xs:documentation>Der TransportReport ist die Struktur des durch XTA standardisierten Transportprotokolls. Neben den übermittelten Nachrichten ruft das Fachverfahren (in den Rollen Autor und Leser) über den Webservice-Client Zusatzinformationen über den Transportauftrag und die Transportereignisse vom XTA-WS ab. + + Um Autor und Leser die Möglichkeit zu geben, die Abarbeitung ihrer Transportaufträge zu überwachen, erstellen Sender und Empfänger Transportprotokolle, die in einer XML-Struktur des Typs TransportReport dargestellt und für Abruf und Auswertung bereit liegen. + +Die Datenstruktur aggregiert die Information zum erteilten Transportauftrag, zum Verlauf des sich anschließenden Transports einschließlich Zertifikatsüberprüfungen mit Ergebnissen.</xs:documentation> + </xs:annotation> + <xs:complexType> + <xs:sequence> + <xs:element ref="oscimeta:MessageMetaData"> + <xs:annotation> + <xs:documentation>Dieser Container umfasst alle Daten des Transportauftrags, auf dessen Ausführung sich der TransportReport bezieht. Zu den Informationen gehören die Identifizierung von Absender und (einem oder mehreren) Empfängern, Metainformation zu Inhalt und Identität der zu transportierenden Fachnachricht (Payload) sowie weitere Attribute, die Auslieferung, Quittungen und Service Qualität betreffen. +Weitere Informationen zu diesem Objekt sind in zu finden.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="ReportTime" type="xs:dateTime"> + <xs:annotation> + <xs:documentation>Zeitpunkt der letzten Aktualisierung des Protokolls. Ist bei Fortschreibung des Protokolls zu überschreiben.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="XTAServerIdentity" type="xs:token"> + <xs:annotation> + <xs:documentation>Hier protokolliert der den TransportReport erstellende Prozess seine Identität als Software-Instanz, indem er z.B. die Server-IP-Adresse oder die URI seines XTA-WS einträgt.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="MessageStatus" type="xta:MessageStatusType"> + <xs:annotation> + <xs:documentation>Enthält Information über den Veraluf des Transports. Es werden hier Listen mit aufgetretenen Fehler-, Warnungs- und Informationsmeldungen geführt. Außerdem ist nach Schließung des Transportauftrags im Feld Status eine "Schnell-Info" verfügbar.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element name="AdditionalReports" type="xta:AdditionalReportListType" minOccurs="0"> + <xs:annotation> + <xs:documentation>Hier sind weitere Prüfberichte abgelegt bzw. abzulegen, welche das XTA-Protokoll (TransportReport) ergänzen sollen.</xs:documentation> + </xs:annotation> + </xs:element> + <xs:element ref="ds:Signature" minOccurs="0"> + <xs:annotation> + <xs:documentation>Falls der TransportReport signiert ist, findet sich hier die Signatur.</xs:documentation> + </xs:annotation> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> +</xs:schema> \ No newline at end of file diff --git a/src/main/resources/wsdl/XTA.wsdl b/src/main/resources/wsdl/XTA.wsdl new file mode 100644 index 0000000000000000000000000000000000000000..fe3599a9482dcef7346e5079f534b57055f67fc1 --- /dev/null +++ b/src/main/resources/wsdl/XTA.wsdl @@ -0,0 +1,589 @@ +<?xml version="1.0" encoding="UTF-8"?> +<definitions targetNamespace="http://xoev.de/transport/xta/211" name="XTA-Webservice" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wspmtom="http://schemas.xmlsoap.org/ws/2004/09/policy/optimizedmimeserialization" xmlns:osci="http://www.osci.eu/ws/2008/05/transport" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:oscimeta="http://www.osci.eu/ws/2014/10/transport" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702" xmlns:s12="http://www.w3.org/2003/05/soap-envelope" xmlns:xta="http://xoev.de/transport/xta/211"> + <wsp:Policy wsu:Id="osciCommon"> + <!--###### general osci policies ##########--> + <wsp:All> + <wsam:Addressing wsp:Optional="false"> + <wsp:Policy> + <wsam:AnonymousResponses/> + </wsp:Policy> + </wsam:Addressing> + <wspmtom:OptimizedMimeSerialization/> + <sp:Wss11> + <wsp:Policy> + <sp:MustSupportRefKeyIdentifier/> + <sp:MustSupportRefIssuerSerial/> + <sp:MustSupportRefThumbprint/> + <sp:MustSupportRefEncryptedKey/> + <sp:RequireSignatureConfirmation/> + </wsp:Policy> + </sp:Wss11> + <sp:Trust13> + <wsp:Policy> + <sp:MustSupportIssuedTokens/> + <sp:RequireClientEntropy/> + <sp:RequireServerEntropy/> + </wsp:Policy> + </sp:Trust13> + </wsp:All> + </wsp:Policy> + <wsp:Policy wsu:Id="TransportBindingPolicy"> + <wsp:ExactlyOne> + <wsp:All> + <sp:TransportBinding> + <wsp:Policy> + <sp:TransportToken> + <wsp:Policy> + <sp:HttpsToken RequireClientCertificate="true"/> + </wsp:Policy> + </sp:TransportToken> + <sp:AlgorithmSuite> + <wsp:Policy> + <sp:Basic256/> + </wsp:Policy> + </sp:AlgorithmSuite> + <sp:Layout> + <wsp:Policy> + <sp:Lax/> + </wsp:Policy> + </sp:Layout> + <!--sp:IncludeTimestamp/--> + </wsp:Policy> + </sp:TransportBinding> + <!--sp:Wss10> + <wsp:Policy> + <sp:MustSupportRefKeyIdentifier/> + </wsp:Policy> + </sp:Wss10--> + </wsp:All> + </wsp:ExactlyOne> + </wsp:Policy> + <!--Datenstrukturen--> + <types> + <xsd:schema targetNamespace="http://xoev.de/transport/xta/211"> + <xsd:import namespace="http://www.osci.eu/ws/2014/10/transport" schemaLocation="OSCI_MessageMetaData_V2.02.xsd"/> + <xsd:import namespace="http://www.osci.eu/ws/2008/05/transport" schemaLocation="OSCI2_02.xsd"/> + <xsd:include schemaLocation="XTA-Webservice-Globale-Elemente.xsd"/> + <xsd:include schemaLocation="XTA-Webservice-Exceptions.xsd"/> + </xsd:schema> + </types> + <!--Nachrichten--> + <message name="EmptyBody"/> + <message name="XTAHeader"> + <part name="AuthorIdentifier" element="oscimeta:Author"/> + <part name="MessageMetaData" element="oscimeta:MessageMetaData"/> + </message> + <message name="LookupServiceRequest"> + <part name="LookupServiceRequest" element="xta:LookupServiceRequest"/> + </message> + <message name="LookupServiceResponse"> + <part name="LookupServiceResponse" element="xta:LookupServiceResponse"/> + </message> + <message name="GetTransportReportResponse"> + <part name="GetTransportReportResponse" element="xta:TransportReport"/> + </message> + <message name="GenericContainerBody"> + <part name="GenericContainer" element="xta:GenericContentContainer"/> + </message> + <message name="MessageID"> + <part name="MessageID" element="wsa:MessageID"/> + </message> + <message name="OptHeaders"> + <part name="FetchResponseHeader" element="osci:MsgBoxResponse"/> + <part name="X509TokenContainer" element="osci:X509TokenContainer"/> + </message> + <message name="FetchMsgRequest"> + <part name="FetchRequest" element="osci:MsgBoxFetchRequest"/> + </message> + <message name="GetNextRequest"> + <part name="FetchRequest" element="osci:MsgBoxGetNextRequest"/> + </message> + <message name="CloseRequest"> + <part name="FetchRequest" element="osci:MsgBoxCloseRequest"/> + </message> + <message name="FetchListRequest"> + <part name="FetchRequest" element="osci:MsgBoxStatusListRequest"/> + </message> + <message name="FetchListResponse"> + <part name="FetchResponse" element="osci:MsgStatusList"/> + </message> + <!--Nachrichten - SOAP-Exceptions--> + <message name="PermissionDeniedException"> + <part name="permissionDeniedException" element="xta:PermissionDeniedException"/> + </message> + <message name="XTAWSTechnicalProblemException"> + <part name="xtawsTechnicalProblem" element="xta:XTAWSTechnicalProblemException"/> + </message> + <message name="ParameterIsNotValidException"> + <part name="parameterIsNotValidException" element="xta:ParameterIsNotValidException"/> + </message> + <message name="MessageSchemaViolationException"> + <part name="messageSchemaViolationException" element="xta:MessageSchemaViolationException"/> + </message> + <message name="MessageVirusDetectionException"> + <part name="messageVirusDetectionException" element="xta:MessageVirusDetectionException"/> + </message> + <message name="SyncAsyncException"> + <part name="syncAsyncException" element="xta:SyncAsyncException"/> + </message> + <message name="InvalidMessageIDException"> + <!--<part name="invalidMessageIDException" element="xta:InvalidMessageIdException"/>--> + <part name="invalidMessageIDException" element="xta:InvalidMessageIDException"/> + </message> + <message name="CancelDeniedException"> + <part name="cancelDeniedException" element="xta:CancelDeniedException"/> + </message> + <!--Interfaces--> + <portType name="managementPortType"> + <documentation>xta managementPort</documentation> + <operation name="checkAccountActive"> + <input message="xta:EmptyBody" wsam:Action="http://www.xta.de/XTA/CheckAccountActive"/> + <output message="xta:EmptyBody" wsam:Action="http://www.xta.de/XTA/CheckAccountActive"> + <documentation>only for exception handling</documentation> + </output> + <fault name="PermissionDeniedException" message="xta:PermissionDeniedException" wsam:Action="http://www.xta.de/XTA/CheckAccountActive"/> + <fault name="XTAWSTechnicalProblemException" message="xta:XTAWSTechnicalProblemException" wsam:Action="http://www.xta.de/XTA/CheckAccountActive"/> + </operation> + <operation name="lookupService"> + <input message="xta:LookupServiceRequest" wsam:Action="http://www.xta.de/XTA/IsServiceAvailable"/> + <output message="xta:LookupServiceResponse" wsam:Action="http://www.xta.de/XTA/IsServiceAvailable"/> + <fault name="PermissionDeniedException" message="xta:PermissionDeniedException" wsam:Action="http://www.xta.de/XTA/IsServiceAvailable"/> + <fault name="ParameterIsNotValid" message="xta:ParameterIsNotValidException" wsam:Action="http://www.xta.de/XTA/IsServiceAvailable"/> + <fault name="XTAWSTechnicalProblemException" message="xta:XTAWSTechnicalProblemException" wsam:Action="http://www.xta.de/XTA/IsServiceAvailable"/> + </operation> + <operation name="getTransportReport"> + <input message="xta:MessageID" wsam:Action="http://www.xta.de/XTA/GetTransportReport"/> + <output message="xta:GetTransportReportResponse" wsam:Action="http://www.xta.de/XTA/GetTransportReport"/> + <fault name="PermissionDeniedException" message="xta:PermissionDeniedException" wsam:Action="http://www.xta.de/XTA/GetTransportReport"/> + <fault name="XTAWSTechnicalProblemException" message="xta:XTAWSTechnicalProblemException" wsam:Action="http://www.xta.de/XTA/GetTransportReport"/> + <fault name="InvalidMessageIDException" message="xta:InvalidMessageIDException" wsam:Action="http://www.xta.de/XTA/GetTransportReport"/> + </operation> + <operation name="cancelMessage"> + <input message="xta:MessageID" wsam:Action="http://www.xta.de/XTA/CancelMessage"/> + <output message="xta:EmptyBody" wsam:Action="http://www.xta.de/XTA/CancelMessage"> + <documentation>only for exception handling</documentation> + </output> + <fault name="PermissionDeniedException" message="xta:PermissionDeniedException" wsam:Action="http://www.xta.de/XTA/CancelMessage"/> + <fault name="ParameterIsNotValidException" message="xta:ParameterIsNotValidException" wsam:Action="http://www.xta.de/XTA/CancelMessage"/> + <fault name="XTAWSTechnicalProblemException" message="xta:XTAWSTechnicalProblemException" wsam:Action="http://www.xta.de/XTA/CancelMessage"/> + <fault name="CancelDeniedException" message="xta:CancelDeniedException" wsam:Action="http://www.xta.de/XTA/CancelMessage"/> + </operation> + <operation name="createMessageId"> + <input message="xta:EmptyBody" wsam:Action="http://www.xta.de/XTA/CreateMessageID"/> + <output message="xta:MessageID" wsam:Action="http://www.xta.de/XTA/CreateMessageID"/> + <fault name="PermissionDeniedException" message="xta:PermissionDeniedException" wsam:Action="http://www.xta.de/XTA/CreateMessageID"/> + <fault name="XTAWSTechnicalProblemException" message="xta:XTAWSTechnicalProblemException" wsam:Action="http://www.xta.de/XTA/CreateMessageID"/> + </operation> + </portType> + <portType name="sendPortType"> + <documentation>sendPort</documentation> + <operation name="sendMessage"> + <input message="xta:GenericContainerBody" wsam:Action="http://www.xta.de/XTA/SendMessage"/> + <output message="xta:EmptyBody" wsam:Action="http://www.xta.de/XTA/SendMessage"/> + <fault name="PermissionDeniedException" message="xta:PermissionDeniedException" wsam:Action="http://www.xta.de/XTA/SendMessage"/> + <fault name="ParameterIsNotValidException" message="xta:ParameterIsNotValidException" wsam:Action="http://www.xta.de/XTA/SendMessage"/> + <fault name="XTAWSTechnicalProblemException" message="xta:XTAWSTechnicalProblemException" wsam:Action="http://www.xta.de/XTA/SendMessage"/> + <fault name="MessageSchemaViolationException" message="xta:MessageSchemaViolationException" wsam:Action="http://www.xta.de/XTA/SendMessage"/> + <fault name="MessageVirusDetectionException" message="xta:MessageVirusDetectionException" wsam:Action="http://www.xta.de/XTA/SendMessage"/> + <fault name="SyncAsyncException" message="xta:SyncAsyncException" wsam:Action="http://www.xta.de/XTA/SendMessage"/> + </operation> + <operation name="sendMessageSync"> + <input message="xta:GenericContainerBody" wsam:Action="http://www.xta.de/XTA/SendMessageSync"/> + <output message="xta:GenericContainerBody" wsam:Action="http://www.xta.de/XTA/SendMessageSync"/> + <fault name="PermissionDeniedException" message="xta:PermissionDeniedException" wsam:Action="http://www.xta.de/XTA/SendMessageSync"/> + <fault name="ParameterIsNotValidException" message="xta:ParameterIsNotValidException" wsam:Action="http://www.xta.de/XTA/SendMessageSync"/> + <fault name="XTAWSTechnicalProblemException" message="xta:XTAWSTechnicalProblemException" wsam:Action="http://www.xta.de/XTA/SendMessageSync"/> + <fault name="MessageSchemaViolationException" message="xta:MessageSchemaViolationException" wsam:Action="http://www.xta.de/XTA/SendMessageSync"/> + <fault name="MessageVirusDetectionException" message="xta:MessageVirusDetectionException" wsam:Action="http://www.xta.de/XTA/SendMessageSync"/> + <fault name="SyncAsyncException" message="xta:SyncAsyncException" wsam:Action="http://www.xta.de/XTA/SendMessageSync"/> + </operation> + </portType> + <portType name="msgBoxPortType"> + <documentation>msgboxfetchPort</documentation> + <operation name="getMessage"> + <input message="xta:FetchMsgRequest" wsam:Action="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxFetchRequest"/> + <output message="xta:GenericContainerBody" wsam:Action="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxFetchRequest"/> + <fault name="PermissionDeniedException" message="xta:PermissionDeniedException" wsam:Action="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxFetchRequest"/> + <fault name="XTAWSTechnicalProblemException" message="xta:XTAWSTechnicalProblemException" wsam:Action="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxFetchRequest"/> + <fault name="InvalidMessageIDException" message="xta:InvalidMessageIDException" wsam:Action="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxFetchRequest"/> + </operation> + <operation name="getStatusList"> + <input message="xta:FetchListRequest" wsam:Action="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxStatusListRequest"/> + <output message="xta:FetchListResponse" wsam:Action="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxStatusListRequest"/> + <fault name="PermissionDeniedException" message="xta:PermissionDeniedException" wsam:Action="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxStatusListRequest"/> + <fault name="XTAWSTechnicalProblemException" message="xta:XTAWSTechnicalProblemException" wsam:Action="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxStatusListRequest"/> + </operation> + <operation name="getNextMessage"> + <input message="xta:GetNextRequest" wsam:Action="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxGetNextMsgRequest"/> + <output message="xta:GenericContainerBody" wsam:Action="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxGetNextMsgRequest"/> + <!--Stand 13.05.2016 Vorgabe fehlt in Abschnitt B1.1.1, Annahme: Es werden + dieselben Exceptions benötigt, wie für getMessage--> + <fault name="PermissionDeniedException" message="xta:PermissionDeniedException" wsam:Action="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxGetNextMsgRequest"/> + <fault name="XTAWSTechnicalProblemException" message="xta:XTAWSTechnicalProblemException" wsam:Action="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxGetNextMsgRequest"/> + <fault name="InvalidMessageIDException" message="xta:InvalidMessageIDException" wsam:Action="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxGetNextMsgRequest"/> + </operation> + <operation name="getNextStatusList"> + <input message="xta:GetNextRequest" wsam:Action="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxGetNextListRequest"/> + <output message="xta:FetchListResponse" wsam:Action="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxGetNextListRequest"/> + <fault name="PermissionDeniedException" message="xta:PermissionDeniedException" wsam:Action="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxGetNextListRequest"/> + <fault name="XTAWSTechnicalProblemException" message="xta:XTAWSTechnicalProblemException" wsam:Action="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxGetNextListRequest"/> + </operation> + <operation name="close"> + <input message="xta:CloseRequest" wsam:Action="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxCloseRequest"/> + <output message="xta:EmptyBody" wsam:Action="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxCloseRequest"> + <documentation>only for exception handling</documentation> + </output> + <fault name="PermissionDeniedException" message="xta:PermissionDeniedException" wsam:Action="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxCloseRequest"/> + <fault name="XTAWSTechnicalProblemException" message="xta:XTAWSTechnicalProblemException" wsam:Action="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxCloseRequest"/> + <fault name="InvalidMessageIDException" message="xta:InvalidMessageIDException" wsam:Action="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxCloseRequest"/> + </operation> + </portType> + <!--Bindung von Protokoll und Interface--> + <binding name="sendXTAHttpsBinding" type="xta:sendPortType"> + <documentation>https binding for the sendPort</documentation> + <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + <wsp:PolicyReference URI="#TransportBindingPolicy"/> + <wsp:PolicyReference URI="#osciCommon"/> + <operation name="sendMessage"> + <documentation>The sendMessage method delivers a content message to the sending + hub.</documentation> + <soap:operation soapAction="http://www.xta.de/XTA/SendMessage" soapActionRequired="true" style="document"/> + <input> + <documentation>Input Header: MessageMetaData header contains additional information + for the for the given payload. Body: The GenericContainerBody containins the + "xöv" message.</documentation> + <soap:body use="literal"/> + <soap:header message="xta:XTAHeader" part="MessageMetaData" use="literal"/> + <soap:header message="xta:OptHeaders" part="X509TokenContainer" use="literal"/> + </input> + <output> + <documentation>only for exception handling</documentation> + <soap:body use="literal"/> + </output> + <fault name="PermissionDeniedException"> + <soap:fault name="PermissionDeniedException" use="literal"/> + </fault> + <fault name="ParameterIsNotValidException"> + <soap:fault name="ParameterIsNotValidException" use="literal"/> + </fault> + <fault name="XTAWSTechnicalProblemException"> + <soap:fault name="XTAWSTechnicalProblemException" use="literal"/> + </fault> + <fault name="MessageSchemaViolationException"> + <soap:fault name="MessageSchemaViolationException" use="literal"/> + </fault> + <fault name="MessageVirusDetectionException"> + <soap:fault name="MessageVirusDetectionException" use="literal"/> + </fault> + <fault name="SyncAsyncException"> + <soap:fault name="SyncAsyncException" use="literal"/> + </fault> + </operation> + <operation name="sendMessageSync"> + <documentation>The sendMessage method delivers a content message to the sending + hub.</documentation> + <soap:operation soapAction="http://www.xta.de/XTA/SendMessageSync" soapActionRequired="true" style="document"/> + <input> + <documentation>Input Header: MessageMetaData header contains additional information + for the for the given payload. Body: The GenericContainerBody contains the "xöv" + message.</documentation> + <soap:body use="literal"/> + <soap:header message="xta:XTAHeader" part="MessageMetaData" use="literal"/> + <soap:header message="xta:OptHeaders" part="X509TokenContainer" use="literal"/> + </input> + <output> + <documentation>Output body: A GenericContainerBody in the body, containing the + synchronous "xöv" message response.</documentation> + <soap:body use="literal"/> + <soap:header message="xta:XTAHeader" part="MessageMetaData" use="literal"/> + <soap:header message="xta:OptHeaders" part="X509TokenContainer" use="literal"/> + </output> + <fault name="PermissionDeniedException"> + <soap:fault name="PermissionDeniedException" use="literal"/> + </fault> + <fault name="ParameterIsNotValidException"> + <soap:fault name="ParameterIsNotValidException" use="literal"/> + </fault> + <fault name="XTAWSTechnicalProblemException"> + <soap:fault name="XTAWSTechnicalProblemException" use="literal"/> + </fault> + <fault name="MessageSchemaViolationException"> + <soap:fault name="MessageSchemaViolationException" use="literal"/> + </fault> + <fault name="MessageVirusDetectionException"> + <soap:fault name="MessageVirusDetectionException" use="literal"/> + </fault> + <fault name="SyncAsyncException"> + <soap:fault name="SyncAsyncException" use="literal"/> + </fault> + </operation> + </binding> + <binding name="managementHttpsBinding" type="xta:managementPortType"> + <documentation>https binding for the managementPort</documentation> + <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + <wsp:PolicyReference URI="#TransportBindingPolicy"/> + <wsp:PolicyReference URI="#osciCommon"/> + <operation name="getTransportReport"> + <documentation>Method to get the transport report for the given + MessageID</documentation> + <soap:operation soapAction="http://www.xta.de/XTA/GetTransportReport" soapActionRequired="true" style="document"/> + <input> + <documentation>Input: optional xta:AuthorIdentifier header and the MessageID in the + body part.</documentation> + <soap:body use="literal"/> + <soap:header message="xta:XTAHeader" part="AuthorIdentifier" use="literal"/> + </input> + <output> + <documentation>Output body: The Transport report containing the detailed information + for the related message.</documentation> + <soap:body use="literal"/> + </output> + <fault name="PermissionDeniedException"> + <soap:fault name="PermissionDeniedException" use="literal"/> + </fault> + <fault name="XTAWSTechnicalProblemException"> + <soap:fault name="XTAWSTechnicalProblemException" use="literal"/> + </fault> + <fault name="InvalidMessageIDException"> + <soap:fault name="InvalidMessageIDException" use="literal"/> + </fault> + </operation> + <operation name="cancelMessage"> + <documentation>Method to cancel disptach order (if not yet finalied + successfully)</documentation> + <soap:operation soapAction="http://www.xta.de/XTA/CancelMessage" soapActionRequired="true" style="document"/> + <input> + <documentation>Input: optional xta:AuthorIdentifier header and the MessageID in the + body part.</documentation> + <soap:body use="literal"/> + <soap:header message="xta:XTAHeader" part="AuthorIdentifier" use="literal"/> + </input> + <output> + <documentation>only for exception handling</documentation> + <soap:body use="literal"/> + </output> + <fault name="CancelDeniedException"> + <soap:fault name="CancelDeniedException" use="literal"/> + </fault> + <fault name="PermissionDeniedException"> + <soap:fault name="PermissionDeniedException" use="literal"/> + </fault> + <fault name="ParameterIsNotValidException"> + <soap:fault name="ParameterIsNotValidException" use="literal"/> + </fault> + <fault name="XTAWSTechnicalProblemException"> + <soap:fault name="XTAWSTechnicalProblemException" use="literal"/> + </fault> + </operation> + <operation name="lookupService"> + <documentation>Method to get further information about the given address + information</documentation> + <soap:operation soapAction="http://www.xta.de/XTA/IsServiceAvailable" soapActionRequired="true" style="document"/> + <input> + <documentation>Input: optional xta:AuthorIdentifier header and a list of address + information in the body part</documentation> + <soap:body use="literal"/> + <soap:header message="xta:XTAHeader" part="AuthorIdentifier" use="literal"/> + </input> + <output> + <documentation>Output body: further information for the given address + list.</documentation> + <soap:body use="literal"/> + </output> + <fault name="PermissionDeniedException"> + <soap:fault name="PermissionDeniedException" use="literal"/> + </fault> + <fault name="ParameterIsNotValid"> + <soap:fault name="ParameterIsNotValid" use="literal"/> + </fault> + <fault name="XTAWSTechnicalProblemException"> + <soap:fault name="XTAWSTechnicalProblemException" use="literal"/> + </fault> + </operation> + <operation name="checkAccountActive"> + <documentation>Method to check whether the account is activ</documentation> + <soap:operation soapAction="http://www.xta.de/XTA/CheckAccountActive" soapActionRequired="true" style="document"/> + <input> + <documentation>Input: optional xta:AuthorIdentifier header.</documentation> + <soap:body use="literal"/> + <soap:header message="xta:XTAHeader" part="AuthorIdentifier" use="literal"/> + </input> + <output> + <documentation>only for exception handling</documentation> + <soap:body use="literal"/> + </output> + <fault name="PermissionDeniedException"> + <soap:fault name="PermissionDeniedException" use="literal"/> + </fault> + <fault name="XTAWSTechnicalProblemException"> + <soap:fault name="XTAWSTechnicalProblemException" use="literal"/> + </fault> + </operation> + <operation name="createMessageId"> + <documentation>Method to obtain new created MesMessageID</documentation> + <soap:operation soapAction="http://www.xta.de/XTA/CreateMessageID" soapActionRequired="true" style="document"/> + <input> + <documentation>Input: optional xta:AuthorIdentifier header</documentation> + <soap:body use="literal"/> + <soap:header message="xta:XTAHeader" part="AuthorIdentifier" use="literal"/> + </input> + <output> + <documentation>Output body: The created MesMessageID</documentation> + <soap:body use="literal"/> + </output> + <fault name="PermissionDeniedException"> + <soap:fault name="PermissionDeniedException" use="literal"/> + </fault> + <fault name="XTAWSTechnicalProblemException"> + <soap:fault name="XTAWSTechnicalProblemException" use="literal"/> + </fault> + </operation> + </binding> + <binding name="msgBoxHttpsBinding" type="xta:msgBoxPortType"> + <documentation>https binding for the msgBox</documentation> + <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> + <wsp:PolicyReference URI="#TransportBindingPolicy"/> + <wsp:PolicyReference URI="#osciCommon"/> + <operation name="getMessage"> + <documentation>The getMethode method returns the first message relating to the given + parameter</documentation> + <soap:operation soapAction="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxFetchRequest" soapActionRequired="true"/> + <input> + <documentation>Input: optional xta:AuthorIdentifier header and OSCI 2 + MsgBoxFetchRequest parameter in the body part</documentation> + <soap:body use="literal"/> + <soap:header message="xta:XTAHeader" part="AuthorIdentifier" use="literal"/> + </input> + <output> + <documentation>Output: Header: Optional xta:AuthorIdentifier header or OSCI2 Header + MsgBoxResponse with addional information and related GenericContentContainer in + the body part</documentation> + <soap:header message="xta:XTAHeader" part="MessageMetaData" use="literal"/> + <soap:header message="xta:OptHeaders" part="FetchResponseHeader" use="literal"/> + <soap:body use="literal"/> + </output> + <fault name="PermissionDeniedException"> + <soap:fault name="PermissionDeniedException" use="literal"/> + </fault> + <fault name="XTAWSTechnicalProblemException"> + <soap:fault name="XTAWSTechnicalProblemException" use="literal"/> + </fault> + <fault name="InvalidMessageIDException"> + <soap:fault name="InvalidMessageIDException" use="literal"/> + </fault> + </operation> + <operation name="getStatusList"> + <documentation>getStatusList returns the list of related message + information</documentation> + <soap:operation soapAction="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxStatusListRequest" soapActionRequired="true"/> + <input> + <documentation>Input: optional xta:AuthorIdentifier header and OSCI 2 + MsgStatusListRequest parameter in the body part</documentation> + <soap:body use="literal"/> + <soap:header message="xta:XTAHeader" part="AuthorIdentifier" use="literal"/> + </input> + <output> + <documentation>Output: Header: OSCI2 Header MsgBoxResponse with addional information + and related MsgStatusList in the body part</documentation> + <soap:header message="xta:OptHeaders" part="FetchResponseHeader" use="literal"/> + <soap:body use="literal"/> + </output> + <fault name="PermissionDeniedException"> + <soap:fault name="PermissionDeniedException" use="literal"/> + </fault> + <fault name="XTAWSTechnicalProblemException"> + <soap:fault name="XTAWSTechnicalProblemException" use="literal"/> + </fault> + </operation> + <operation name="getNextMessage"> + <documentation>getNextMessage returns next message relates to fetch + iterator</documentation> + <soap:operation soapAction="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxGetNextMsgRequest" soapActionRequired="true"/> + <input> + <documentation>Input: Optional xta:AuthorIdentifier header and in the body part the + MsgBoxNextRequest element conatining the fetch iterator</documentation> + <soap:body use="literal"/> + <soap:header message="xta:XTAHeader" part="AuthorIdentifier" use="literal"/> + </input> + <output> + <documentation>Output: Header: Optional xta:AuthorIdentifier header or OSCI2 Header + MsgBoxResponse with addional information and related MsgStatusList in the body + part</documentation> + <soap:header message="xta:XTAHeader" part="MessageMetaData" use="literal"/> + <soap:header message="xta:OptHeaders" part="FetchResponseHeader" use="literal"/> + <soap:body use="literal"/> + </output> + <fault name="PermissionDeniedException"> + <soap:fault name="PermissionDeniedException" use="literal"/> + </fault> + <fault name="XTAWSTechnicalProblemException"> + <soap:fault name="XTAWSTechnicalProblemException" use="literal"/> + </fault> + <fault name="InvalidMessageIDException"> + <soap:fault name="InvalidMessageIDException" use="literal"/> + </fault> + </operation> + <operation name="getNextStatusList"> + <documentation>getNextStatusList returns the next list of related message information + related to the fetch iterator</documentation> + <soap:operation soapAction="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxGetNextListRequest" soapActionRequired="true"/> + <input> + <documentation>Input: optional xta:AuthorIdentifier header and in the body part the + MsgBoxNextRequest element conatining the fetch iterator</documentation> + <soap:body use="literal"/> + <soap:header message="xta:XTAHeader" part="AuthorIdentifier" use="literal"/> + </input> + <output> + <documentation>Output: Header: OSCI2 Header MsgBoxResponse with addional information + and next related MsgStatusList in the body part</documentation> + <soap:header message="xta:OptHeaders" part="FetchResponseHeader" use="literal"/> + <soap:body use="literal"/> + </output> + <fault name="PermissionDeniedException"> + <soap:fault name="PermissionDeniedException" use="literal"/> + </fault> + <fault name="XTAWSTechnicalProblemException"> + <soap:fault name="XTAWSTechnicalProblemException" use="literal"/> + </fault> + </operation> + <operation name="close"> + <documentation>The close method returns close the fetch iterator</documentation> + <soap:operation soapAction="http://www.osci.eu/ws/2008/05/transport/urn/messageTypes/MsgBoxCloseRequest" soapActionRequired="true"/> + <input> + <documentation>Input: optional xta:AuthorIdentifier header and the + MsgBoxCloseRequest element conatining the fetch iterator in the body + part</documentation> + <soap:body use="literal"/> + <soap:header message="xta:XTAHeader" part="AuthorIdentifier" use="literal"/> + </input> + <output> + <documentation>only for exception handling</documentation> + <soap:body use="literal"/> + </output> + <fault name="PermissionDeniedException"> + <soap:fault name="PermissionDeniedException" use="literal"/> + </fault> + <fault name="XTAWSTechnicalProblemException"> + <soap:fault name="XTAWSTechnicalProblemException" use="literal"/> + </fault> + <fault name="InvalidMessageIDException"> + <soap:fault name="InvalidMessageIDException" use="literal"/> + </fault> + </operation> + </binding> + <!--Endpoints des Services--> + <service name="XTAService"> + <port name="MsgBoxPort" binding="xta:msgBoxHttpsBinding"> + <soap:address location="REPLACE_WITH_ACTUAL_URL"/> + + </port> + <port name="SendXtaPort" binding="xta:sendXTAHttpsBinding"> + <soap:address location="REPLACE_WITH_ACTUAL_URL"/> + + </port> + <port name="ManagementPort" binding="xta:managementHttpsBinding"> + <soap:address location="REPLACE_WITH_ACTUAL_URL"/> + + </port> + </service> +</definitions> \ No newline at end of file diff --git a/src/main/resources/wsdl/oasis-200401-wss-wssecurity-secext-1.0.xsd b/src/main/resources/wsdl/oasis-200401-wss-wssecurity-secext-1.0.xsd new file mode 100644 index 0000000000000000000000000000000000000000..0b91ca9031d27f43dff7c8acecb037489a60c676 --- /dev/null +++ b/src/main/resources/wsdl/oasis-200401-wss-wssecurity-secext-1.0.xsd @@ -0,0 +1,192 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS's procedures with respect to rights in OASIS specifications can be found at the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification, can be obtained from the OASIS Executive Director. +OASIS invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to implement this specification. Please address the information to the OASIS Executive Director. +Copyright © OASIS Open 2002-2004. All Rights Reserved. +This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself does not be modified in any way, such as by removing the copyright notice or references to OASIS, except as needed for the purpose of developing OASIS specifications, in which case the procedures for copyrights defined in the OASIS Intellectual Property Rights document must be followed, or as required to translate it into languages other than English. +The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns. +This document and the information contained herein is provided on an “AS IS” basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.--><xsd:schema targetNamespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" elementFormDefault="qualified" attributeFormDefault="unqualified" blockDefault="#all" version="0.2" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> + <xsd:import namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" schemaLocation="oasis-200401-wss-wssecurity-utility-1.0.xsd"/> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/> + <xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/> + <xsd:complexType name="AttributedString"> + <xsd:annotation> + <xsd:documentation>This type represents an element with arbitrary attributes.</xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attribute ref="wsu:Id"/> + <xsd:anyAttribute namespace="##other" processContents="lax"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + <xsd:complexType name="PasswordString"> + <xsd:annotation> + <xsd:documentation>This type is used for password elements per Section 4.1.</xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="wsse:AttributedString"> + <xsd:attribute name="Type" type="xsd:anyURI"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + <xsd:complexType name="EncodedString"> + <xsd:annotation> + <xsd:documentation>This type is used for elements containing stringified binary data.</xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="wsse:AttributedString"> + <xsd:attribute name="EncodingType" type="xsd:anyURI"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + <xsd:complexType name="UsernameTokenType"> + <xsd:annotation> + <xsd:documentation>This type represents a username token per Section 4.1</xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element name="Username" type="wsse:AttributedString"/> + <xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </xsd:sequence> + <xsd:attribute ref="wsu:Id"/> + <xsd:anyAttribute namespace="##other" processContents="lax"/> + </xsd:complexType> + <xsd:complexType name="BinarySecurityTokenType"> + <xsd:annotation> + <xsd:documentation>A security token that is encoded in binary</xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="wsse:EncodedString"> + <xsd:attribute name="ValueType" type="xsd:anyURI"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + <xsd:complexType name="KeyIdentifierType"> + <xsd:annotation> + <xsd:documentation>A security token key identifier</xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="wsse:EncodedString"> + <xsd:attribute name="ValueType" type="xsd:anyURI"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + <xsd:simpleType name="tUsage"> + <xsd:annotation> + <xsd:documentation>Typedef to allow a list of usages (as URIs).</xsd:documentation> + </xsd:annotation> + <xsd:list itemType="xsd:anyURI"/> + </xsd:simpleType> + <xsd:attribute name="Usage" type="tUsage"> + <xsd:annotation> + <xsd:documentation>This global attribute is used to indicate the usage of a referenced or indicated token within the containing context</xsd:documentation> + </xsd:annotation> + </xsd:attribute> + <xsd:complexType name="ReferenceType"> + <xsd:annotation> + <xsd:documentation>This type represents a reference to an external security token.</xsd:documentation> + </xsd:annotation> + <xsd:attribute name="URI" type="xsd:anyURI"/> + <xsd:attribute name="ValueType" type="xsd:anyURI"/> + <xsd:anyAttribute namespace="##other" processContents="lax"/> + </xsd:complexType> + <xsd:complexType name="EmbeddedType"> + <xsd:annotation> + <xsd:documentation>This type represents a reference to an embedded security token.</xsd:documentation> + </xsd:annotation> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:any processContents="lax"/> + </xsd:choice> + <xsd:attribute name="ValueType" type="xsd:anyURI"/> + <xsd:anyAttribute namespace="##other" processContents="lax"/> + </xsd:complexType> + <xsd:complexType name="SecurityTokenReferenceType"> + <xsd:annotation> + <xsd:documentation>This type is used reference a security token.</xsd:documentation> + </xsd:annotation> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:any processContents="lax"/> + </xsd:choice> + <xsd:attribute ref="wsu:Id"/> + <xsd:attribute ref="wsse:Usage"/> + <xsd:anyAttribute namespace="##other" processContents="lax"/> + </xsd:complexType> + <xsd:complexType name="SecurityHeaderType"> + <xsd:annotation> + <xsd:documentation>This complexType defines header block to use for security-relevant data directed at a specific SOAP actor.</xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation>The use of "any" is to allow extensibility and different forms of security data.</xsd:documentation> + </xsd:annotation> + </xsd:any> + </xsd:sequence> + <xsd:anyAttribute namespace="##other" processContents="lax"/> + </xsd:complexType> + <xsd:complexType name="TransformationParametersType"> + <xsd:annotation> + <xsd:documentation>This complexType defines a container for elements to be specified from any namespace as properties/parameters of a DSIG transformation.</xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:any processContents="lax" minOccurs="0" maxOccurs="unbounded"> + <xsd:annotation> + <xsd:documentation>The use of "any" is to allow extensibility from any namespace.</xsd:documentation> + </xsd:annotation> + </xsd:any> + </xsd:sequence> + <xsd:anyAttribute namespace="##other" processContents="lax"/> + </xsd:complexType> + <xsd:element name="UsernameToken" type="wsse:UsernameTokenType"> + <xsd:annotation> + <xsd:documentation>This element defines the wsse:UsernameToken element per Section 4.1.</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="BinarySecurityToken" type="wsse:BinarySecurityTokenType"> + <xsd:annotation> + <xsd:documentation>This element defines the wsse:BinarySecurityToken element per Section 4.2.</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="Reference" type="wsse:ReferenceType"> + <xsd:annotation> + <xsd:documentation>This element defines a security token reference</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="Embedded" type="wsse:EmbeddedType"> + <xsd:annotation> + <xsd:documentation>This element defines a security token embedded reference</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="KeyIdentifier" type="wsse:KeyIdentifierType"> + <xsd:annotation> + <xsd:documentation>This element defines a key identifier reference</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="SecurityTokenReference" type="wsse:SecurityTokenReferenceType"> + <xsd:annotation> + <xsd:documentation>This element defines the wsse:SecurityTokenReference per Section 4.3.</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="Security" type="wsse:SecurityHeaderType"> + <xsd:annotation> + <xsd:documentation>This element defines the wsse:Security SOAP header element per Section 4.</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="TransformationParameters" type="wsse:TransformationParametersType"> + <xsd:annotation> + <xsd:documentation>This element contains properties for transformations from any namespace, including DSIG.</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="Password" type="wsse:PasswordString"/> + <xsd:element name="Nonce" type="wsse:EncodedString"/> + <xsd:simpleType name="FaultcodeEnum"> + <xsd:restriction base="xsd:QName"> + <xsd:enumeration value="wsse:UnsupportedSecurityToken"/> + <xsd:enumeration value="wsse:UnsupportedAlgorithm"/> + <xsd:enumeration value="wsse:InvalidSecurity"/> + <xsd:enumeration value="wsse:InvalidSecurityToken"/> + <xsd:enumeration value="wsse:FailedAuthentication"/> + <xsd:enumeration value="wsse:FailedCheck"/> + <xsd:enumeration value="wsse:SecurityTokenUnavailable"/> + </xsd:restriction> + </xsd:simpleType> +</xsd:schema> \ No newline at end of file diff --git a/src/main/resources/wsdl/oasis-200401-wss-wssecurity-utility-1.0.xsd b/src/main/resources/wsdl/oasis-200401-wss-wssecurity-utility-1.0.xsd new file mode 100644 index 0000000000000000000000000000000000000000..8f0d5daf68692c5801581657d534df67ea77078d --- /dev/null +++ b/src/main/resources/wsdl/oasis-200401-wss-wssecurity-utility-1.0.xsd @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS's procedures with respect to rights in OASIS specifications can be found at the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification, can be obtained from the OASIS Executive Director. +OASIS invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to implement this specification. Please address the information to the OASIS Executive Director. +Copyright © OASIS Open 2002-2004. All Rights Reserved. +This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself does not be modified in any way, such as by removing the copyright notice or references to OASIS, except as needed for the purpose of developing OASIS specifications, in which case the procedures for copyrights defined in the OASIS Intellectual Property Rights document must be followed, or as required to translate it into languages other than English. +The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns. +This document and the information contained herein is provided on an “AS IS” basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.--><xsd:schema targetNamespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> + <!--// Fault Codes ///////////////////////////////////////////--> + <xsd:simpleType name="tTimestampFault"> + <xsd:annotation> + <xsd:documentation>This type defines the fault code value for Timestamp message expiration.</xsd:documentation> + </xsd:annotation> + <xsd:restriction base="xsd:QName"> + <xsd:enumeration value="wsu:MessageExpired"/> + </xsd:restriction> + </xsd:simpleType> + <!--// Global attributes ////////////////////////////////////--> + <xsd:attribute name="Id" type="xsd:ID"> + <xsd:annotation> + <xsd:documentation>This global attribute supports annotating arbitrary elements with an ID.</xsd:documentation> + </xsd:annotation> + </xsd:attribute> + <xsd:attributeGroup name="commonAtts"> + <xsd:annotation> + <xsd:documentation>Convenience attribute group used to simplify this schema.</xsd:documentation> + </xsd:annotation> + <xsd:attribute ref="wsu:Id" use="optional"/> + <xsd:anyAttribute namespace="##other" processContents="lax"/> + </xsd:attributeGroup> + <!--// Utility types ////////////////////////////////////////--> + <xsd:complexType name="AttributedDateTime"> + <xsd:annotation> + <xsd:documentation>This type is for elements whose [children] is a psuedo-dateTime and can have arbitrary attributes.</xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attributeGroup ref="wsu:commonAtts"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + <xsd:complexType name="AttributedURI"> + <xsd:annotation> + <xsd:documentation>This type is for elements whose [children] is an anyURI and can have arbitrary attributes.</xsd:documentation> + </xsd:annotation> + <xsd:simpleContent> + <xsd:extension base="xsd:anyURI"> + <xsd:attributeGroup ref="wsu:commonAtts"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + <!--// Timestamp header components ///////////////////////////--> + <xsd:complexType name="TimestampType"> + <xsd:annotation> + <xsd:documentation>This complex type ties together the timestamp related elements into a composite type.</xsd:documentation> + </xsd:annotation> + <xsd:sequence> + <xsd:element ref="wsu:Created" minOccurs="0"/> + <xsd:element ref="wsu:Expires" minOccurs="0"/> + <xsd:choice minOccurs="0" maxOccurs="unbounded"> + <xsd:any namespace="##other" processContents="lax"/> + </xsd:choice> + </xsd:sequence> + <xsd:attributeGroup ref="wsu:commonAtts"/> + </xsd:complexType> + <xsd:element name="Timestamp" type="wsu:TimestampType"> + <xsd:annotation> + <xsd:documentation>This element allows Timestamps to be applied anywhere element wildcards are present, +including as a SOAP header.</xsd:documentation> + </xsd:annotation> + </xsd:element> + <!--global element decls to allow individual elements to appear anywhere--> + <xsd:element name="Expires" type="wsu:AttributedDateTime"> + <xsd:annotation> + <xsd:documentation>This element allows an expiration time to be applied anywhere element wildcards are present.</xsd:documentation> + </xsd:annotation> + </xsd:element> + <xsd:element name="Created" type="wsu:AttributedDateTime"> + <xsd:annotation> + <xsd:documentation>This element allows a creation time to be applied anywhere element wildcards are present.</xsd:documentation> + </xsd:annotation> + </xsd:element> +</xsd:schema> \ No newline at end of file diff --git a/src/main/resources/wsdl/ws-addr.xsd b/src/main/resources/wsdl/ws-addr.xsd new file mode 100644 index 0000000000000000000000000000000000000000..9670f235478e90a9220994a4ac0fab37cdc189d1 --- /dev/null +++ b/src/main/resources/wsdl/ws-addr.xsd @@ -0,0 +1,116 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--W3C XML Schema defined in the Web Services Addressing 1.0 specification + http://www.w3.org/TR/ws-addr-core + + Copyright © 2005 World Wide Web Consortium, + + (Massachusetts Institute of Technology, European Research Consortium for + Informatics and Mathematics, Keio University). All Rights Reserved. This + work is distributed under the W3C® Software License [1] in the hope that + it will be useful, but WITHOUT ANY WARRANTY; without even the implied + warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + + $Id: ws-addr.xsd,v 1.2 2008/07/23 13:38:16 plehegar Exp $--><xs:schema targetNamespace="http://www.w3.org/2005/08/addressing" blockDefault="#all" elementFormDefault="qualified" finalDefault="" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.w3.org/2005/08/addressing"> + <!--Constructs from the WS-Addressing Core--> + <xs:element name="EndpointReference" type="tns:EndpointReferenceType"/> + <xs:complexType name="EndpointReferenceType" mixed="false"> + <xs:sequence> + <xs:element name="Address" type="tns:AttributedURIType"/> + <xs:element ref="tns:ReferenceParameters" minOccurs="0"/> + <xs:element ref="tns:Metadata" minOccurs="0"/> + <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + <xs:anyAttribute namespace="##other" processContents="lax"/> + </xs:complexType> + <xs:element name="ReferenceParameters" type="tns:ReferenceParametersType"/> + <xs:complexType name="ReferenceParametersType" mixed="false"> + <xs:sequence> + <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + <xs:anyAttribute namespace="##other" processContents="lax"/> + </xs:complexType> + <xs:element name="Metadata" type="tns:MetadataType"/> + <xs:complexType name="MetadataType" mixed="false"> + <xs:sequence> + <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + <xs:anyAttribute namespace="##other" processContents="lax"/> + </xs:complexType> + <xs:element name="MessageID" type="tns:AttributedURIType"/> + <xs:element name="RelatesTo" type="tns:RelatesToType"/> + <xs:complexType name="RelatesToType" mixed="false"> + <xs:simpleContent> + <xs:extension base="xs:anyURI"> + <xs:attribute name="RelationshipType" type="tns:RelationshipTypeOpenEnum" use="optional" default="http://www.w3.org/2005/08/addressing/reply"/> + <xs:anyAttribute namespace="##other" processContents="lax"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <xs:simpleType name="RelationshipTypeOpenEnum"> + <xs:union memberTypes="tns:RelationshipType xs:anyURI"/> + </xs:simpleType> + <xs:simpleType name="RelationshipType"> + <xs:restriction base="xs:anyURI"> + <xs:enumeration value="http://www.w3.org/2005/08/addressing/reply"/> + </xs:restriction> + </xs:simpleType> + <xs:element name="ReplyTo" type="tns:EndpointReferenceType"/> + <xs:element name="From" type="tns:EndpointReferenceType"/> + <xs:element name="FaultTo" type="tns:EndpointReferenceType"/> + <xs:element name="To" type="tns:AttributedURIType"/> + <xs:element name="Action" type="tns:AttributedURIType"/> + <xs:complexType name="AttributedURIType" mixed="false"> + <xs:simpleContent> + <xs:extension base="xs:anyURI"> + <xs:anyAttribute namespace="##other" processContents="lax"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <!--Constructs from the WS-Addressing SOAP binding--> + <xs:attribute name="IsReferenceParameter" type="xs:boolean"/> + <xs:simpleType name="FaultCodesOpenEnumType"> + <xs:union memberTypes="tns:FaultCodesType xs:QName"/> + </xs:simpleType> + <xs:simpleType name="FaultCodesType"> + <xs:restriction base="xs:QName"> + <xs:enumeration value="tns:InvalidAddressingHeader"/> + <xs:enumeration value="tns:InvalidAddress"/> + <xs:enumeration value="tns:InvalidEPR"/> + <xs:enumeration value="tns:InvalidCardinality"/> + <xs:enumeration value="tns:MissingAddressInEPR"/> + <xs:enumeration value="tns:DuplicateMessageID"/> + <xs:enumeration value="tns:ActionMismatch"/> + <xs:enumeration value="tns:MessageAddressingHeaderRequired"/> + <xs:enumeration value="tns:DestinationUnreachable"/> + <xs:enumeration value="tns:ActionNotSupported"/> + <xs:enumeration value="tns:EndpointUnavailable"/> + </xs:restriction> + </xs:simpleType> + <xs:element name="RetryAfter" type="tns:AttributedUnsignedLongType"/> + <xs:complexType name="AttributedUnsignedLongType" mixed="false"> + <xs:simpleContent> + <xs:extension base="xs:unsignedLong"> + <xs:anyAttribute namespace="##other" processContents="lax"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <xs:element name="ProblemHeaderQName" type="tns:AttributedQNameType"/> + <xs:complexType name="AttributedQNameType" mixed="false"> + <xs:simpleContent> + <xs:extension base="xs:QName"> + <xs:anyAttribute namespace="##other" processContents="lax"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + <xs:element name="ProblemIRI" type="tns:AttributedURIType"/> + <xs:element name="ProblemAction" type="tns:ProblemActionType"/> + <xs:complexType name="ProblemActionType" mixed="false"> + <xs:sequence> + <xs:element ref="tns:Action" minOccurs="0"/> + <xs:element name="SoapAction" minOccurs="0" type="xs:anyURI"/> + </xs:sequence> + <xs:anyAttribute namespace="##other" processContents="lax"/> + </xs:complexType> +</xs:schema> \ No newline at end of file diff --git a/src/main/resources/wsdl/ws-policy.xsd b/src/main/resources/wsdl/ws-policy.xsd new file mode 100644 index 0000000000000000000000000000000000000000..77e1e964d1d516c81f919771f9db4e74d14901d1 --- /dev/null +++ b/src/main/resources/wsdl/ws-policy.xsd @@ -0,0 +1,96 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!--W3C XML Schema defined in the Web Services Policy 1.5 + Framework specification + + http://www.w3.org/TR/ws-policy-framework + + Copyright © 2006 World Wide Web Consortium, + + (Massachusetts Institute of Technology, European Research Consortium for + Informatics and Mathematics, Keio University). All Rights Reserved. This + work is distributed under the W3C® Software License [1] in the hope that + it will be useful, but WITHOUT ANY WARRANTY; without even the implied + warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 + + $Id: ws-policy.xsd,v 1.2 2007/02/14 16:38:37 fsasaki Exp $--><xs:schema targetNamespace="http://www.w3.org/ns/ws-policy" blockDefault="#all" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.w3.org/ns/ws-policy" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> + <xs:import namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" schemaLocation="oasis-200401-wss-wssecurity-secext-1.0.xsd"/> + <xs:import namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" schemaLocation="oasis-200401-wss-wssecurity-utility-1.0.xsd"/> + <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/> + <!--Constructs from the Web Services Policy 1.5 Framework--> + <xs:element name="Policy"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="tns:OperatorContentType"> + <xs:attribute name="Name" type="xs:anyURI"/> + <xs:anyAttribute namespace="##any" processContents="lax"/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:element> + <xs:element name="All" type="tns:OperatorContentType"/> + <xs:element name="ExactlyOne" type="tns:OperatorContentType"/> + <xs:complexType name="OperatorContentType"> + <xs:sequence> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:element ref="tns:Policy"/> + <xs:element ref="tns:All"/> + <xs:element ref="tns:ExactlyOne"/> + <xs:element ref="tns:PolicyReference"/> + <xs:any namespace="##other" processContents="lax"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + <xs:element name="PolicyReference"> + <xs:complexType> + <xs:sequence> + <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + <xs:attribute name="URI" type="xs:anyURI" use="required"/> + <xs:attribute name="Digest" type="xs:base64Binary"/> + <xs:attribute name="DigestAlgorithm" type="xs:anyURI" default="http://www.w3.org/ns/ws-policy/Sha1Exc"/> + <xs:anyAttribute namespace="##any" processContents="lax"/> + </xs:complexType> + </xs:element> + <xs:attribute name="Optional" type="xs:boolean" default="false"/> + <xs:attribute name="Ignorable" type="xs:boolean" default="false"/> + <!--Constructs from the Web Services Policy 1.5 Attachment--> + <xs:attribute name="PolicyURIs"> + <xs:simpleType> + <xs:list itemType="xs:anyURI"/> + </xs:simpleType> + </xs:attribute> + <xs:element name="PolicyAttachment"> + <xs:complexType> + <xs:sequence> + <xs:element ref="tns:AppliesTo"/> + <xs:choice maxOccurs="unbounded"> + <xs:element ref="tns:Policy"/> + <xs:element ref="tns:PolicyReference"/> + </xs:choice> + <!--omitted only because it causes the content model to be non-determistic + <xs:element ref="wsse:Security" minOccurs="0" />--> + <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </xs:sequence> + <xs:anyAttribute namespace="##any" processContents="lax"/> + </xs:complexType> + </xs:element> + <xs:element name="AppliesTo"> + <xs:complexType> + <xs:sequence> + <xs:any namespace="##any" processContents="lax" maxOccurs="unbounded"/> + </xs:sequence> + <xs:anyAttribute namespace="##any" processContents="lax"/> + </xs:complexType> + </xs:element> + <xs:element name="URI"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:anyURI"> + <xs:anyAttribute namespace="##any" processContents="lax"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> +</xs:schema> \ No newline at end of file diff --git a/src/main/resources/wsdl/xenc-schema.xsd b/src/main/resources/wsdl/xenc-schema.xsd new file mode 100644 index 0000000000000000000000000000000000000000..bf0b82b76580751dc2d6e69a4340e47535e68d38 --- /dev/null +++ b/src/main/resources/wsdl/xenc-schema.xsd @@ -0,0 +1,137 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- <!DOCTYPE schema PUBLIC "-//W3C//DTD XMLSchema 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd"> --> +<!--# +# Copyright ©[2011] World Wide Web Consortium +# (Massachusetts Institute of Technology, +# European Research Consortium for Informatics and Mathematics, +# Keio University). All Rights Reserved. +# This work is distributed under the W3C® Software License [1] in the +# hope that it will be useful, but WITHOUT ANY WARRANTY; without even +# the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. +# [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231 +#--><schema targetNamespace="http://www.w3.org/2001/04/xmlenc#" elementFormDefault="qualified" version="1.0" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> + <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/> + <complexType name="EncryptedType" abstract="true"> + <sequence> + <element name="EncryptionMethod" type="xenc:EncryptionMethodType" minOccurs="0"/> + <element ref="ds:KeyInfo" minOccurs="0"/> + <element ref="xenc:CipherData"/> + <element ref="xenc:EncryptionProperties" minOccurs="0"/> + </sequence> + <attribute name="Id" type="ID" use="optional"/> + <attribute name="Type" type="anyURI" use="optional"/> + <attribute name="MimeType" type="string" use="optional"/> + <attribute name="Encoding" type="anyURI" use="optional"/> + </complexType> + <complexType name="EncryptionMethodType" mixed="true"> + <sequence> + <element name="KeySize" type="xenc:KeySizeType" minOccurs="0"/> + <element name="OAEPparams" type="base64Binary" minOccurs="0"/> + <!--note that optional xenc11:MGF element may be used here for + RSA-OAEP, when appropriate--> + <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute name="Algorithm" type="anyURI" use="required"/> + </complexType> + <simpleType name="KeySizeType"> + <restriction base="integer"/> + </simpleType> + <element name="CipherData" type="xenc:CipherDataType"/> + <complexType name="CipherDataType"> + <choice> + <element name="CipherValue" type="base64Binary"/> + <element ref="xenc:CipherReference"/> + </choice> + </complexType> + <element name="CipherReference" type="xenc:CipherReferenceType"/> + <complexType name="CipherReferenceType"> + <choice> + <element name="Transforms" type="xenc:TransformsType" minOccurs="0"/> + </choice> + <attribute name="URI" type="anyURI" use="required"/> + </complexType> + <complexType name="TransformsType"> + <sequence> + <element ref="ds:Transform" maxOccurs="unbounded"/> + </sequence> + </complexType> + <element name="EncryptedData" type="xenc:EncryptedDataType"/> + <complexType name="EncryptedDataType"> + <complexContent> + <extension base="xenc:EncryptedType"/> + </complexContent> + </complexType> + <!--Children of ds:KeyInfo--> + <element name="EncryptedKey" type="xenc:EncryptedKeyType"/> + <complexType name="EncryptedKeyType"> + <complexContent> + <extension base="xenc:EncryptedType"> + <sequence> + <element ref="xenc:ReferenceList" minOccurs="0"/> + <element name="CarriedKeyName" type="string" minOccurs="0"/> + </sequence> + <attribute name="Recipient" type="string" use="optional"/> + </extension> + </complexContent> + </complexType> + <element name="AgreementMethod" type="xenc:AgreementMethodType"/> + <complexType name="AgreementMethodType" mixed="true"> + <sequence> + <element name="KA-Nonce" type="base64Binary" minOccurs="0"/> + <!--<element ref="ds:DigestMethod" minOccurs="0"/>--> + <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> + <element name="OriginatorKeyInfo" type="ds:KeyInfoType" minOccurs="0"/> + <element name="RecipientKeyInfo" type="ds:KeyInfoType" minOccurs="0"/> + </sequence> + <attribute name="Algorithm" type="anyURI" use="required"/> + </complexType> + <!--End Children of ds:KeyInfo--> + <element name="ReferenceList"> + <complexType> + <choice maxOccurs="unbounded"> + <element name="DataReference" type="xenc:ReferenceType"/> + <element name="KeyReference" type="xenc:ReferenceType"/> + </choice> + </complexType> + </element> + <complexType name="ReferenceType"> + <sequence> + <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <attribute name="URI" type="anyURI" use="required"/> + </complexType> + <element name="EncryptionProperties" type="xenc:EncryptionPropertiesType"/> + <complexType name="EncryptionPropertiesType"> + <sequence> + <element ref="xenc:EncryptionProperty" maxOccurs="unbounded"/> + </sequence> + <attribute name="Id" type="ID" use="optional"/> + </complexType> + <element name="EncryptionProperty" type="xenc:EncryptionPropertyType"/> + <complexType name="EncryptionPropertyType" mixed="true"> + <choice maxOccurs="unbounded"> + <any namespace="##other" processContents="lax"/> + </choice> + <attribute name="Target" type="anyURI" use="optional"/> + <attribute name="Id" type="ID" use="optional"/> + <anyAttribute namespace="http://www.w3.org/XML/1998/namespace"/> + </complexType> + <!--Children of ds:KeyValue--> + <element name="DHKeyValue" type="xenc:DHKeyValueType"/> + <complexType name="DHKeyValueType"> + <sequence> + <sequence minOccurs="0"> + <element name="P" type="ds:CryptoBinary"/> + <element name="Q" type="ds:CryptoBinary"/> + <element name="Generator" type="ds:CryptoBinary"/> + </sequence> + <element name="Public" type="ds:CryptoBinary"/> + <sequence minOccurs="0"> + <element name="seed" type="ds:CryptoBinary"/> + <element name="pgenCounter" type="ds:CryptoBinary"/> + </sequence> + </sequence> + </complexType> + <!--End Children of ds:KeyValue--> +</schema> \ No newline at end of file diff --git a/src/main/resources/wsdl/xml.xsd b/src/main/resources/wsdl/xml.xsd new file mode 100644 index 0000000000000000000000000000000000000000..71cd9091f780cc6d39ac2da439fc19e67d042af1 --- /dev/null +++ b/src/main/resources/wsdl/xml.xsd @@ -0,0 +1,243 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?xml-stylesheet href="../2008/09/xsd.xsl" type="text/xsl"?><xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xml:lang="en" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/1999/xhtml"> + <xs:annotation> + <xs:documentation> + <div> + <h1>About the XML namespace</h1> + <div class="bodytext"> + <p>This schema document describes the XML namespace, in a form + suitable for import by other schema documents.</p> + <p> + See + <a href="http://www.w3.org/XML/1998/namespace.html">http://www.w3.org/XML/1998/namespace.html</a> + and + <a href="http://www.w3.org/TR/REC-xml">http://www.w3.org/TR/REC-xml</a> + for information + about this namespace. + </p> + <p>Note that local names in this namespace are intended to be + defined only by the World Wide Web Consortium or its subgroups. + The names currently defined in this namespace are listed below. + They should not be used with conflicting semantics by any Working + Group, specification, or document instance.</p> + <p> + See further below in this document for more information about + <a href="#usage">how to refer to this schema document from your own + XSD schema documents</a> + and about + <a href="#nsversioning">the + namespace-versioning policy governing this schema document</a> + . + </p> + </div> + </div> + </xs:documentation> + </xs:annotation> + <xs:attribute name="lang"> + <xs:annotation> + <xs:documentation> + <div> + <h3>lang (as an attribute name)</h3> + <p>denotes an attribute whose value + is a language code for the natural language of the content of + any element; its value is inherited. This name is reserved + by virtue of its definition in the XML specification.</p> + </div> + <div> + <h4>Notes</h4> + <p>Attempting to install the relevant ISO 2- and 3-letter + codes as the enumerated possible values is probably never + going to be a realistic possibility.</p> + <p> + See BCP 47 at + <a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt">http://www.rfc-editor.org/rfc/bcp/bcp47.txt</a> + and the IANA language subtag registry at + <a href="http://www.iana.org/assignments/language-subtag-registry">http://www.iana.org/assignments/language-subtag-registry</a> + for further information. + </p> + <p>The union allows for the 'un-declaration' of xml:lang with + the empty string.</p> + </div> + </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:union memberTypes="xs:language"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value=""/> + </xs:restriction> + </xs:simpleType> + </xs:union> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="space"> + <xs:annotation> + <xs:documentation> + <div> + <h3>space (as an attribute name)</h3> + <p>denotes an attribute whose + value is a keyword indicating what whitespace processing + discipline is intended for the content of the element; its + value is inherited. This name is reserved by virtue of its + definition in the XML specification.</p> + </div> + </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="xs:NCName"> + <xs:enumeration value="default"/> + <xs:enumeration value="preserve"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attribute name="base" type="xs:anyURI"> + <xs:annotation> + <xs:documentation> + <div> + <h3>base (as an attribute name)</h3> + <p>denotes an attribute whose value + provides a URI to be used as the base for interpreting any + relative URIs in the scope of the element on which it + appears; its value is inherited. This name is reserved + by virtue of its definition in the XML Base specification.</p> + <p> + See + <a href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a> + for information about this attribute. + </p> + </div> + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attribute name="id" type="xs:ID"> + <xs:annotation> + <xs:documentation> + <div> + <h3>id (as an attribute name)</h3> + <p>denotes an attribute whose value + should be interpreted as if declared to be of type ID. + This name is reserved by virtue of its definition in the + xml:id specification.</p> + <p> + See + <a href="http://www.w3.org/TR/xml-id/">http://www.w3.org/TR/xml-id/</a> + for information about this attribute. + </p> + </div> + </xs:documentation> + </xs:annotation> + </xs:attribute> + <xs:attributeGroup name="specialAttrs"> + <xs:attribute ref="xml:base"/> + <xs:attribute ref="xml:lang"/> + <xs:attribute ref="xml:space"/> + <xs:attribute ref="xml:id"/> + </xs:attributeGroup> + <xs:annotation> + <xs:documentation> + <div> + <h3>Father (in any context at all)</h3> + <div class="bodytext"> + <p>denotes Jon Bosak, the chair of + the original XML Working Group. This name is reserved by + the following decision of the W3C XML Plenary and + XML Coordination groups:</p> + <blockquote> + <p>In appreciation for his vision, leadership and + dedication the W3C XML Plenary on this 10th day of + February, 2000, reserves for Jon Bosak in perpetuity + the XML name "xml:Father".</p> + </blockquote> + </div> + </div> + </xs:documentation> + </xs:annotation> + <xs:annotation> + <xs:documentation> + <div xml:id="usage" id="usage"> + <h2> + <a name="usage">About this schema document</a> + </h2> + <div class="bodytext"> + <p> + This schema defines attributes and an attribute group suitable + for use by schemas wishing to allow + <code>xml:base</code> + , + <code>xml:lang</code> + , + <code>xml:space</code> + or + <code>xml:id</code> + attributes on elements they define. + </p> + <p>To enable this, such a schema must import this schema for + the XML namespace, e.g. as follows:</p> + <pre><schema . . .> + . . . + <import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2001/xml.xsd"/></pre> + <p>or</p> + <pre><import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2009/01/xml.xsd"/></pre> + <p>Subsequently, qualified reference to any of the attributes or the + group defined below will have the desired effect, e.g.</p> + <pre><type . . .> + . . . + <attributeGroup ref="xml:specialAttrs"/></pre> + <p>will define a type which will schema-validate an instance element + with any of those attributes.</p> + </div> + </div> + </xs:documentation> + </xs:annotation> + <xs:annotation> + <xs:documentation> + <div id="nsversioning" xml:id="nsversioning"> + <h2> + <a name="nsversioning">Versioning policy for this schema document</a> + </h2> + <div class="bodytext"> + <p> + In keeping with the XML Schema WG's standard versioning + policy, this schema document will persist at + <a href="http://www.w3.org/2009/01/xml.xsd">http://www.w3.org/2009/01/xml.xsd</a> + . + </p> + <p> + At the date of issue it can also be found at + <a href="http://www.w3.org/2001/xml.xsd">http://www.w3.org/2001/xml.xsd</a> + . + </p> + <p> + The schema document at that URI may however change in the future, + in order to remain compatible with the latest version of XML + Schema itself, or with the XML namespace itself. In other words, + if the XML Schema or XML namespaces change, the version of this + document at + <a href="http://www.w3.org/2001/xml.xsd">http://www.w3.org/2001/xml.xsd</a> + will change accordingly; the version at + <a href="http://www.w3.org/2009/01/xml.xsd">http://www.w3.org/2009/01/xml.xsd</a> + will not change. + </p> + <p>Previous dated (and unchanging) versions of this schema + document are at:</p> + <ul> + <li> + <a href="http://www.w3.org/2009/01/xml.xsd">http://www.w3.org/2009/01/xml.xsd</a> + </li> + <li> + <a href="http://www.w3.org/2007/08/xml.xsd">http://www.w3.org/2007/08/xml.xsd</a> + </li> + <li> + <a href="http://www.w3.org/2004/10/xml.xsd">http://www.w3.org/2004/10/xml.xsd</a> + </li> + <li> + <a href="http://www.w3.org/2001/03/xml.xsd">http://www.w3.org/2001/03/xml.xsd</a> + </li> + </ul> + </div> + </div> + </xs:documentation> + </xs:annotation> +</xs:schema> \ No newline at end of file diff --git a/src/main/resources/wsdl/xmldsig-core-schema.xsd b/src/main/resources/wsdl/xmldsig-core-schema.xsd new file mode 100644 index 0000000000000000000000000000000000000000..e8ec163012d94a87e70e9a3c826194a360a2d125 --- /dev/null +++ b/src/main/resources/wsdl/xmldsig-core-schema.xsd @@ -0,0 +1,253 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- <!DOCTYPE schema 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.2 $ on $Date: 2013-04-16 12:48:49 $ by $Author: denis $ + + 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#" version="0.1" elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> + <!--Basic Types Defined for Signatures--> + <simpleType name="CryptoBinary"> + <restriction base="base64Binary"/> + </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="base64Binary"> + <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" minOccurs="0" type="ds:HMACOutputLengthType"/> + <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"/> + <!--(1,1) elements from (0,unbounded) namespaces--> + <element name="XPath" type="string"/> + </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="base64Binary"/> + </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 processContents="lax" namespace="##other"/> + <!--(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 ref="ds:Transforms" 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="base64Binary"/> + <element name="X509SubjectName" type="string"/> + <element name="X509Certificate" type="base64Binary"/> + <element name="X509CRL" type="base64Binary"/> + <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="base64Binary"/> + <element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/> + <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> + </sequence> + <sequence> + <element name="PGPKeyPacket" type="base64Binary"/> + <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="base64Binary"/> + <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"/> + <!--add a grep facet--> + <attribute name="Encoding" type="anyURI" use="optional"/> + </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="G" type="ds:CryptoBinary" minOccurs="0"/> + <element name="Y" type="ds:CryptoBinary"/> + <element name="J" type="ds:CryptoBinary" minOccurs="0"/> + <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> \ No newline at end of file diff --git a/src/main/resources/wsdl/xoev-basisdatentypen.xsd b/src/main/resources/wsdl/xoev-basisdatentypen.xsd new file mode 100644 index 0000000000000000000000000000000000000000..37b43a611b6f705861b315d2f4df89dd71728c1f --- /dev/null +++ b/src/main/resources/wsdl/xoev-basisdatentypen.xsd @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema targetNamespace="http://xoev.de/schemata/basisdatentypen/1_1" version="1.1" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xoev-dt="http://xoev.de/schemata/basisdatentypen/1_1"> + <xs:complexType name="Code"> + <xs:annotation> + <xs:appinfo> + <title>Datentyp für die Übermittlung von Codes</title> + </xs:appinfo> + <xs:documentation>Datentyp für die Übermittlung von Codes (vgl. XÖV-Handbuch).</xs:documentation> + </xs:annotation> + <xs:sequence> + <xs:element name="code" type="xs:token" form="unqualified"/> + <xs:element name="name" minOccurs="0" type="xs:normalizedString" form="unqualified"/> + </xs:sequence> + <xs:attribute name="listURI" type="xs:anyURI" use="optional"/> + <xs:attribute name="listVersionID" type="xs:normalizedString" use="optional"/> + </xs:complexType> +</xs:schema> \ No newline at end of file