Sun Java System Access Manager 7 2005Q4 Federation and SAML Administration Guide

SOAP Binding Schema

Following is a reproduction of liberty-idwsf-soap-binding-v1.1.xsd, the XSD file that accompanies the Liberty ID-WSF SOAP Binding Specification as discussed in Chapter 8, SOAP Binding Service.


Example B–1 SOAP Binding XSD File


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="urn:liberty:sb:2004-04"
    xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:sb-ext="urn:liberty:sb:2004-04"
    xmlns:lib="urn:liberty:iff:2003-08"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns="urn:liberty:sb:2004-04"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified">

    <!-- Author: John Kemp -->
    <!-- Last editor: $Author: dgreenspon $ -->
    <!-- $Date: 2004/08/02 19:25:27 $ -->
    <!-- $Revision: 1.1 $ -->

    <xs:import
        namespace="http://schemas.xmlsoap.org/soap/envelope/"
        schemaLocation="http://schemas.xmlsoap.org/soap/envelope/"/>

    <xs:import
        namespace="urn:liberty:iff:2003-08"
        schemaLocation="liberty-idff-protocols-schema-v1.2.xsd"/>

    <xs:include schemaLocation="liberty-idwsf-utility-1.0-errata-v1.0.xsd"/>

    <xs:annotation>
        <xs:documentation>
            Liberty ID-WSF SOAP Binding Specification Extension XSD
        </xs:documentation>
        <xs:documentation>
            The source code in this XSD file was excerpted verbatim from:

            Liberty ID-WSF SOAP Binding Specification
            Version 1.1
            April 2004

            Copyright (c) 2004 Liberty Alliance participants, see
            http://www.projectliberty.org/specs/idwsf_copyrights.html
        </xs:documentation>
    </xs:annotation>

    <xs:complexType name="CredentialsContextType">
        <xs:sequence>
            <xs:element ref="lib:RequestAuthnContext" minOccurs="0"/>
            <xs:element name="SecurityMechID" type="xs:anyURI" minOccurs="0"
                maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:ID" use="optional"/>
        <xs:attribute ref="S:mustUnderstand" use="optional"/>
        <xs:attribute ref="S:actor" use="optional"/>
    </xs:complexType>

    <xs:element name="CredentialsContext" type="CredentialsContextType"/>

    <xs:complexType name="ServiceInstanceUpdateType">
        <xs:sequence>
            <xs:element name="SecurityMechID" type="xs:anyURI" minOccurs="0" 
                maxOccurs="unbounded"/>
            <xs:element name="Credential" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                   <xs:sequence>
                       <xs:any namespace="##any" processContents="lax"/>
                   </xs:sequence>
                   <xs:attribute name="notOnOrAfter" type="xs:dateTime" use="optional"/>
                </xs:complexType>
            </xs:element>
            <xs:element name="Endpoint" type="xs:anyURI" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:ID" use="optional"/>
        <xs:attribute ref="S:mustUnderstand" use="optional"/>
        <xs:attribute ref="S:actor" use="optional"/>
    </xs:complexType>

    <xs:element name="ServiceInstanceUpdate" type="ServiceInstanceUpdateType"/>

    <xs:complexType name="TimeoutType">
        <xs:attribute name="maxProcessingTime" type="xs:integer" use="required"/>
        <xs:attribute name="id" type="xs:ID" use="optional"/>
        <xs:attribute ref="S:mustUnderstand" use="optional"/>
        <xs:attribute ref="S:actor" use="optional"/>
    </xs:complexType>

    <xs:element name="Timeout" type="TimeoutType"/>

</xs:schema>