Basic envelope
The basic envelope is used to return the message information without the business content and audited fields, but with the message state and an URL to request the complete message.
The following information is provided for each message:
- source and destination endpoints (banks and corporates)
- message key (UUID)
- module and message type
- client state of the message
- secret and confidential files
- version
The basic envelope is used as a standalone technical message to return the message identifier and as part of the dynamic status list.
XSD file
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gdt="http://www.gtsa.ch/gtsa-data-types"
xmlns:gbenv="http://www.gtsa.ch/gtsa-basic-envelope"
targetNamespace="http://www.gtsa.ch/gtsa-basic-envelope"
elementFormDefault="qualified">
<xs:import namespace="http://www.gtsa.ch/gtsa-data-types" />
<!-- Version of April 15th CET 2011. -->
<xs:element name="basic-envelope" type="gbenv:basic-envelope"> </xs:element>
<!-- basic envelope needs to be defined as complex type because it is extended by envelope -->
<xs:complexType name="basic-envelope">
<xs:sequence>
<!-- Identifies the Sender (Bank or Corporation) ; Unique Identifier endpointIdGTSA-->
<xs:element name="from-sender-company" minOccurs="1" maxOccurs="1" type="gdt:Endpoint" />
<!-- Identifies the Receiver (Bank or Corporation) ; Unique Identifier endpointIdGTSA -->
<xs:element name="to-receiver-company" minOccurs="1" maxOccurs="1" type="gdt:Endpoint" />
<xs:element name="module" minOccurs="0" maxOccurs="1" type="gdt:Module" />
<xs:element name="message-type" minOccurs="0" maxOccurs="1" type="gdt:MessageType" />
<!-- message uuid -->
<xs:element name="message-key" minOccurs="0" maxOccurs="1" type="gdt:MessageKey" />
<!-- the reason why a message has been rejected -->
<xs:element name="reason-rejected" minOccurs="0" maxOccurs="1" type="xs:string" />
<xs:element name="version" minOccurs="0" maxOccurs="1" type="xs:string" />
<!--
List of Secret Files along with fileName, fileSize and. fileFingerprint
-->
<xs:element name="secret-files" minOccurs="0" maxOccurs="1">
<xs:complexType><xs:sequence>
<xs:element name="file" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="file-name" minOccurs="0" maxOccurs="1"> <xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0"></xs:minLength> </xs:restriction> </xs:simpleType>
</xs:element>
<xs:element name="file-size" minOccurs="0" maxOccurs="1"> <xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0"></xs:minLength> </xs:restriction> </xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<!--
List of Confidential Files along with fileName, fileSize and fileFingerprint
-->
<xs:element name="confidential-files" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="file" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="file-name" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0"></xs:minLength> </xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="file-size" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0"></xs:minLength> </xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>
|
Basic Envelope and State
These messages are used to communicate the server state (the message state in the server). They contain the basic envelope and the status.
XSD file
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.gtsa.ch/gtsa-basic-envelope-state"
elementFormDefault="qualified" xmlns:gbenv="http://www.gtsa.ch/gtsa-basic-envelope"
xmlns:gbes="http://www.gtsa.ch/gtsa-basic-envelope-state">
<xs:import namespace="http://www.gtsa.ch/gtsa-basic-envelope" />
<!--Version of Jan 03 CET 2011.-->
<xs:element name="basic-envelope-state">
<xs:complexType>
<!-- Basic Envelope and state element -->
<xs:sequence>
<xs:element maxOccurs="1" minOccurs="0"
ref="gbenv:basic-envelope" />
<!--
Refers to Server State - used for status checks from CG/MQM This
actually refers to the message state present in the Server. Server
refers to the "component" from which the adapters are receiving the
message
-->
<xs:element name="state" maxOccurs="1" minOccurs="1"
type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
|
List of basic envelopes and states
A list of messages with the basic envelope and state (as specified above) for each message returned sent for certain business scenarios for examples (e.g. "Buffered Status Service Requests" and "Multi EndPoint Buffered Status Service Requests"). The list can be paginated (limited to a maximum size and started from an arbitrary point) and it must be ordered in a specific way (defined for each request). The returned list has a maximum configurable size which is much larger than the number of expected messages in the queue. In case more messages were pending, only the maximum size will be returned and an error would be logged (this is to handle pathological situations, as any client should be able to handle list of thousand of messages without problem).
The list provides the information of the request (more or less the requesting URL elements in an xml structure) and the list of messages.
XSD file
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.gtsa.ch/gtsa-basic-envelope-state-list"
elementFormDefault="qualified" xmlns:gbes="http://www.gtsa.ch/gtsa-basic-envelope-state" xmlns:gbesl="http://www.gtsa.ch/gtsa-basic-envelope-state-list">
<xs:import namespace="http://www.gtsa.ch/gtsa-basic-envelope-state" />
<!--Version of Jan 03 CET 2011.-->
<xs:element name="basic-envelope-state-list">
<xs:complexType>
<xs:sequence>
<xs:element ref="gbes:basic-envelope-state" maxOccurs="unbounded" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
|
Envelope
This message extends the basic envelope and contains some additional fields:
- name of the sender
- language of the message
- date and time
- a field for comments
- a list of audited fields that can be configured by endpoints (not validated).
XSD file
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:gdt="http://www.gtsa.ch/gtsa-data-types"
xmlns:gbenv="http://www.gtsa.ch/gtsa-basic-envelope"
targetNamespace="http://www.gtsa.ch/gtsa-envelope"
xmlns:genv="http://www.gtsa.ch/gtsa-envelope"
elementFormDefault="qualified">
<xs:import namespace="http://www.gtsa.ch/gtsa-data-types" />
<xs:import namespace="http://www.gtsa.ch/gtsa-basic-envelope" />
<!--Version of Jan 03 CET 2011.-->
<xs:element name="envelope">
<xs:complexType>
<xs:complexContent>
<xs:extension base="gbenv:basic-envelope">
<xs:sequence>
<!-- Name of the Sender (Bank or Corporation) -->
<xs:element name="sender-user-name"
minOccurs="0" maxOccurs="1" type="gdt:Max35Text" />
<xs:element name="message-language"
minOccurs="0" maxOccurs="1" type="gdt:Language" />
<xs:element name="application-date-time"
minOccurs="0" maxOccurs="1" type="xs:dateTime" />
<!--
This place is provided for Endpoints to update with list of audited
fields and values; Not validated by the platform
-->
<!-- General Comments , if any ; to decide whether this is required -->
<xs:element name="comments"
minOccurs="0" maxOccurs="1" type="gdt:Max2000Text" />
<xs:element name="audited-fields"
minOccurs="0" maxOccurs="1" type="gdt:hashMapType">
<!-- Add key value pair of audited-fields and their values here-->
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:element>
</xs:schema>
|
Endpoint
This message contains information about an endpoint:
- short name and ID
- address
- time of the last modification
- storage alert level and quota
- delay for acknowledgements
- member type
- mode
- state of the endpoint
- list of moduels
- certificate type and wisekey user ID
- flag to allow or deny testing
As well as lists of:
- domain names
- authorized endpoints
- external format fields (can be updated by the endpoints)
XSD file
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:gdt="http://www.gtsa.ch/gtsa-data-types"
xmlns:gep="http://www.gtsa.ch/gtsa-endpoint" targetNamespace="http://www.gtsa.ch/gtsa-endpoint">
<xs:import namespace="http://www.gtsa.ch/gtsa-data-types" />
<!--
Version of April 15th CET 2011.
-->
<xs:element name="endpoint" type="gep:endpoint">
</xs:element>
<!-- complex type endpoint is defined because endpoint is referenced in element autorized-endpoint -->
<xs:complexType name="endpoint">
<xs:sequence>
<xs:element name="short-name" minOccurs="1" maxOccurs="1" type="gdt:Max35Text">
</xs:element>
<!-- Unique Identifier per endpoint -->
<xs:element name="endpoint-id-gtsa" minOccurs="1" maxOccurs="1" type="gdt:Endpoint">
</xs:element>
<xs:element name="address" minOccurs="1" maxOccurs="1" type="gdt:Address">
</xs:element>
<xs:element name="last-modified-time" minOccurs="0" maxOccurs="1" type="xs:dateTime">
</xs:element>
<!-- Applicable only for Endpoints using Portal Application -->
<xs:element name="storage-alert" minOccurs="1" maxOccurs="1" type="xs:nonNegativeInteger">
</xs:element>
<xs:element name="storage-quota" minOccurs="1" maxOccurs="1" type="xs:nonNegativeInteger">
</xs:element>
<xs:element name="acknowledge-delay" minOccurs="1" maxOccurs="1" type="xs:nonNegativeInteger">
</xs:element>
<xs:element name="endpoint-member-type" minOccurs="1" maxOccurs="1" type="xs:string">
</xs:element>
<xs:element name="mode" minOccurs="1" maxOccurs="1" type="xs:string">
</xs:element>
<xs:element name="endpoint-state" minOccurs="1" maxOccurs="1" type="xs:string">
</xs:element>
<xs:element name="module-list" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="module" minOccurs="0" maxOccurs="unbounded" type="gdt:Module">
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="certificate" minOccurs="0" maxOccurs="1" type="xs:string">
</xs:element>
<xs:element name="wisekey-user-id" minOccurs="0" maxOccurs="1" type="xs:nonNegativeInteger">
</xs:element>
<xs:element name="allowed-to-test" minOccurs="0" maxOccurs="1" type="xs:boolean">
</xs:element>
<xs:element name="domain-names-list" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="domain-name" minOccurs="0" maxOccurs="unbounded" type="xs:string">
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="authorized-endpoint-list" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="authorized-endpoint" minOccurs="0" maxOccurs="unbounded" type="gep:endpoint">
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="subsidiary-list" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="subsidiary" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="name" minOccurs="1" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0"></xs:minLength>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="bank" minOccurs="1" maxOccurs="1" type="gep:endpoint">
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="external-format-fields" minOccurs="0" maxOccurs="1" type="gdt:hashMapType">
<!-- Add key value pair of external-format-fields and their values here-->
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>
|
Endpoint list
Endpoint directory is used to list the details of all endpoints the given endpoint is allowed to communicate with. This is authorized and not available for all users directly.
The message contains two lists of endpoints (for the two portals), the endpoints being described as defined above.
XSD file
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" xmlns:gep="http://www.gtsa.ch/gtsa-endpoint"
xmlns:gepl="http://www.gtsa.ch/gtsa-endpoint-list" targetNamespace="http://www.gtsa.ch/gtsa-endpoint-list">
<xs:import namespace="http://www.gtsa.ch/gtsa-endpoint" />
<!--Version of Jan 03 CET 2011. -->
<xs:element name="endpoint-list">
<xs:complexType>
<xs:sequence>
<xs:element name="endpoint-list-this-portal" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0"
ref="gep:endpoint" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="endpoint-list-other-portal" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0"
ref="gep:endpoint" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
|
Error list
A list of errors. Each error can be described with:
- an error-code
- a description
- comments
XSD file
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" xmlns:gep="http://www.gtsa.ch/gtsa-endpoint"
xmlns:gepl="http://www.gtsa.ch/gtsa-endpoint-list" targetNamespace="http://www.gtsa.ch/gtsa-endpoint-list">
<xs:import namespace="http://www.gtsa.ch/gtsa-endpoint" />
<!--Version of Jan 03 CET 2011. -->
<xs:element name="endpoint-list">
<xs:complexType>
<xs:sequence>
<xs:element name="endpoint-list-this-portal" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0"
ref="gep:endpoint" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="endpoint-list-other-portal" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0"
ref="gep:endpoint" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
|