Example 3. Security for SOAP Literal
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsd:schema PUBLIC
<xsd:schema targetNamespace="http://idoox.com/security"
xmlns:security="http://idoox.com/security"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:complexType name="Key">
<xsd:sequence>
<xsd:element name="KeyFormat" type="xsd:string"/>
<xsd:element name="KeyAlgorithm" type="xsd:string"/>
<xsd:element name="Content" type="xsd:base64Binary"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Certificate">
<xsd:sequence>
<xsd:element name="Type" type="xsd:string"/>
<xsd:element name="Content" type="xsd:base64Binary"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Permission">
<xsd:sequence>
<xsd:element name="className" type="xsd:string"/>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="actions" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Principal">
<xsd:sequence>
<xsd:element name="className" type="xsd:string"/>
<xsd:element name="name" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="PermissionCollection">
<xsd:sequence>
<xsd:element name="className" type="xsd:string"/>
<xsd:element name="elements" nillable="true"
type="security:ArrayOfPermission"/>
<xsd:element name="readOnly" nillable="false"
type="xsd:boolean"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ArrayOfPermission">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0"
name="Permission" type="security:Permission"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="PrincipalEntries">
<xsd:sequence>
<xsd:element name="entries" nillable="true"
type="security:ArrayOfPrincipal"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ArrayOfPrincipal">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0"
name="Principal" type="security:Principal"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>