Breadcrumb
- Sabre Red 360 Software Development Kit Help
- Desktop Red Apps
- Communications in Red Apps
- Single Sign-On
- SSO samples and schemas
SSO samples and schemas
Schemas links
Data
Samples
SSO_ValidateTokenRQ.example3.110.xml
<ValidateTokenRQ xmlns="http://webservices.sabre.com/sabreXML/sso/ssoaas/SSO_ValidateToken/1.1.0"
version="1.1.0" applicationID="App1">
<SAMLToken>
PHNhbWwycDpSZXNwb25zZSB4bWxuczpzYW1sMnA9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIu
MDpwcm90b2NvbCIgRGVzdGluYXRpb249Imh0dHBzOi8vd3gxLmdldHRoZXJlLm5ldC9sb2dpbi9z
YW1sL3Bvc3QuYWN0IiBJRD0iXzMxMGQ1MzdiNjBlNDQwMzBiNGUzZGE0OGRhYmY3NzdiIiBJc3N1
ZUluc3RhbnQ9IjIwMTItMDYtMjFUMTA6NDU6MjUuNjgwWiIgVmVyc2lvbj0iMi4wIj48c2FtbDI6
SXNzdWVyIHhtbG5zOnNhbWwyPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YXNzZXJ0aW9u
IiBGb3JtYXQ9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIuMDpuYW1laWQtZm9ybWF0OmVudGl0
eSI+aHR0cHM6Ly9sb2dpbjIuZGV2LnNhYnJlLmNvbS88L3NhbWwyOklzc3Vlcj48c2FtbDJwOlN0
YXR1cz48c2FtbDJwOlN0YXR1c0NvZGUgVmFsdWU9InVybjpvYXNpczpuYW1lczp0YzpTQU1MOjIu
MDpzdGF0dXM6U3VjY2VzcyIvPjwvc2FtbDJwOlN0YXR1cz48c2FtbDI6QXNzZXJ0aW9uIHhtbG5z
OnNhbWwyPSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoyLjA6YXNzZXJ0aW9uIiBJRD0iXzZjYzQx
ODRmZGYwZTRjYTU5ZDI5ZmI0MDA3YTg3Yzc5IiBJc3N1ZUluc3RhbnQ9IjIwMTItMDYtMjFUMTA6
NDU6MjUuNjgwWiIgVmVyc2lvbj0iMi4wIiB4bWxuczp4cz0iaHR0cDovL3d3dy53My5vcmcvMjAw
MS9YTUxTY2hlbWEiPjxzYW1sMjpJc3N1ZXIgRm9ybWF0PSJ1cm46b2FzaXM6bmFtZXM6dGM6U0FN
TDoyLjA6bmFtZWlkLWZvcm1hdDplbnRpdHkiPmh0dHBzOi8vbG9naW4yLmRldi5zYWJyZS5jb20v
PC9zYW1sMjpJc3N1ZXI+PGRzOlNpZ25hdHVyZSB4bWxuczpkcz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC8wOS94bWxkc2lnIyI+PGRzOlNpZ25lZEluZm8+PGRzOkNhbm9uaWNhbGl6YXRpb25NZXRo
b2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzEwL3htbC1leGMtYzE0biMiLz48
ZHM6U2lnbmF0dXJlTWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94
bWxkc2lnI3JzYS1zaGExIi8+PGRzOlJlZmVyZW5jZSBVUkk9IiNfNmNjNDE4NGZkZjBlNGNhNTlk
MjlmYjQwMDdhODdjNzkiPjxkczpUcmFuc2Zvcm1zPjxkczpUcmFuc2Zvcm0gQWxnb3JpdGhtPSJo
dHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3htbGRzaWcjZW52ZWxvcGVkLXNpZ25hdHVyZSIvPjxk
czpUcmFuc2Zvcm0gQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzEwL3htbC1leGMt
YzE0biMiPjxlYzpJbmNsdXNpdmVOYW1lc3BhY2VzIHhtbG5zOmVjPSJodHRwOi8vd3d3LnczLm9y
Zy8yMDAxLzEwL3htbC1leGMtYzE0biMiIFByZWZpeExpc3Q9InhzIi8+PC9kczpUcmFuc2Zvcm0+
PC9kczpUcmFuc2Zvcm1zPjxkczpEaWdlc3RNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3Lncz
Lm9yZy8yMDAwLzA5L3htbGRzaWcjc2hhMSIvPjxkczpEaWdlc3RWYWx1ZT55WDgvODAxZlJDYlQ0
QjBoeEg1bEJsMUFZVVE9PC9kczpEaWdlc3RWYWx1ZT48L2RzOlJlZmVyZW5jZT48L2RzOlNpZ25l
ZEluZm8+PGRzOlNpZ25hdHVyZVZhbHVlPmZmUHUwN1A2NkxPRXZDUWNaNXVMWFl0YTFSeWRTZU1X
TEN3RGY0cEovQmdrYXJaaGp5cWlFbWVjcGluWEZQYk5jQlpzZlVHaXNONVdSOHRXclVWbWtmMDNM
WFlGT1p3L0N0cUFqVUhoU2p0anJ3c05UQk90ejhjd01QRFJhNmJ0ajEvejA4NFV1NG42K0RBWU04
OTBXRTQ0ZnFnbDFwSjF2cUJTZ3luTlRxKzRaTnNOMzl4eXo3RTNZSWtuRk9kSVY4V2hQajVoVjEv
d1lZenNJNXVSSkNMZEFRaVRERXhOMGRJcVliaXo1bkpBbk81VFZNWjBJWTFlRmp6c0N5R1c2WXRW
eVk1ZnNWT2VZazJHN0hSL241c01EMzJEWTdZQmxKTllMY1RscUdnVGZQYXlNSXVrQVZUekowdHcy
YjdKakNXWENzTkppMXhBdUxCMlFidXdWUT09PC9kczpTaWduYXR1cmVWYWx1ZT48ZHM6S2V5SW5m
bz48ZHM6WDUwOURhdGE+PGRzOlg1MDlDZXJ0aWZpY2F0ZT5NSUlEdURDQ0FxQUNDUUNyRWlvQ01q
V1hHREFOQmdrcWhraUc5dzBCQVFVRkFEQ0JuVEVMTUFrR0ExVUVCaE1DVlZNeERqQU1CZ05WQkFn
VEJWUmxlR0Z6TVJJd0VBWURWUVFIRXdsVGIzVjBhR3hoYTJVeEZ6QVZCZ05WQkFvVERsTmhZbkps
SUVodmJHUnBibWR6TVF3d0NnWURWUVFMRXdORFNVOHhIVEFiQmdOVkJBTVRGR3h2WjJsdU1pNWta
WFl1YzJGaWNtVXVZMjl0TVNRd0lnWUpLb1pJaHZjTkFRa0JGaFZ6YzI4dWMzVndjRzl5ZEVCellX
SnlaUzVqYjIwd0hoY05NVEV3T1RFME1UUXhNREEyV2hjTk1UTXdPVEV6TVRReE1EQTJXakNCblRF
TE1Ba0dBMVVFQmhNQ1ZWTXhEakFNQmdOVkJBZ1RCVlJsZUdGek1SSXdFQVlEVlFRSEV3bFRiM1Yw
YUd4aGEyVXhGekFWQmdOVkJBb1REbE5oWW5KbElFaHZiR1JwYm1kek1Rd3dDZ1lEVlFRTEV3TkRT
VTh4SFRBYkJnTlZCQU1URkd4dloybHVNaTVrWlhZdWMyRmljbVV1WTI5dE1TUXdJZ1lKS29aSWh2
Y05BUWtCRmhWemMyOHVjM1Z3Y0c5eWRFQnpZV0p5WlM1amIyMHdnZ0VpTUEwR0NTcUdTSWIzRFFF
QkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEVTFEeklKNWJXNUFKRzlWaTdiMjdsb2t4TkVXbjAzeUxz
VlFWNmh0QXB0b2IxUHNNbU1mUUZ3UDFKTENYamprenpqbFRFRnZ5TnJ5R2NXUGc3cm1vUk45cUFS
RnNMcExrSER0Ukh5UFIrdERLSVJkTThETVhSaEJsWFNGajdiNGpyQkRCYVQzTGRlNU85MXhMd1di
ZHpSU0tCRFdHanhoRFdvQ3pHd29VVHJkQjVzUEFSZzZrTzZwaXdhOUp3aHlwaXlkYUVsZjRmajJG
aFFWcUV5cWZjTmR0bmhUV3dETk0xSnlTVFBzZ0pwK0hPWnhSZmMycHlLVXcwSFNiNXgzZS9zSUpq
MXltdFh6Z2h6aGZ0Qm9JTGd3ZjZGY25SSmtXc2Myb3RGMC9nSUhNSEd1NUtGekc0V0dRd1Z3c2VS
YTVkZCtoZm05Y2cxVGhRTEx2eFdXdDVBZ01CQUFFd0RRWUpLb1pJaHZjTkFRRUZCUUFEZ2dFQkFG
QzFrdE5JLzN5ZzhjNThtQ3FqZmEyQ2Z1V3FIaUcvOXhFcXMrOURqNklYRTJ0aDZhUFc5d2dQU0Q5
czQzSWs5dUFkZEVBc3lSamo3cGxEMkVlV3pKaWpaQThvTEZLWjd1dlR5MFQ3dGtzb0lDVUVxdXgx
TlRrMzRTVmpoSTErT3B6aUJOUEpWeXNCMTZlZjN2bFNZaXlhbG9GT3JReW9qUUdoakJHd2UvbXhv
N0g0dURhSnZQUENNK05NdEY5K0pVZWY5S1VIbTRsRDZHMFRkTk9CcHZ4WmVQNTBwZkJJUDJ5T0xz
MUhkWDVWbGNxN1lDV1piOWpZNjJxNVRJdzZ6aDA4OFVSZGl1MnYrc3pJNWw4aE9HMlp6VzgzcVNQ
ZmJEeHlWYnExUzdnV0F5K1hUTUNiQm0waGhHQ1hzMnZ5cmNJbGdLeStNMlp3K2llVFQrcFM5ZE09
PC9kczpYNTA5Q2VydGlmaWNhdGU+PC9kczpYNTA5RGF0YT48L2RzOktleUluZm8+PC9kczpTaWdu
YXR1cmU+PHNhbWwyOlN1YmplY3Q+PHNhbWwyOk5hbWVJRCBGb3JtYXQ9InVybjpvYXNpczpuYW1l
czp0YzpTQU1MOjEuMTpuYW1laWQtZm9ybWF0OnVuc3BlY2lmaWVkIj45Mjk0MTM8L3NhbWwyOk5h
bWVJRD48c2FtbDI6U3ViamVjdENvbmZpcm1hdGlvbiBNZXRob2Q9InVybjpvYXNpczpuYW1lczp0
YzpTQU1MOjIuMDpjbTpiZWFyZXIiPjxzYW1sMjpTdWJqZWN0Q29uZmlybWF0aW9uRGF0YSBOb3RP
bk9yQWZ0ZXI9IjIwMTItMDYtMjFUMTA6NDc6MjUuNjgwWiIgUmVjaXBpZW50PSJodHRwczovL3d3
dy5nZXR0aGVyZS5jb20iLz48L3NhbWwyOlN1YmplY3RDb25maXJtYXRpb24+PC9zYW1sMjpTdWJq
ZWN0PjxzYW1sMjpDb25kaXRpb25zIE5vdEJlZm9yZT0iMjAxMi0wNi0yMVQxMDo0NToyNS42ODBa
IiBOb3RPbk9yQWZ0ZXI9IjIwMTItMDYtMjFUMTA6NDY6MjUuNjgwWiI+PHNhbWwyOkF1ZGllbmNl
UmVzdHJpY3Rpb24+PHNhbWwyOkF1ZGllbmNlPmh0dHBzOi8vd3d3LmdldHRoZXJlLmNvbTwvc2Ft
bDI6QXVkaWVuY2U+PC9zYW1sMjpBdWRpZW5jZVJlc3RyaWN0aW9uPjwvc2FtbDI6Q29uZGl0aW9u
cz48c2FtbDI6QXV0aG5TdGF0ZW1lbnQgQXV0aG5JbnN0YW50PSIyMDEyLTA2LTIxVDEwOjQ1OjI1
LjY4MFoiIFNlc3Npb25JbmRleD0iSUV2WjZQelcxT2UvK3lvSVJGUEVMU1lyQkRzPSIgU2Vzc2lv
bk5vdE9uT3JBZnRlcj0iMjAxMi0wNi0yMVQxNDo0NToyNS42ODBaIj48c2FtbDI6QXV0aG5Db250
ZXh0PjxzYW1sMjpBdXRobkNvbnRleHRDbGFzc1JlZj51cm46b2FzaXM6bmFtZXM6dGM6U0FNTDoy
LjA6YWM6Y2xhc3NlczpQYXNzd29yZDwvc2FtbDI6QXV0aG5Db250ZXh0Q2xhc3NSZWY+PC9zYW1s
MjpBdXRobkNvbnRleHQ+PC9zYW1sMjpBdXRoblN0YXRlbWVudD48c2FtbDI6QXR0cmlidXRlU3Rh
dGVtZW50PjxzYW1sMjpBdHRyaWJ1dGUgTmFtZT0idXNlcm5hbWUiPjxzYW1sMjpBdHRyaWJ1dGVW
YWx1ZSB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNl
IiB4c2k6dHlwZT0ieHM6c3RyaW5nIj45Mjk0MTM8L3NhbWwyOkF0dHJpYnV0ZVZhbHVlPjwvc2Ft
bDI6QXR0cmlidXRlPjxzYW1sMjpBdHRyaWJ1dGUgTmFtZT0ic2l0ZW5hbWUiPjxzYW1sMjpBdHRy
aWJ1dGVWYWx1ZSB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWlu
c3RhbmNlIiB4c2k6dHlwZT0ieHM6c3RyaW5nIj5zYWJyZWluYzwvc2FtbDI6QXR0cmlidXRlVmFs
dWU+PC9zYW1sMjpBdHRyaWJ1dGU+PC9zYW1sMjpBdHRyaWJ1dGVTdGF0ZW1lbnQ+PC9zYW1sMjpB
c3NlcnRpb24+PC9zYW1sMnA6UmVzcG9uc2U+
</SAMLToken>
</ValidateTokenRQ>
SSO_ValidateTokenRS.example3.110.xml
<ValidateTokenRS version="1.1.0" xmlns="http://webservices.sabre.com/sabreXML/sso/ssoaas/SSO_ValidateToken/1.1.0">
<ResponseInfo isValid="true" code="0">Assertion is valid</ResponseInfo>
<TokenInfo>
<User username="929413">
<Attrs>
<Attr key="username">
<Val>929413</Val>
</Attr>
<Attr key="sitename">
<Val>sabreinc</Val>
</Attr>
</Attrs>
</User>
<Session id="_6cc4184fdf0e4ca59d29fb4007a87c79">
<Valid validFrom="2012-06-21T10:45:25.680Z" validTo="2012-06-21T14:45:25.680Z" />
<Duration nil="true" />
</Session>
</TokenInfo>
</ValidateTokenRS>
Validation Request Parameters
POST https:// #host# /ssoaas/services/SSO_ValidateTokenRQ/1.1.0/
POST data:
<ValidateTokenRQ xmlns="http://webservices.sabre.com/sabreXML/sso/ssoaas/SSO_ValidateToken/1.1.0" version="1.1.0" applicationID="#ApplicationId#">
<SAMLToken>#base64 encoded saml assertion - received from sso service: response.getPayload().getAssertion();#</SAMLToken>
</ValidateTokenRQ>
[no cookies]
Request Headers:
Connection: close
user: #user#
password: #password#
User-Agent: Jakarta Commons-HttpClient/3.1
Host: #host#
Content-Length: 6475
Content-Type: text/xml; charset=utf-8
Schemas
env.xsd
<?xml version="1.0" encoding="UTF-8"?>
<!-- Schema for the SOAP/1.1 envelope
This schema has been produced using W3C's SOAP Version 1.2 schema
found at:
http://www.w3.org/2001/06/soap-envelope
Copyright 2001 Martin Gudgin, Developmentor.
Changes made are the following:
- reverted namespace to http://schemas.xmlsoap.org/soap/envelope/
- reverted mustUnderstand to only allow 0 and 1 as lexical values
- made encodingStyle a global attribute 20020825
Further changes:
- removed default value from mustUnderstand attribute declaration - 20030314
Original copyright:
Copyright 2001 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
-->
<xs:schema targetNamespace="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:tns="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- Envelope, header and body -->
<xs:element name="Envelope" type="tns:Envelope" />
<xs:complexType name="Envelope">
<xs:sequence>
<xs:element ref="tns:Header" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="tns:Body" />
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax" />
</xs:complexType>
<xs:element name="Header" type="tns:Header" />
<xs:complexType name="Header">
<xs:sequence>
<xs:any namespace="##other" 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="##any" processContents="lax">
<xs:annotation>
<xs:documentation> Prose in the spec does not specify that attributes are allowed on
the Body element </xs:documentation>
</xs:annotation>
</xs:anyAttribute>
</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">
<xs:simpleType>
<xs:restriction base="xs:boolean">
<xs:pattern value="0|1" />
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="actor" type="xs:anyURI" />
<xs:simpleType name="encodingStyle">
<xs:annotation>
<xs:documentation> 'encodingStyle' indicates any canonicalization conventions followed
in the contents of the containing element. For example, the value
'http://schemas.xmlsoap.org/soap/encoding/' indicates the pattern described in SOAP
specification </xs:documentation>
</xs:annotation>
<xs:list itemType="xs:anyURI" />
</xs:simpleType>
<xs:attribute name="encodingStyle" type="tns:encodingStyle" />
<xs:attributeGroup name="encodingStyle">
<xs:attribute ref="tns:encodingStyle" />
</xs:attributeGroup>
<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="faultcode" type="xs:QName" />
<xs:element name="faultstring" type="xs:string" />
<xs:element name="faultactor" type="xs:anyURI" minOccurs="0" />
<xs:element name="detail" type="tns:detail" 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="##any" processContents="lax" />
</xs:complexType>
</xs:schema>
envelope.xsd
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="http://schemas.xmlsoap.org/soap/envelope/"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://schemas.xmlsoap.org/soap/envelope/">
<include schemaLocation="env.xsd" />
</schema>
msg-header-2_0.xsd
<?xml version="1.0" encoding="UTF-8"?>
<!-- Some parsers may require explicit declaration of
'xmlns:xml="http://www.w3.org/XML/1998/namespace"'.
In that case, a copy of this schema augmented with the above declaration should be cached and used
for the purpose of schema validation on ebXML messages. -->
<schema xmlns:tns="http://www.ebxml.org/namespaces/messageHeader"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.ebxml.org/namespaces/messageHeader" elementFormDefault="qualified"
attributeFormDefault="qualified" version="2.0c">
<import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd" />
<import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlink.xsd" />
<import namespace="http://schemas.xmlsoap.org/soap/envelope/" schemaLocation="envelope.xsd" />
<import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd" />
<!-- MANIFEST, for use in soap:Body element -->
<element name="Manifest">
<complexType>
<sequence>
<element ref="tns:Reference" maxOccurs="unbounded" />
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</sequence>
<attributeGroup ref="tns:bodyExtension.grp" />
</complexType>
</element>
<element name="Reference">
<complexType>
<sequence>
<element ref="tns:Schema" minOccurs="0" maxOccurs="unbounded" />
<element ref="tns:Description" minOccurs="0" maxOccurs="unbounded" />
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</sequence>
<attribute ref="tns:id" />
<attribute ref="xlink:type" fixed="simple" />
<attribute ref="xlink:href" use="required" />
<attribute ref="xlink:role" />
<anyAttribute namespace="##other" processContents="lax" />
</complexType>
</element>
<element name="Schema">
<complexType>
<attribute name="location" type="anyURI" use="required" />
<attribute name="version" type="tns:non-empty-string" />
</complexType>
</element>
<!-- MESSAGEHEADER, for use in soap:Header element -->
<element name="MessageHeader">
<complexType>
<sequence>
<element ref="tns:From" />
<element ref="tns:To" />
<element ref="tns:CPAId" />
<element ref="tns:ConversationId" />
<element ref="tns:Service" />
<element ref="tns:Action" />
<element ref="tns:MessageData" />
<element ref="tns:DuplicateElimination" minOccurs="0" />
<element ref="tns:Description" minOccurs="0" maxOccurs="unbounded" />
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</sequence>
<attributeGroup ref="tns:headerExtension.grp" />
</complexType>
</element>
<element name="CPAId" type="tns:non-empty-string" />
<element name="ConversationId" type="tns:non-empty-string" />
<element name="Service">
<complexType>
<simpleContent>
<extension base="string">
<attribute name="type" type="tns:non-empty-string" />
</extension>
</simpleContent>
</complexType>
</element>
<element name="Action" type="tns:non-empty-string" />
<element name="MessageData">
<complexType>
<sequence>
<element ref="tns:MessageId" />
<element ref="tns:Timestamp" />
<element ref="tns:RefToMessageId" minOccurs="0" />
<element ref="tns:TimeToLive" minOccurs="0" />
<element ref="tns:Timeout" minOccurs="0" />
</sequence>
</complexType>
</element>
<element name="MessageId" type="tns:non-empty-string" />
<element name="Timeout" type="nonNegativeInteger" />
<element name="TimeToLive" type="dateTime" />
<element name="DuplicateElimination" type="anyType" />
<!-- SYNC REPLY, for use in soap:Header element -->
<element name="SyncReply">
<complexType>
<sequence>
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</sequence>
<attributeGroup ref="tns:headerExtension.grp" />
<attribute ref="soap:actor" use="required" />
</complexType>
</element>
<!-- MESSAGE ORDER, for use in soap:Header element -->
<element name="MessageOrder">
<complexType>
<sequence>
<element ref="tns:SequenceNumber" />
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</sequence>
<attributeGroup ref="tns:headerExtension.grp" />
</complexType>
</element>
<element name="SequenceNumber" type="tns:sequenceNumber.type" />
<!-- ACK REQUESTED, for use in soap:Header element -->
<element name="AckRequested">
<complexType>
<sequence>
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</sequence>
<attributeGroup ref="tns:headerExtension.grp" />
<attribute ref="soap:actor" />
<attribute name="signed" type="boolean" use="required" />
</complexType>
</element>
<!-- ACKNOWLEDGMENT, for use in soap:Header element -->
<element name="Acknowledgment">
<complexType>
<sequence>
<element ref="tns:Timestamp" />
<element ref="tns:RefToMessageId" />
<element ref="tns:From" minOccurs="0" />
<element ref="tns:Reference" minOccurs="0" maxOccurs="unbounded" />
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</sequence>
<attributeGroup ref="tns:headerExtension.grp" />
<attribute ref="soap:actor" />
</complexType>
</element>
<!-- ERROR LIST, for use in soap:Header element -->
<element name="ErrorList">
<complexType>
<sequence>
<element ref="tns:Error" maxOccurs="unbounded" />
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</sequence>
<attributeGroup ref="tns:headerExtension.grp" />
<attribute name="highestSeverity" type="tns:severity.type" use="required" />
</complexType>
</element>
<element name="Error">
<complexType>
<sequence>
<element ref="tns:Description" minOccurs="0" />
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</sequence>
<attribute ref="tns:id" />
<attribute name="codeContext" type="anyURI"
default="urn:oasis:names:tc:ebxml-msg:service:errors" />
<attribute name="errorCode" type="tns:non-empty-string" use="required" />
<attribute name="severity" type="tns:severity.type" use="required" />
<attribute name="location" type="tns:non-empty-string" />
<anyAttribute namespace="##other" processContents="lax" />
</complexType>
</element>
<!-- STATUS RESPONSE, for use in soap:Body element -->
<element name="StatusResponse">
<complexType>
<sequence>
<element ref="tns:RefToMessageId" />
<element ref="tns:Timestamp" minOccurs="0" />
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</sequence>
<attributeGroup ref="tns:bodyExtension.grp" />
<attribute name="messageStatus" type="tns:messageStatus.type" use="required" />
</complexType>
</element>
<!-- STATUS REQUEST, for use in soap:Body element -->
<element name="StatusRequest">
<complexType>
<sequence>
<element ref="tns:RefToMessageId" />
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</sequence>
<attributeGroup ref="tns:bodyExtension.grp" />
</complexType>
</element>
<!-- COMMON TYPES -->
<complexType name="sequenceNumber.type">
<simpleContent>
<extension base="nonNegativeInteger">
<attribute name="status" type="tns:status.type" default="Continue" />
</extension>
</simpleContent>
</complexType>
<simpleType name="status.type">
<restriction base="NMTOKEN">
<enumeration value="Reset" />
<enumeration value="Continue" />
</restriction>
</simpleType>
<simpleType name="messageStatus.type">
<restriction base="NMTOKEN">
<enumeration value="UnAuthorized" />
<enumeration value="NotRecognized" />
<enumeration value="Received" />
<enumeration value="Processed" />
<enumeration value="Forwarded" />
</restriction>
</simpleType>
<simpleType name="non-empty-string">
<restriction base="string">
<minLength value="1" />
</restriction>
</simpleType>
<simpleType name="severity.type">
<restriction base="NMTOKEN">
<enumeration value="Warning" />
<enumeration value="Error" />
</restriction>
</simpleType>
<!-- COMMON ATTRIBUTES and ATTRIBUTE GROUPS -->
<attribute name="id" type="ID" />
<attribute name="version" type="tns:non-empty-string" />
<attributeGroup name="headerExtension.grp">
<attribute ref="tns:id" />
<attribute ref="tns:version" use="required" />
<anyAttribute namespace="##other" processContents="lax" />
<!--attribute
ref="soap:mustUnderstand" use="optional"/-->
</attributeGroup>
<attributeGroup name="bodyExtension.grp">
<attribute ref="tns:id" />
<attribute ref="tns:version" use="required" />
<anyAttribute namespace="##other" processContents="lax" />
</attributeGroup>
<!-- COMMON ELEMENTS -->
<element name="PartyId">
<complexType>
<simpleContent>
<extension base="string">
<attribute name="type" type="tns:non-empty-string" />
</extension>
</simpleContent>
</complexType>
</element>
<element name="To">
<complexType>
<sequence>
<element ref="tns:PartyId" maxOccurs="unbounded" />
<element name="Role" type="tns:non-empty-string" minOccurs="0" />
</sequence>
</complexType>
</element>
<element name="From">
<complexType>
<sequence>
<element ref="tns:PartyId" maxOccurs="unbounded" />
<element name="Role" type="tns:non-empty-string" minOccurs="0" />
</sequence>
</complexType>
</element>
<element name="Description">
<complexType>
<simpleContent>
<extension base="string">
<attribute ref="xml:lang" use="required" />
</extension>
</simpleContent>
</complexType>
</element>
<element name="RefToMessageId" type="tns:non-empty-string" />
<element name="Timestamp" type="string" />
</schema>
SSO_ValidateToken1.1.0RQ.wsdl
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsd1="http://webservices.sabre.com/sabreXML/sso/ssoaas/SSO_ValidateToken/1.1.0"
xmlns:tns="https://webservices.sabre.com/websvc"
xmlns:eb="http://www.ebxml.org/namespaces/messageHeader"
xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext"
targetNamespace="https://webservices.sabre.com/websvc">
<types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:import
namespace="http://webservices.sabre.com/sabreXML/sso/ssoaas/SSO_ValidateToken/1.1.0"
schemaLocation="SSO_ValidateToken1.1.0RQRS.xsd" />
<xsd:import namespace="http://www.ebxml.org/namespaces/messageHeader"
schemaLocation="msg-header-2_0.xsd" />
<xsd:import namespace="http://www.w3.org/2000/09/xmldsig#"
schemaLocation="xmldsig-core-schema.xsd" />
<xsd:import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlink.xsd" />
<xsd:import namespace="http://schemas.xmlsoap.org/soap/envelope/"
schemaLocation="envelope.xsd" />
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd" />
<xsd:import namespace="http://schemas.xmlsoap.org/ws/2002/12/secext"
schemaLocation="wsse.xsd" />
</xsd:schema>
</types>
<message name="SSO_ValidateTokenInput">
<part name="header" element="eb:MessageHeader" />
<part name="header2" element="wsse:Security" />
<part name="body" element="xsd1:ValidateTokenRQ" />
</message>
<message name="SSO_ValidateTokenOutput">
<part name="header" element="eb:MessageHeader" />
<part name="header2" element="wsse:Security" />
<part name="body" element="xsd1:ValidateTokenRS" />
</message>
<portType name="SSO_ValidateTokenPortType">
<operation name="SSO_ValidateTokenRQ">
<input message="tns:SSO_ValidateTokenInput" />
<output message="tns:SSO_ValidateTokenOutput" />
</operation>
</portType>
<binding name="SSO_ValidateTokenSoapBinding" type="tns:SSO_ValidateTokenPortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
<operation name="SSO_ValidateTokenRQ">
<soap:operation soapAction="OTA" />
<input>
<soap:header message="tns:SSO_ValidateTokenInput" part="header" use="literal" />
<soap:header message="tns:SSO_ValidateTokenInput" part="header2" use="literal" />
<soap:body parts="body" use="literal" />
</input>
<output>
<soap:header message="tns:SSO_ValidateTokenOutput" part="header" use="literal" />
<soap:header message="tns:SSO_ValidateTokenOutput" part="header2" use="literal" />
<soap:body parts="body" use="literal" />
</output>
</operation>
</binding>
<service name="SSO_ValidateTokenService">
<port name="SSO_ValidateTokenPortType" binding="tns:SSO_ValidateTokenSoapBinding">
<soap:address location="https://webservices.sabre.com/websvc" />
</port>
</service>
</definitions>
SSO_ValidateToken1.1.0RQ.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:include schemaLocation="ssoaasCommons1.1.0.xsd" />
<xs:element name="ValidateTokenRQ">
<xs:complexType>
<xs:sequence>
<xs:element name="SiteminderToken" type="SiteminderTokenType" />
<xs:element name="OpenAMToken" type="OpenAMTokenType" />
<xs:element type="xs:string" name="SAMLToken" />
</xs:sequence>
<xs:attribute type="xs:string" name="version" form="unqualified" />
<xs:attribute type="xs:string" name="applicationID" form="unqualified" />
</xs:complexType>
</xs:element>
</xs:schema>
SSO_ValidateToken1.1.0RQRS.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
targetNamespace="http://webservices.sabre.com/sabreXML/sso/ssoaas/SSO_ValidateToken/1.1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:include schemaLocation="SSO_ValidateToken1.1.0RQ.xsd" />
<xs:include schemaLocation="SSO_ValidateToken1.1.0RS.xsd" />
</xs:schema>
SSO_ValidateToken1.1.0RS.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:include schemaLocation="ssoaasCommons1.1.0.xsd" />
<xs:element name="ValidateTokenRS">
<xs:complexType>
<xs:sequence>
<xs:element type="ResponseInfoType" name="ResponseInfo" />
<xs:element type="TokenInfoType" name="TokenInfo" />
</xs:sequence>
<xs:attribute type="xs:string" name="version" form="unqualified" />
</xs:complexType>
</xs:element>
</xs:schema>
ssoaasCommons1.1.0.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<!--
for commons using cameleon-anonymous schema w/o targetNamespace
-->
<xs:complexType name="SiteminderTokenType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="name" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="OpenAMTokenType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="name" />
<xs:attribute type="xs:string" name="stickyTokenName" />
<xs:attribute type="xs:string" name="stickyTokenBody" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:complexType name="TokenInfoType">
<xs:sequence>
<xs:element type="UserType" name="User" />
<xs:element type="SessionType" name="Session" />
</xs:sequence>
<xs:attribute type="xs:string" name="idpID" />
<xs:attribute type="xs:string" name="spID" />
</xs:complexType>
<xs:complexType name="UserType">
<xs:sequence>
<xs:element type="AttrsType" name="Attrs" />
</xs:sequence>
<xs:attribute type="xs:string" name="username" />
</xs:complexType>
<xs:complexType name="AttrsType">
<xs:sequence>
<xs:element type="AttrType" name="Attr" maxOccurs="unbounded"
minOccurs="0" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="AttrType">
<xs:sequence>
<xs:element name="Val" maxOccurs="unbounded" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="key" use="optional" />
</xs:complexType>
<xs:complexType name="SessionType">
<xs:sequence>
<xs:element type="ValidType" name="Valid" nillable="true" />
<xs:element type="DurationInSecondsType" name="Duration" nillable="true" />
<xs:element type="xs:string" name="AuthnContext" />
</xs:sequence>
<xs:attribute type="xs:string" name="id" />
</xs:complexType>
<xs:complexType name="ValidType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:dateTime" name="validFrom" />
<xs:attribute type="xs:dateTime" name="validTo" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<xs:simpleType name="DurationInSecondsType">
<xs:restriction base="xs:unsignedLong">
<xs:minInclusive value="1" />
</xs:restriction>
</xs:simpleType>
<!-- common response info type -->
<xs:complexType name="ResponseInfoType">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="isValid" />
<xs:attribute type="xs:string" name="code" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:schema>
wsse.xsd
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns:xsse="http://schemas.xmlsoap.org/ws/2002/12/secext"
xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
xmlns:app2="http://schemas.xmlsoap.org/ws/2002/12/secext"
targetNamespace="http://schemas.xmlsoap.org/ws/2002/12/secext" elementFormDefault="qualified"
attributeFormDefault="qualified">
<element name="Security" msdata:Prefix="wsse">
<complexType>
<sequence>
<element name="UsernameToken" minOccurs="0" msdata:Prefix="wsse">
<complexType>
<sequence>
<element name="Username" type="xs:string" minOccurs="0"
msdata:Prefix="wsse" />
<element name="Password" type="xs:string" minOccurs="0"
msdata:Prefix="wsse" />
<element name="NewPassword" type="xs:string" minOccurs="0" maxOccurs="2"
msdata:Prefix="wsse" />
<element name="Organization" type="xs:string" form="unqualified"
minOccurs="0" />
<element name="Domain" type="xs:string" form="unqualified" minOccurs="0" />
<element name="Lniata" type="xs:string" form="unqualified" minOccurs="0" />
<element name="LockId" type="xs:string" form="unqualified" minOccurs="0" />
</sequence>
</complexType>
</element>
<element name="SabreAth" type="xs:string" minOccurs="0" msdata:Prefix="wsse" />
<element name="BinarySecurityToken" type="xs:string" minOccurs="0"
msdata:Prefix="wsse">
<!--xs:complexType>
<xs:attribute name="EncodingType" type="xs:string" use="optional"/>
<xs:attribute name="valueType" type="xs:string" use="optional"/>
</xs:complexType-->
</element>
</sequence>
</complexType>
</element>
</schema>
xlink.xsd
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink"
targetNamespace="http://www.w3.org/1999/xlink" elementFormDefault="qualified"
attributeFormDefault="qualified">
<xsd:attribute name="type">
<xsd:simpleType>
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="simple" />
<xsd:enumeration value="extended" />
<xsd:enumeration value="locator" />
<xsd:enumeration value="arc" />
<xsd:enumeration value="resource" />
<xsd:enumeration value="title" />
<xsd:enumeration value="none" />
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="href" type="xsd:anyURI">
</xsd:attribute>
<xsd:attribute name="role" type="xsd:anyURI">
</xsd:attribute>
<xsd:attribute name="arcrole" type="xsd:anyURI">
</xsd:attribute>
<xsd:attribute name="title" type="xsd:string">
</xsd:attribute>
<xsd:attribute name="label" type="xsd:NMTOKEN">
</xsd:attribute>
<xsd:attribute name="show">
<xsd:simpleType>
<xsd:restriction base="xsd:NMTOKEN">
<xsd:enumeration value="new" />
<xsd:enumeration value="replace" />
<xsd:enumeration value="embed" />
<xsd:enumeration value="other" />
<xsd:enumeration value="none" />
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:schema>
xml.xsd
<?xml version="1.0"?>
<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "http://webservices.sabre.com/wsdl/sabreXML1.0.00/usg/XMLSchema.dtd">
<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en">
<xs:annotation>
<xs:documentation> See http://www.w3.org/XML/1998/namespace.html and
http://www.w3.org/TR/REC-xml for information about this namespace. </xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>This schema defines attributes and an attribute group suitable for use by
schemas wishing to allow xml:base, xml:lang or xml:space attributes on elements they define.
To enable this, such a schema must import this schema for the XML namespace, e.g. as follows:
<schema . . .> . . . <import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/03/xml.xsd"/> Subsequently, qualified reference to any
of the attributes or the group defined below will have the desired effect, e.g. <type . .
.> . . . <attributeGroup ref="xml:specialAttrs"/> will define a type which will
schema-validate an instance element with any of those attributes</xs:documentation>
</xs:annotation>
<xs:annotation>
<xs:documentation>In keeping with the XML Schema WG's standard versioning policy, this schema
document will persist at http://www.w3.org/2001/03/xml.xsd. At the date of issue it can also
be found at http://www.w3.org/2001/xml.xsd. 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. In
other words, if the XML Schema namespace changes, the version of this document at
http://www.w3.org/2001/xml.xsd will change accordingly; the version at
http://www.w3.org/2001/03/xml.xsd will not change. </xs:documentation>
</xs:annotation>
<xs:attribute name="lang" type="xs:language">
<xs:annotation>
<xs:documentation>In due course, we should install the relevant ISO 2- and 3-letter codes as
the enumerated possible values . . .</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="space" default="preserve">
<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>See http://www.w3.org/TR/xmlbase/ for information about this attribute.</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:attributeGroup>
</xs:schema>
xmldsig-core-schema.xsd
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE schema PUBLIC "-//W3C//DTD XMLSchema 200102//EN" "http://webservices.sabre.com/wsdl/sabreXML1.0.00/usg/XMLSchema.dtd" [
<!ATTLIST schema xmlns:ds CDATA #FIXED "http://www.w3.org/2000/09/xmldsig#"
>
<!ENTITY dsig 'http://www.w3.org/2000/09/xmldsig#'>
<!ENTITY % p ''>
<!ENTITY % s ''>
]>
<!-- Schema for XML Signatures
http://www.w3.org/2000/09/xmldsig#
$Revision: 1.1 $ on $Date: 2002/02/08 20:32:26 $ by $Author: reagle $
Copyright 2001 The Internet Society and W3C (Massachusetts Institute
of Technology, Institut National de Recherche en Informatique et en
Automatique, Keio University). All Rights Reserved.
http://www.w3.org/Consortium/Legal/
This document is governed by the W3C Software License [1] as described
in the FAQ [2].
[1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
[2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
-->
<schema targetNamespace="http://www.w3.org/2000/09/xmldsig#"
xmlns="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
elementFormDefault="qualified" version="0.1">
<!-- Basic Types Defined for Signatures -->
<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" type="ds:HMACOutputLengthType" minOccurs="0" />
<any namespace="##other" minOccurs="0" maxOccurs="unbounded" />
<!-- (0,unbounded) elements from (1,1) external namespace -->
</sequence>
<attribute name="Algorithm" type="anyURI" use="required" />
</complexType>
<!-- Start Reference -->
<element name="Reference" type="ds:ReferenceType" />
<complexType name="ReferenceType">
<sequence>
<element ref="ds:Transforms" minOccurs="0" />
<element ref="ds:DigestMethod" />
<element ref="ds:DigestValue" />
</sequence>
<attribute name="Id" type="ID" use="optional" />
<attribute name="URI" type="anyURI" use="optional" />
<attribute name="Type" type="anyURI" use="optional" />
</complexType>
<element name="Transforms" type="ds:TransformsType" />
<complexType name="TransformsType">
<sequence>
<element ref="ds:Transform" maxOccurs="unbounded" />
</sequence>
</complexType>
<element name="Transform" type="ds:TransformType" />
<complexType name="TransformType" mixed="true">
<choice minOccurs="0" maxOccurs="unbounded">
<any namespace="##other" processContents="lax" />
<element name="XPath" type="string" />
<!-- (1,1) elements from (0,unbounded) namespaces -->
</choice>
<attribute name="Algorithm" type="anyURI" use="required" />
</complexType>
<!-- End Reference -->
<element name="DigestMethod" type="ds:DigestMethodType" />
<complexType name="DigestMethodType" mixed="true">
<sequence>
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</sequence>
<attribute name="Algorithm" type="anyURI" use="required" />
</complexType>
<element name="DigestValue" type="ds:DigestValueType" />
<simpleType name="DigestValueType">
<restriction base="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 namespace="##other" processContents="lax" />
<!-- (1,1) elements from (0,unbounded) namespaces -->
</choice>
<attribute name="Id" type="ID" use="optional" />
</complexType>
<element name="KeyName" type="string" />
<element name="MgmtData" type="string" />
<element name="KeyValue" type="ds:KeyValueType" />
<complexType name="KeyValueType" mixed="true">
<choice>
<element ref="ds:DSAKeyValue" />
<element ref="ds:RSAKeyValue" />
<any namespace="##other" processContents="lax" />
</choice>
</complexType>
<element name="RetrievalMethod" type="ds:RetrievalMethodType" />
<complexType name="RetrievalMethodType">
<sequence>
<element 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">
<sequence>
<element name="PGPKeyID" type="base64Binary" />
<element name="PGPKeyPacket" type="base64Binary" minOccurs="0" />
<any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</sequence>
</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" />
<attribute name="Encoding" type="anyURI" use="optional" />
<!-- add a grep facet -->
</complexType>
<element name="Manifest" type="ds:ManifestType" />
<complexType name="ManifestType">
<sequence>
<element ref="ds:Reference" maxOccurs="unbounded" />
</sequence>
<attribute name="Id" type="ID" use="optional" />
</complexType>
<element name="SignatureProperties" type="ds:SignaturePropertiesType" />
<complexType name="SignaturePropertiesType">
<sequence>
<element ref="ds:SignatureProperty" maxOccurs="unbounded" />
</sequence>
<attribute name="Id" type="ID" use="optional" />
</complexType>
<element name="SignatureProperty" type="ds:SignaturePropertyType" />
<complexType name="SignaturePropertyType" mixed="true">
<choice maxOccurs="unbounded">
<any namespace="##other" processContents="lax" />
<!-- (1,1) elements from (1,unbounded) namespaces -->
</choice>
<attribute name="Target" type="anyURI" use="required" />
<attribute name="Id" type="ID" use="optional" />
</complexType>
<!-- End Object (Manifest, SignatureProperty) -->
<!-- Start Algorithm Parameters -->
<simpleType name="HMACOutputLengthType">
<restriction base="integer" />
</simpleType>
<!-- Start KeyValue Element-types -->
<element name="DSAKeyValue" type="ds:DSAKeyValueType" />
<complexType name="DSAKeyValueType">
<sequence>
<sequence minOccurs="0">
<element name="P" type="ds:CryptoBinary" />
<element name="Q" type="ds:CryptoBinary" />
</sequence>
<element name="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>