You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by bi...@apache.org on 2020/03/24 15:24:00 UTC
[axis-axis1-java] tag 1.3 created (now 18eca4b)
This is an automated email from the ASF dual-hosted git repository.
billblough pushed a change to tag 1.3
in repository https://gitbox.apache.org/repos/asf/axis-axis1-java.git.
at 18eca4b (commit)
This tag includes the following new commits:
new fdcf0d1 Branch for Axis 1.3 Final
new 35532cc Sync with HEAD
new 56de3a5 fix target jvm
new 8dd89dd Update release notes for 1.3.
new 1f573f0 fix changelog html
new 4afa2aa Tiny HTML fix
new 18eca4b Moving the Axis 1.3 branch/tag.
The 7 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
[axis-axis1-java] 07/07: Moving the Axis 1.3 branch/tag.
Posted by bi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
billblough pushed a commit to tag 1.3
in repository https://gitbox.apache.org/repos/asf/axis-axis1-java.git
commit 18eca4b9835f84f4208772e164c86669e47a8a03
Author: Andreas Veithen <ve...@apache.org>
AuthorDate: Sat Jan 7 17:15:17 2012 +0000
Moving the Axis 1.3 branch/tag.
[axis-axis1-java] 05/07: fix changelog html
Posted by bi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
billblough pushed a commit to tag 1.3
in repository https://gitbox.apache.org/repos/asf/axis-axis1-java.git
commit 1f573f0e3eacc400ea0195d7bf79d03771d14e58
Author: Davanum Srinivas <di...@apache.org>
AuthorDate: Tue Oct 4 03:46:12 2005 +0000
fix changelog html
---
changelog.html | 31 ++++++++++++++++---------------
1 file changed, 16 insertions(+), 15 deletions(-)
diff --git a/changelog.html b/changelog.html
index e034e48..aa36c25 100644
--- a/changelog.html
+++ b/changelog.html
@@ -18,21 +18,22 @@ h1 { margin-left: -30px}
<h2>Axis 1.3</h2>
-<h3>Changes from 1.2final</h3>
-<ul>Support Axis inside Applets
-<ul>Upgrade versions of dependency jars
-<ul>Updated xmlbeans serializer/deserializer
-<ul>Fixes for SAAJ
-<ul>Fixes for Code Generation
-<ul>Fixes for tools
-<ul>Fixes for Runtime
-<ul>Fixes for Performance
-<ul>Fixes for various attachments problems
-<ul>Fixes for Memory Leaks
-<ul>Cleanup support for JavaBeans with array-type properties
-<ul>Extract attachment streams directly from http request (w/o intermediate files)
-<ul>GC Fixes for long standing servers (Geronimo)
-<ul>Preliminary support for MTOM
+<h3>Changes from 1.2.1 final</h3>
+<ul>
+<li>Support Axis inside Applets
+<li>Upgrade versions of dependency jars
+<li>Updated xmlbeans serializer/deserializer
+<li>Fixes for SAAJ
+<li>Fixes for Code Generation
+<li>Fixes for tools
+<li>Fixes for Runtime
+<li>Fixes for Performance
+<li>Fixes for various attachments problems
+<li>Fixes for Memory Leaks
+<li>Cleanup support for JavaBeans with array-type properties
+<li>Extract attachment streams directly from http request (w/o intermediate files)
+<li>GC Fixes for long standing servers (Geronimo)
+<li>Preliminary support for MTOM
</ul>
<h2>Axis 1.2.1</h2>
[axis-axis1-java] 06/07: Tiny HTML fix
Posted by bi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
billblough pushed a commit to tag 1.3
in repository https://gitbox.apache.org/repos/asf/axis-axis1-java.git
commit 4afa2aa9ef69465c37c5740bc3af7b7d9e0c6386
Author: Glen Daniels <gd...@apache.org>
AuthorDate: Thu Oct 6 15:22:57 2005 +0000
Tiny HTML fix
---
changelog.html | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/changelog.html b/changelog.html
index aa36c25..2175ea3 100644
--- a/changelog.html
+++ b/changelog.html
@@ -39,7 +39,8 @@ h1 { margin-left: -30px}
<h2>Axis 1.2.1</h2>
<h3>Changes from 1.2final</h3>
-<ul> Cleanup array handling for rpc/lit and doc/lit
+<ul>
+<li> Cleanup array handling for rpc/lit and doc/lit
<li> Enhancements to HTTPSender/CommonsHTTPSender (including better cookie support)
<li> Generate array of wrappers for soapenc array nillable elements
<li> Better handling of elementFormDefault during dynamic wsdl generation
[axis-axis1-java] 04/07: Update release notes for 1.3.
Posted by bi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
billblough pushed a commit to tag 1.3
in repository https://gitbox.apache.org/repos/asf/axis-axis1-java.git
commit 8dd89ddd559f2e66ca412e12ce76790135343737
Author: Glen Daniels <gd...@apache.org>
AuthorDate: Sun Oct 2 18:22:07 2005 +0000
Update release notes for 1.3.
---
release-notes.html | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/release-notes.html b/release-notes.html
index 80f6355..baa7875 100644
--- a/release-notes.html
+++ b/release-notes.html
@@ -14,18 +14,16 @@ h1 { margin-left: -30px}
</style>
</head>
<body>
-<h2>Axis 1.2 Release Notes</h2>
+<h2>Axis 1.3 Release Notes</h2>
-<p>This is the <a href="http://ws.apache.org/axis/releases.html">1.2 release</a>
+<p>This is the <a href="http://ws.apache.org/axis/releases.html">1.3 release</a>
of the <a href="http://ws.apache.org/axis">Axis SOAP toolkit</a>.</p>
<h3>About this release</h3>
-<p>This is the Final release of Axis 1.2. Please kick the tires,
+<p>This is the Final release of Axis 1.3. Please kick the tires,
put it through it's paces, and let us know via our mailing lists or
<a href="http://issues.apache.org/jira/browse/AXIS">bug tracking system</a> if there are problems.
-<dl><dd><b>Please Note:</b> It's been much too long between 1.1 and 1.2, and as such we are releasing 1.2 in order to distribute an "official" release incorporating all the fixes and improvements. We do realize that there are still some issues to be resolved, and we expect to follow the "release early and often" mantra in a much more rigorous way than we have been over the past year. The net of this : expect to see a follow-on 1.2.1 or 1.3 release sometime soon as well.</dd></dl>
-
<h3>Change History</h3>
<p>Here is the <a href="changelog.html">change log</a> (a high-level list of changes). You can also read the <a href="docs/cvslog.html">cvs change log</a> (which lists actual diffs).</p>
<h3>JAX-RPC</h3>
[axis-axis1-java] 01/07: Branch for Axis 1.3 Final
Posted by bi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
billblough pushed a commit to tag 1.3
in repository https://gitbox.apache.org/repos/asf/axis-axis1-java.git
commit fdcf0d16319a96baeb3f088625f618d626f10d9b
Author: Davanum Srinivas <di...@apache.org>
AuthorDate: Mon Sep 26 15:15:24 2005 +0000
Branch for Axis 1.3 Final
[axis-axis1-java] 02/07: Sync with HEAD
Posted by bi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
billblough pushed a commit to tag 1.3
in repository https://gitbox.apache.org/repos/asf/axis-axis1-java.git
commit 35532cc30be38f388b07e591cfbb79f70263c1f2
Author: Davanum Srinivas <di...@apache.org>
AuthorDate: Tue Sep 27 22:22:47 2005 +0000
Sync with HEAD
---
.../apache/axis/wsdl/toJava/JavaBeanWriter.java | 144 ++++-
test/wsdl/liberty/build.xml | 135 ++++
.../liberty-authentication-context-v1.3.xsd | 700 +++++++++++++++++++++
...berty-idff-protocols-schema-1.2-errata-v3.0.xsd | 320 ++++++++++
test/wsdl/liberty/liberty-idff-utility-v1.0.xsd | 66 ++
test/wsdl/liberty/liberty-idsis-ep-v1.1.xsd | 105 ++++
test/wsdl/liberty/liberty-idsis-pp-v1.1.xsd | 260 ++++++++
test/wsdl/liberty/liberty-idwsf-authn-svc-v1.1.xsd | 187 ++++++
.../liberty/liberty-idwsf-disco-svc-exts-v1.2.xsd | 37 ++
test/wsdl/liberty/liberty-idwsf-disco-svc-v1.2.xsd | 182 ++++++
test/wsdl/liberty/liberty-idwsf-dst-dt-v1.1.xsd | 91 +++
test/wsdl/liberty/liberty-idwsf-dst-v1.1.xsd | 109 ++++
.../liberty/liberty-idwsf-interaction-svc-v1.1.xsd | 148 +++++
.../liberty-idwsf-security-mechanisms-v1.2.xsd | 143 +++++
.../liberty-idwsf-soap-binding-exts-v1.2.xsd | 85 +++
.../liberty/liberty-idwsf-soap-binding-v1.2.xsd | 110 ++++
test/wsdl/liberty/liberty-idwsf-utility-v1.1.xsd | 73 +++
test/wsdl/liberty/liberty-metadata-v1.1.xsd | 235 +++++++
test/wsdl/liberty/liberty-paos-v1.1.xsd | 40 ++
test/wsdl/liberty/liberty-utility-v1.1.xsd | 67 ++
test/wsdl/liberty/liberty.wsdl | 7 +
test/wsdl/liberty/liberty2.wsdl | 12 +
test/wsdl/liberty/liberty3.wsdl | 8 +
.../oasis-200401-wss-wssecurity-secext-1.0.xsd | 196 ++++++
.../oasis-sstc-saml-schema-assertion-1.1.xsd | 202 ++++++
.../oasis-sstc-saml-schema-protocol-1.1.xsd | 133 ++++
test/wsdl/liberty/saml-schema-assertion-2.0.xsd | 280 +++++++++
test/wsdl/liberty/saml-schema-metadata-2.0.xsd | 338 ++++++++++
test/wsdl/liberty/saml-schema-protocol-2.0.xsd | 303 +++++++++
29 files changed, 4684 insertions(+), 32 deletions(-)
diff --git a/src/org/apache/axis/wsdl/toJava/JavaBeanWriter.java b/src/org/apache/axis/wsdl/toJava/JavaBeanWriter.java
index 8d84718..a0e4eac 100644
--- a/src/org/apache/axis/wsdl/toJava/JavaBeanWriter.java
+++ b/src/org/apache/axis/wsdl/toJava/JavaBeanWriter.java
@@ -102,6 +102,12 @@ public class JavaBeanWriter extends JavaClassWriter {
/** Field isMixed */
protected boolean isMixed = false;
+ /** Field parentIsAny */
+ protected boolean parentIsAny = false;
+
+ /** Field parentIsMixed */
+ protected boolean parentIsMixed = false;
+
/**
* Constructor.
@@ -264,20 +270,46 @@ public class JavaBeanWriter extends JavaClassWriter {
// Add element names
if (elements != null) {
+
+ // Check the inheritance chain for xs:any and xs:mixed
+ TypeEntry parent = extendType;
+ while ((!parentIsAny || !parentIsMixed) && parent != null) {
+ if (SchemaUtils.isMixed(parent.getNode())) {
+ parentIsMixed = true;
+ }
+ Vector hisElements = parent.getContainedElements();
+ for (int i = 0; hisElements != null && i < hisElements.size(); i++) {
+ ElementDecl elem = (ElementDecl) hisElements.get(i);
+ if (elem.getAnyElement()) {
+ parentIsAny = true;
+ }
+ }
+
+ parent =
+ SchemaUtils.getComplexElementExtensionBase(parent.getNode(),
+ emitter.getSymbolTable());
+ }
+
for (int i = 0; i < elements.size(); i++) {
ElementDecl elem = (ElementDecl) elements.get(i);
String typeName = elem.getType().getName();
- String variableName;
+ String variableName = null;
if (elem.getAnyElement()) {
- typeName = "org.apache.axis.message.MessageElement []";
- variableName = Constants.ANYCONTENT;
+ if (!parentIsAny && !parentIsMixed) {
+ typeName = "org.apache.axis.message.MessageElement []";
+ variableName = Constants.ANYCONTENT;
+ }
isAny = true;
} else {
variableName = elem.getName();
typeName = processTypeName(elem, typeName);
}
+ if (variableName == null) {
+ continue;
+ }
+
// Make sure the property name is not reserved.
variableName = JavaUtils.getUniqueValue(
helper.reservedPropNames, variableName);
@@ -302,7 +334,7 @@ public class JavaBeanWriter extends JavaClassWriter {
if (enableMemberFields && SchemaUtils.isMixed(type.getNode())) {
isMixed = true;
- if (!isAny) {
+ if (!isAny && !parentIsAny && !parentIsMixed) {
names.add("org.apache.axis.message.MessageElement []");
names.add(Constants.ANYCONTENT);
}
@@ -314,13 +346,13 @@ public class JavaBeanWriter extends JavaClassWriter {
for (int i = 0; i < attributes.size(); i++) {
ContainedAttribute attr = (ContainedAttribute) attributes.get(i);
String typeName = attr.getType().getName();
- String variableName = attr.getName();
+ String variableName = getAttributeName(attr);
- // TODO - What about MinOccurs and Nillable?
- // Do they make sense here?
- if (attr.getOptional()) {
- typeName = Utils.getWrapperType(typeName);
- }
+ // TODO - What about MinOccurs and Nillable?
+ // Do they make sense here?
+ if (attr.getOptional()) {
+ typeName = Utils.getWrapperType(typeName);
+ }
// Make sure the property name is not reserved.
variableName = JavaUtils.getUniqueValue(
@@ -384,14 +416,29 @@ public class JavaBeanWriter extends JavaClassWriter {
}
/**
- * Check if we need to use the wrapper type
+ * generate a name for the attribute
+ * @param attr
+ * @return name
+ */
+ private String getAttributeName(ContainedAttribute attr) {
+ String variableName = attr.getName();
+ if (variableName == null) {
+ variableName = Utils.getLastLocalPart(attr.getQName().getLocalPart());
+ }
+ return variableName;
+ }
+
+ /**
+ * Check if we need to use the wrapper type or MessageElement
*
* @param elem
* @param typeName
* @return type name
*/
private String processTypeName(ElementDecl elem, String typeName) {
- if (elem.getType().getUnderlTypeNillable()
+ if (elem.getAnyElement()) {
+ typeName = "org.apache.axis.message.MessageElement []";
+ } else if (elem.getType().getUnderlTypeNillable()
|| (elem.getNillable() && elem.getMaxOccursIsUnbounded())) {
/*
* Soapenc arrays with nillable underlying type or
@@ -399,7 +446,6 @@ public class JavaBeanWriter extends JavaClassWriter {
* should be mapped to a wrapper type.
*/
typeName = Utils.getWrapperType(elem.getType());
-
} else if (elem.getMinOccursIs0() && elem.getMaxOccursIsExactlyOne()
|| elem.getNillable() || elem.getOptional()) {
/*
@@ -642,6 +688,9 @@ public class JavaBeanWriter extends JavaClassWriter {
TypeEntry parent = extendType;
while (parent != null) {
+ if (parent.isSimpleType())
+ return;
+
extendList.add(parent);
parent =
@@ -653,6 +702,7 @@ public class JavaBeanWriter extends JavaClassWriter {
// the oldest parent. (Attrs are considered before elements).
Vector paramTypes = new Vector();
Vector paramNames = new Vector();
+ boolean gotAny = false;
for (int i = extendList.size() - 1; i >= 0; i--) {
TypeEntry te = (TypeEntry) extendList.elementAt(i);
@@ -667,36 +717,54 @@ public class JavaBeanWriter extends JavaClassWriter {
+ "_";
}
- // Process the attributes
- Vector attributes = te.getContainedAttributes();
- if (attributes != null) {
- for (int j = 0; j < attributes.size(); j += 1) {
- ContainedAttribute attr = (ContainedAttribute) attributes.get(j);
- paramTypes.add(attr.getType().getName());
- paramNames.add(JavaUtils.getUniqueValue(
- helper.reservedPropNames, attr.getName()));
- }
- }
-
// Process the elements
Vector elements = te.getContainedElements();
if (elements != null) {
for (int j = 0; j < elements.size(); j++) {
ElementDecl elem = (ElementDecl) elements.get(j);
- paramTypes.add(processTypeName(elem,elem.getType().getName()));
- paramNames.add(JavaUtils.getUniqueValue(
- helper.reservedPropNames, elem.getName()));
+
+ if (elem.getAnyElement()) {
+ if (!gotAny) {
+ gotAny = true;
+ paramTypes.add("org.apache.axis.message.MessageElement []");
+ paramNames.add(Constants.ANYCONTENT);
+ }
+ } else {
+ paramTypes.add(processTypeName(elem,elem.getType().getName()));
+ String name = elem.getName() == null ? ("param" + i) : elem.getName();
+ paramNames.add(JavaUtils.getUniqueValue(
+ helper.reservedPropNames, name));
+ }
}
}
- if (enableMemberFields && SchemaUtils.isMixed(te.getNode())) {
- isMixed = true;
- if (!isAny) {
- paramTypes.add("org.apache.axis.message.MessageElement []");
- paramNames.add(Constants.ANYCONTENT);
+ // Process the attributes
+ Vector attributes = te.getContainedAttributes();
+ if (attributes != null) {
+ for (int j = 0; j < attributes.size(); j += 1) {
+ ContainedAttribute attr = (ContainedAttribute) attributes.get(j);
+
+ String name = getAttributeName(attr);
+ String typeName = attr.getType().getName();
+
+ // TODO - What about MinOccurs and Nillable?
+ // Do they make sense here?
+ if (attr.getOptional()) {
+ typeName = Utils.getWrapperType(typeName);
+ }
+
+ paramTypes.add(typeName);
+ paramNames.add(JavaUtils.getUniqueValue(
+ helper.reservedPropNames, name));
}
}
+
+ }
+
+ if (isMixed && !isAny && !parentIsAny && !parentIsMixed) {
+ paramTypes.add("org.apache.axis.message.MessageElement []");
+ paramNames.add(Constants.ANYCONTENT);
}
// Set the index where the local params start
@@ -704,6 +772,18 @@ public class JavaBeanWriter extends JavaClassWriter {
// Now write the constructor signature
if (paramTypes.size() > 0) {
+
+ // Prevent name clash between local parameters and the
+ // parameters for the super class
+ if(localParams > 0) {
+ for (int j = 0; j < localParams; j++) {
+ String name = (String) paramNames.elementAt(j);
+ if(paramNames.indexOf(name, localParams)!=-1){
+ paramNames.set(j, "_" + name);
+ }
+ }
+ }
+
pw.println(" public " + className + "(");
for (int i = 0; i < paramTypes.size(); i++) {
diff --git a/test/wsdl/liberty/build.xml b/test/wsdl/liberty/build.xml
new file mode 100644
index 0000000..e2eea3c
--- /dev/null
+++ b/test/wsdl/liberty/build.xml
@@ -0,0 +1,135 @@
+<?xml version="1.0" ?>
+<!DOCTYPE project [
+ <!ENTITY properties SYSTEM "file:../../../xmls/properties.xml">
+ <!ENTITY paths SYSTEM "file:../../../xmls/path_refs.xml">
+ <!ENTITY taskdefs SYSTEM "file:../../../xmls/taskdefs.xml">
+ <!ENTITY taskdefs_post_compile SYSTEM "file:../../../xmls/taskdefs_post_compile.xml">
+ <!ENTITY targets SYSTEM "file:../../../xmls/targets.xml">
+]>
+
+<!-- ===================================================================
+<description>
+ Test/Sample Component file for Axis
+
+Notes:
+ This is a build file for use with the Jakarta Ant build tool.
+
+Prerequisites:
+
+ jakarta-ant from http://jakarta.apache.org
+
+Build Instructions:
+ To compile
+ ant compile
+ To execute
+ ant run
+
+Author:
+ Matt Seibert mseibert@us.ibm.com
+
+Copyright:
+ Copyright (c) 2002-2003 Apache Software Foundation.
+</description>
+==================================================================== -->
+
+<project default="compile">
+
+<property name="axis.home" location="../../.." />
+<property name="componentName" value="test/wsdl/liberty" />
+ &properties;
+ &paths;
+ &taskdefs;
+ &taskdefs_post_compile;
+ &targets;
+
+<target name="clean">
+ <echo message="Removing ${build.dir}/classes/${componentName} and ${build.dir}/work/${componentName}" />
+ <delete dir="${build.dir}/classes/${componentName}"/>
+ <delete dir="${build.dir}/work/${componentName}"/>
+</target>
+
+<target name="copy" depends="setenv"/>
+
+<target name="compile" depends="copy">
+ <echo message="Compiling test.wsdl.liberty"/>
+
+ <!-- local version of the WSDL -->
+ <wsdl2java url="${axis.home}/test/wsdl/liberty/liberty.wsdl"
+ output="${axis.home}/build/work"
+ verbose="no"
+ serverSide="no"
+ wrapArrays="true"
+ testcase="no">
+ <mapping namespace="urn:liberty:ac:2003-08" package="test.wsdl.liberty.ac"/>
+ <mapping namespace="urn:liberty:iff:2003-08" package="test.wsdl.liberty.iff"/>
+ <mapping namespace="urn:liberty:disco:2003-08" package="test.wsdl.liberty.disco"/>
+ <mapping namespace="urn:liberty:metadata:2003-08" package="test.wsdl.liberty.metadata"/>
+ <mapping namespace="urn:liberty:id-sis-ep:2003-08" package="test.wsdl.liberty.idsisep"/>
+ <mapping namespace="urn:liberty:id-sis-pp:2003-08" package="test.wsdl.liberty.idsispp"/>
+ <mapping namespace="urn:oasis:names:tc:SAML:1.0:assertion" package="test.wsdl.liberty.saml.assertion"/>
+ <mapping namespace="urn:oasis:names:tc:SAML:2.0:protocol" package="test.wsdl.liberty.saml.protocol"/>
+ <mapping namespace="urn:oasis:names:tc:SAML:2.0:metadata" package="test.wsdl.liberty.saml.metadata"/>
+ <mapping namespace="urn:oasis:names:tc:SAML:2.0:assertion" package="test.wsdl.liberty.saml.assertion"/>
+ <mapping namespace="http://www.w3.org/2000/09/xmldsig#" package="test.wsdl.liberty.xmldsig"/>
+ <mapping namespace="http://www.w3.org/2001/04/xmlenc#" package="test.wsdl.liberty.xmlenc"/>
+ </wsdl2java>
+
+ <!-- local version of the WSDL -->
+ <wsdl2java url="${axis.home}/test/wsdl/liberty/liberty2.wsdl"
+ output="${axis.home}/build/work"
+ verbose="no"
+ serverSide="no"
+ wrapArrays="true"
+ testcase="no">
+ <mapping namespace="urn:liberty:ac:2003-08" package="test.wsdl.liberty.ac"/>
+ <mapping namespace="urn:liberty:iff:2003-08" package="test.wsdl.liberty.iff"/>
+ <mapping namespace="urn:liberty:disco:2003-08" package="test.wsdl.liberty.disco"/>
+ <mapping namespace="urn:liberty:metadata:2003-08" package="test.wsdl.liberty.metadata"/>
+ <mapping namespace="urn:liberty:id-sis-ep:2003-08" package="test.wsdl.liberty.idsisep"/>
+ <mapping namespace="urn:liberty:id-sis-pp:2003-08" package="test.wsdl.liberty.idsispp"/>
+ <mapping namespace="urn:oasis:names:tc:SAML:1.0:assertion" package="test.wsdl.liberty.saml.assertion"/>
+ <mapping namespace="urn:oasis:names:tc:SAML:2.0:protocol" package="test.wsdl.liberty.saml.protocol"/>
+ <mapping namespace="urn:oasis:names:tc:SAML:2.0:metadata" package="test.wsdl.liberty.saml.metadata"/>
+ <mapping namespace="urn:oasis:names:tc:SAML:2.0:assertion" package="test.wsdl.liberty.saml.assertion"/>
+ <mapping namespace="http://www.w3.org/2000/09/xmldsig#" package="test.wsdl.liberty.xmldsig"/>
+ <mapping namespace="http://www.w3.org/2001/04/xmlenc#" package="test.wsdl.liberty.xmlenc"/>
+ </wsdl2java>
+
+ <!-- local version of the WSDL -->
+ <wsdl2java url="${axis.home}/test/wsdl/liberty/liberty3.wsdl"
+ output="${axis.home}/build/work"
+ verbose="no"
+ serverSide="no"
+ wrapArrays="true"
+ testcase="no">
+ <mapping namespace="urn:liberty:ac:2003-08" package="test.wsdl.liberty.ac"/>
+ <mapping namespace="urn:liberty:iff:2003-08" package="test.wsdl.liberty.iff"/>
+ <mapping namespace="urn:liberty:disco:2003-08" package="test.wsdl.liberty.disco"/>
+ <mapping namespace="urn:liberty:metadata:2003-08" package="test.wsdl.liberty.metadata"/>
+ <mapping namespace="urn:liberty:id-sis-ep:2003-08" package="test.wsdl.liberty.idsisep"/>
+ <mapping namespace="urn:liberty:id-sis-pp:2003-08" package="test.wsdl.liberty.idsispp"/>
+ <mapping namespace="urn:oasis:names:tc:SAML:1.0:assertion" package="test.wsdl.liberty.saml.assertion"/>
+ <mapping namespace="urn:oasis:names:tc:SAML:2.0:protocol" package="test.wsdl.liberty.saml.protocol"/>
+ <mapping namespace="urn:oasis:names:tc:SAML:2.0:metadata" package="test.wsdl.liberty.saml.metadata"/>
+ <mapping namespace="urn:oasis:names:tc:SAML:2.0:assertion" package="test.wsdl.liberty.saml.assertion"/>
+ <mapping namespace="http://www.w3.org/2000/09/xmldsig#" package="test.wsdl.liberty.xmldsig"/>
+ <mapping namespace="http://www.w3.org/2001/04/xmlenc#" package="test.wsdl.liberty.xmlenc"/>
+ </wsdl2java>
+
+ <copy todir="${build.dir}/work/test/wsdl/liberty" overwrite="yes">
+ <fileset dir="${axis.home}/test/wsdl/liberty">
+ <include name="*TestCase.java"/>
+ </fileset>
+ </copy>
+
+ <javac srcdir="${build.dir}/work" destdir="${build.dest}" nowarn="${nowarn}" source="${source}" fork="${javac.fork}"
+ debug="${debug}">
+ <classpath refid="classpath" />
+ <include name="test/wsdl/liberty/*.java" />
+ </javac>
+</target>
+
+<target name="run" >
+</target>
+
+</project>
diff --git a/test/wsdl/liberty/liberty-authentication-context-v1.3.xsd b/test/wsdl/liberty/liberty-authentication-context-v1.3.xsd
new file mode 100644
index 0000000..0895338
--- /dev/null
+++ b/test/wsdl/liberty/liberty-authentication-context-v1.3.xsd
@@ -0,0 +1,700 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema targetNamespace="urn:liberty:ac:2003-08"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns="urn:liberty:ac:2003-08">
+
+ <!-- added to get the Extension element -->
+ <xs:include schemaLocation="liberty-utility-v1.1.xsd"/>
+
+ <xs:annotation>
+ <xs:documentation> ### IMPORTANT NOTICE ###
+
+ The source code in this XSD file was excerpted verbatim from:
+
+ Liberty Authentication Context Specification
+ Version 1.3
+ 14 December 2004
+
+ Copyright (c) 2004 Liberty Alliance participants, see
+ http://www.projectliberty.org/specs/idwsf_1_1_copyrights.php
+
+ </xs:documentation>
+ </xs:annotation>
+ <xs:element name="AuthenticationContextStatement" type="AuthenticationContextStatementType">
+ <xs:annotation>
+ <xs:documentation>
+ A particular assertion on an identity
+ provider's part with respect to the authentication
+ context associated with an authentication assertion.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Identification" type="IdentificationType">
+ <xs:annotation>
+ <xs:documentation>
+ Refers to those characteristics that describe the processes and mechanisms
+ the Authentication Authority uses to initially create an association between a Principal
+ and the identity (or name) by which the Principal will be known
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PhysicalVerification">
+ <xs:annotation>
+ <xs:documentation>
+ This element indicates that identification has been performed in a physical
+ face-to-face meeting with the principal and not in an online manner.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name="credentialLevel">
+ <xs:simpleType>
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="primary"/>
+ <xs:enumeration value="secondary"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="WrittenConsent">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TechnicalProtection" type="TechnicalProtectionType">
+ <xs:annotation>
+ <xs:documentation>
+ Refers to those characterstics that describe how the 'secret' (the knowledge or possession
+ of which allows the Principal to authenticate to the Authentication Authority) is kept secure
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SecretKeyProtection" type="SecretKeyProtectionType">
+ <xs:annotation>
+ <xs:documentation>
+ This element indicates the types and strengths of facilities
+ of a UA used to protect a shared secret key from unauthorized access and/or use.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PrivateKeyProtection" type="PrivateKeyProtectionType">
+ <xs:annotation>
+ <xs:documentation>
+ This element indicates the types and strengths of facilities
+ of a UA used to protect a private key from unauthorized access and/or use.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="KeyActivation" type="KeyActivationType">
+ <xs:annotation>
+ <xs:documentation>The actions that must be performed before the private key can be used. </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="KeySharing" type="KeySharingType">
+ <xs:annotation>
+ <xs:documentation>Whether or not the private key is shared with the certificate authority.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="KeyStorage" type="KeyStorageType">
+ <xs:annotation>
+ <xs:documentation>
+ In which medium is the key stored.
+ memory - the key is stored in memory.
+ smartcard - the key is stored in a smartcard.
+ token - the key is stored in a hardware token.
+ MobileDevice - the key is stored in a mobile device.
+ MobileAuthCard - the key is stored in a mobile authentication card.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Password" type="PasswordType">
+ <xs:annotation>
+ <xs:documentation>
+ This element indicates that a password (or passphrase) has been used to
+ authenticate the Principal to a remote system.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ActivationPin" type="ActivationPinType">
+ <xs:annotation>
+ <xs:documentation>
+ This element indicates that a Pin (Personal Identification Number) has been used to authenticate the Principal to some local system in order to activate a key.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Token" type="TokenType">
+ <xs:annotation>
+ <xs:documentation>
+ This element indicates that a hardware or software token is used
+ as a method of identifying the Principal.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="TimeSyncToken" type="TimeSyncTokenType">
+ <xs:annotation>
+ <xs:documentation>
+ This element indicates that a time synchronization
+ token is used to identify the Principal. hardware - the time synchronization
+ token has been implemented in hardware. software - the time synchronization
+ token has been implemented in software. SeedLength - the length, in bits, of the
+ random seed used in the time synchronization token.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Smartcard">
+ <xs:annotation>
+ <xs:documentation>
+ This element indicates that a smartcard is used to identity the Principal.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Length" type="LengthType">
+ <xs:annotation>
+ <xs:documentation>
+ This element indicates the minimum and/or maximum ASCII length of the password which is enforced (by the UA or the IdP). In other words, this is the minimum and/or maximum number of ASCII characters required to represent a valid password.
+ min - the minimum number of ASCII characters required in a valid password, as enforced by the UA or the IdP.
+ max - the maximum number of ASCII characters required in a valid password, as enforced by the UA or the IdP.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="ActivationLimit" type="ActivationLimitType">
+ <xs:annotation>
+ <xs:documentation>
+ This element indicates the length of time for which an PIN-based authentication is valid.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Generation">
+ <xs:annotation>
+ <xs:documentation>
+ Indicates whether the password was chosen by the Principal or auto-supplied by the Authentication Authority.
+ principalchosen - the Principal is allowed to choose the value of the password. This is true even if
+ the initial password is chosen at random by the UA or the IdP and the Principal is then free to change
+ the password.
+ automatic - the password is chosen by the UA or the IdP to be cryptographically strong in some sense,
+ or to satisfy certain password rules, and that the Principal is not free to change it or to choose a new password.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name="mechanism" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="principalchosen"/>
+ <xs:enumeration value="automatic"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="AuthenticationMethod" type="AuthenticationMethodType">
+ <xs:annotation>
+ <xs:documentation>
+ Refers to those characteristics that define the mechanisms by which the Principal authenticates to the Authentication Authority.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PrincipalAuthenticationMechanism" type="PrincipalAuthenticationMechanismType">
+ <xs:annotation>
+ <xs:documentation>
+ The method that a Principal employs to perform authentication to local system components.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Authenticator" type="AuthenticatorType">
+ <xs:annotation>
+ <xs:documentation>
+ The method applied to validate a principal's authentication across a network
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PreviousSession">
+ <xs:annotation>
+ <xs:documentation>
+ Indicates that the Principal has been strongly authenticated in a previous session during which the IdP has set a cookie in the UA. During the present session the Principal has only been authenticated by the UA returning the cookie to the IdP.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="ResumeSession">
+ <xs:annotation>
+ <xs:documentation>
+ Rather like PreviousSession but using stronger security. A secret that was established in a previous session with the Authentication Authority has been cached by the local system and is now re-used (e.g. a Master Secret is used to derive new session keys in TLS, SSL, WTLS).
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="ZeroKnowledge">
+ <xs:annotation>
+ <xs:documentation>
+ This element indicates that the Principal has been authenticated by a zero knowledge technique as specified in ISO/IEC 9798-5.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SharedSecretChallengeResponse">
+ <xs:annotation>
+ <xs:documentation>
+ This element indicates that the Principal has been authenticated by a challenge-response protocol utilizing shared secret keys and symmetric cryptography.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="DigSig">
+ <xs:annotation>
+ <xs:documentation>
+ This element indicates that the Principal has been authenticated by a mechanism which involves the Principal computing a digital signature over at least challenge data provided by the IdP.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="IPAddress">
+ <xs:annotation>
+ <xs:documentation>
+ This element indicates that the Principal has been authenticated through connection from a particular IP address.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="AsymmetricDecryption">
+ <xs:annotation>
+ <xs:documentation>
+ The local system has a private key but it is used in decryption mode, rather than signature mode. For example, the Authentication Authority generates a secret and encrypts it using the local system's public key: the local system then proves it has decrypted the secret.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="AsymmetricKeyAgreement">
+ <xs:annotation>
+ <xs:documentation>
+ The local system has a private key and uses it for shared secret key agreement with the Authentication Authority (e.g. via Diffie Helman).
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="SharedSecretDynamicPlaintext">
+ <xs:annotation>
+ <xs:documentation>
+ The local system and Authentication Authority share a secret key. The local system uses this to encrypt a randomized string to pass to the Authentication Authority.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="AuthenticatorTransportProtocol" type="AuthenticatorTransportProtocolType">
+ <xs:annotation>
+ <xs:documentation>
+ The protocol across which Authenticator information is transferred to an Authentication Authority verifier.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="HTTP">
+ <xs:annotation>
+ <xs:documentation>
+ This element indicates that the Authenticator has been transmitted using bare HTTP utilizing no additional security protocols.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="IPSec">
+ <xs:annotation>
+ <xs:documentation>
+ This element indicates that the Authenticator has been transmitted using a transport mechanism protected by an IPSEC session.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="WTLS">
+ <xs:annotation>
+ <xs:documentation>
+ This element indicates that the Authenticator has been transmitted using a transport mechanism protected by a WTLS session.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MobileNetworkNoEncryption">
+ <xs:annotation>
+ <xs:documentation>
+ This element indicates that the Authenticator has been transmitted solely across a mobile network using no additional security mechanism.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MobileNetworkRadioEncryption">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MobileNetworkEndToEndEncryption">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="SSL">
+ <xs:annotation>
+ <xs:documentation>
+ This element indicates that the Authenticator has been transmitted using a transport mechanism protected by an SSL or TLS session.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="OperationalProtection" type="OperationalProtectionType">
+ <xs:annotation>
+ <xs:documentation>
+ Refers to those characteristics that describe procedural security controls employed by the Authentication Authority.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="SecurityAudit" type="SecurityAuditType"/>
+ <xs:element name="SwitchAudit">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="DeactivationCallCenter">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GoverningAgreements" type="GoverningAgreementsType">
+ <xs:annotation>
+ <xs:documentation>
+ Provides a mechanism for linking to external (likely human readable) documents in which additional business agreements,(e.g. liability constraints, obligations, etc) can be placed.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="GoverningAgreementRef" type="GoverningAgreementRefType"/>
+ <xs:element name="AuthenticatingAuthority" type="AuthenticatingAuthorityType">
+ <xs:annotation>
+ <xs:documentation>
+ The Authority that originally authenticated the Principal.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="IdentificationType">
+ <xs:sequence>
+ <xs:element ref="PhysicalVerification" minOccurs="0"/>
+ <xs:element ref="WrittenConsent" minOccurs="0"/>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="nym">
+ <xs:annotation>
+ <xs:documentation>
+ This attribute indicates whether or not the Identification mechanisms allow the actions of the Principal to be linked to an actual end user.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="anonymity"/>
+ <xs:enumeration value="verinymity"/>
+ <xs:enumeration value="pseudonymity"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:complexType>
+ <xs:complexType name="GoverningAgreementsType">
+ <xs:sequence>
+ <xs:element ref="GoverningAgreementRef" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="GoverningAgreementRefType">
+ <xs:attribute name="governingAgreementRef" type="xs:anyURI" use="required"/>
+ </xs:complexType>
+ <xs:complexType name="AuthenticatingAuthorityType">
+ <xs:sequence>
+ <xs:element ref="GoverningAgreements"/>
+ </xs:sequence>
+ <xs:attribute name="ID" type="xs:anyURI" use="required"/>
+ </xs:complexType>
+ <xs:complexType name="AuthenticatorTransportProtocolType">
+ <xs:choice>
+ <xs:element ref="HTTP"/>
+ <xs:element ref="SSL"/>
+ <xs:element ref="MobileNetworkNoEncryption"/>
+ <xs:element ref="MobileNetworkRadioEncryption"/>
+ <xs:element ref="MobileNetworkEndToEndEncryption"/>
+ <xs:element ref="WTLS"/>
+ <xs:element ref="IPSec"/>
+ <xs:element ref="Extension" maxOccurs="unbounded"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="PrincipalAuthenticationMechanismType">
+ <xs:choice>
+ <xs:element ref="Password"/>
+ <xs:element ref="Token"/>
+ <xs:element ref="Smartcard"/>
+ <xs:element ref="ActivationPin"/>
+ <xs:element ref="Extension" maxOccurs="unbounded"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="AuthenticationMethodType">
+ <xs:sequence>
+ <xs:element ref="PrincipalAuthenticationMechanism" minOccurs="0"/>
+ <xs:element ref="Authenticator" minOccurs="0"/>
+ <xs:element ref="AuthenticatorTransportProtocol" minOccurs="0"/>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AuthenticationContextStatementType">
+ <xs:sequence>
+ <xs:element ref="Identification" minOccurs="0"/>
+ <xs:element ref="TechnicalProtection" minOccurs="0"/>
+ <xs:element ref="OperationalProtection" minOccurs="0"/>
+ <xs:element ref="AuthenticationMethod" minOccurs="0"/>
+ <xs:element ref="GoverningAgreements" minOccurs="0"/>
+ <xs:element ref="AuthenticatingAuthority" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="ID" type="xs:ID"/>
+ </xs:complexType>
+ <xs:complexType name="TechnicalProtectionType">
+ <xs:choice>
+ <xs:element ref="PrivateKeyProtection" minOccurs="0"/>
+ <xs:element ref="SecretKeyProtection" minOccurs="0"/>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="OperationalProtectionType">
+ <xs:sequence>
+ <xs:element ref="SecurityAudit" minOccurs="0"/>
+ <xs:element ref="DeactivationCallCenter" minOccurs="0"/>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="AuthenticatorType">
+ <xs:choice>
+ <xs:element ref="PreviousSession"/>
+ <xs:element ref="ResumeSession"/>
+ <xs:element ref="DigSig"/>
+ <xs:element ref="Password"/>
+ <xs:element ref="ZeroKnowledge"/>
+ <xs:element ref="SharedSecretChallengeResponse"/>
+ <xs:element ref="SharedSecretDynamicPlaintext"/>
+ <xs:element ref="IPAddress"/>
+ <xs:element ref="AsymmetricDecryption"/>
+ <xs:element ref="AsymmetricKeyAgreement"/>
+ <xs:element ref="Extension" maxOccurs="unbounded"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="KeyActivationType">
+ <xs:choice>
+ <xs:element ref="ActivationPin"/>
+ <xs:element ref="Extension" maxOccurs="unbounded"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:complexType name="KeySharingType">
+ <xs:attribute name="sharing" type="xs:boolean" use="required"/>
+ </xs:complexType>
+ <xs:complexType name="PrivateKeyProtectionType">
+ <xs:sequence>
+ <xs:element ref="KeyActivation" minOccurs="0"/>
+ <xs:element ref="KeyStorage" minOccurs="0"/>
+ <xs:element ref="KeySharing" minOccurs="0"/>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="PasswordType">
+ <xs:sequence>
+ <xs:element ref="Length" minOccurs="0"/>
+ <xs:element ref="Alphabet" minOccurs="0"/>
+ <xs:element ref="Generation" minOccurs="0"/>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="ActivationPinType">
+ <xs:sequence>
+ <xs:element ref="Length" minOccurs="0"/>
+ <xs:element ref="Alphabet" minOccurs="0"/>
+ <xs:element ref="Generation" minOccurs="0"/>
+ <xs:element ref="ActivationLimit" minOccurs="0"/>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:element name="Alphabet" type="AlphabetType"/>
+
+ <xs:complexType name="AlphabetType">
+ <xs:attribute name="requiredChars" type="xs:string" use="required"/>
+ <xs:attribute name="excludedChars" type="xs:string" use="optional"/>
+ <xs:attribute name="case" type="xs:string" use="optional"/>
+ </xs:complexType>
+
+ <xs:complexType name="TokenType">
+ <xs:sequence>
+ <xs:element ref="TimeSyncToken"/>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="TimeSyncTokenType">
+ <xs:attribute name="DeviceType" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="hardware"/>
+ <xs:enumeration value="software"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="SeedLength" type="xs:integer" use="required"/>
+ <xs:attribute name="DeviceInHand" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="true"/>
+ <xs:enumeration value="false"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:complexType>
+ <xs:complexType name="ActivationLimitType">
+ <xs:choice>
+ <xs:element ref="ActivationLimitDuration"/>
+ <xs:element ref="ActivationLimitUsages"/>
+ <xs:element ref="ActivationLimitSession"/>
+ </xs:choice>
+ </xs:complexType>
+
+ <xs:element name="ActivationLimitDuration" type="ActivationLimitDurationType">
+ <xs:annotation>
+ <xs:documentation>
+ This element indicates that the Key Activation Limit is defined as a specific duration of time.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="ActivationLimitUsages" type="ActivationLimitUsagesType">
+ <xs:annotation>
+ <xs:documentation>
+ This element indicates that the Key Activation Limit is defined as a number of usages.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="ActivationLimitSession" type="ActivationLimitSessionType">
+ <xs:annotation>
+ <xs:documentation>
+ This element indicates that the Key Activation Limit is the session.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:complexType name="ActivationLimitDurationType">
+ <xs:attribute name="duration" type="xs:duration" use="required"/>
+ </xs:complexType>
+
+ <xs:complexType name="ActivationLimitUsagesType">
+ <xs:attribute name="number" type="xs:integer" use="required"/>
+ </xs:complexType>
+
+ <xs:complexType name="ActivationLimitSessionType"/>
+
+ <xs:complexType name="LengthType">
+ <xs:attribute name="min" type="xs:integer" use="required"/>
+ <xs:attribute name="max" type="xs:integer" use="optional"/>
+ </xs:complexType>
+
+ <xs:complexType name="KeyStorageType">
+ <xs:attribute name="medium" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:NMTOKEN">
+ <xs:enumeration value="memory"/>
+ <xs:enumeration value="smartcard"/>
+ <xs:enumeration value="token"/>
+ <xs:enumeration value="MobileDevice"/>
+ <xs:enumeration value="MobileAuthCard"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:complexType>
+ <xs:complexType name="SecretKeyProtectionType">
+ <xs:sequence>
+ <xs:element ref="KeyActivation" minOccurs="0"/>
+ <xs:element ref="KeyStorage" minOccurs="0"/>
+ <xs:element ref="Extension" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="SecurityAuditType">
+ <xs:sequence>
+ <xs:element ref="SwitchAudit" minOccurs="0"/>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
+
diff --git a/test/wsdl/liberty/liberty-idff-protocols-schema-1.2-errata-v3.0.xsd b/test/wsdl/liberty/liberty-idff-protocols-schema-1.2-errata-v3.0.xsd
new file mode 100644
index 0000000..7bf6a8b
--- /dev/null
+++ b/test/wsdl/liberty/liberty-idff-protocols-schema-1.2-errata-v3.0.xsd
@@ -0,0 +1,320 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema targetNamespace="urn:liberty:iff:2003-08"
+ xmlns="urn:liberty:iff:2003-08"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:ac="urn:liberty:ac:2003-08"
+ xmlns:md="urn:liberty:metadata:2003-08"
+ xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"
+ xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol"
+ xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
+ elementFormDefault="qualified" attributeFormDefault="unqualified">
+
+ <xs:import namespace="urn:oasis:names:tc:SAML:1.0:assertion"
+ schemaLocation="oasis-sstc-saml-schema-assertion-1.1.xsd"/>
+ <xs:import namespace="urn:oasis:names:tc:SAML:1.0:protocol"
+ schemaLocation="oasis-sstc-saml-schema-protocol-1.1.xsd"/>
+ <xs:import namespace="http://www.w3.org/2001/04/xmlenc#"
+ schemaLocation="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/xenc-schema.xsd"/>
+ <xs:import namespace="urn:liberty:ac:2003-08" schemaLocation="liberty-authentication-context-v1.3.xsd"/>
+ <xs:import namespace="urn:liberty:metadata:2003-08" schemaLocation="liberty-metadata-v1.1.xsd"/>
+
+ <xs:include schemaLocation="liberty-idff-utility-v1.0.xsd"/>
+
+ <xs:annotation>
+ <xs:documentation> ### IMPORTANT NOTICE ###
+
+The source code in this XSD file was excerpted verbatim from:
+
+Liberty Protocols and Schema Specification
+Version 1.2-errata-v2.0
+12 September 2004
+Updated for WSF 1.1 release
+
+Copyright (c) 2003,2004 Liberty Alliance participants, see
+http://www.projectliberty.org/specs/idff_copyrights.html
+
+</xs:documentation>
+ </xs:annotation>
+ <xs:element name="ProviderID" type="md:entityIDType"/>
+ <xs:element name="AffiliationID" type="md:entityIDType"/>
+
+ <xs:element name="AuthnRequest" type="AuthnRequestType"/>
+ <xs:complexType name="AuthnRequestType">
+ <xs:complexContent>
+ <xs:extension base="samlp:RequestAbstractType">
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="ProviderID"/>
+ <xs:element ref="AffiliationID" minOccurs="0"/>
+ <xs:element ref="NameIDPolicy" minOccurs="0"/>
+ <xs:element name="ForceAuthn" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="IsPassive" type="xs:boolean" minOccurs="0"/>
+ <xs:element ref="ProtocolProfile" minOccurs="0"/>
+ <xs:element name="AssertionConsumerServiceID" type="xs:string" minOccurs="0"/>
+ <xs:element ref="RequestAuthnContext" minOccurs="0"/>
+ <xs:element ref="RelayState" minOccurs="0"/>
+ <xs:element ref="Scoping" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute ref="consent" use="optional"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:simpleType name="NameIDPolicyType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="none"/>
+ <xs:enumeration value="onetime"/>
+ <xs:enumeration value="federated"/>
+ <xs:enumeration value="any"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:element name="NameIDPolicy" type="NameIDPolicyType"/>
+ <xs:simpleType name="AuthnContextComparisonType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="exact"/>
+ <xs:enumeration value="minimum"/>
+ <xs:enumeration value="maximum"/>
+ <xs:enumeration value="better"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="ScopingType">
+ <xs:sequence>
+ <xs:element name="ProxyCount" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element ref="IDPList" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="Scoping" type="ScopingType"/>
+ <xs:element name="RelayState" type="xs:string"/>
+ <xs:element name="ProtocolProfile" type="xs:anyURI"/>
+ <xs:element name="RequestAuthnContext">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice>
+ <xs:element name="AuthnContextClassRef" type="xs:anyURI" maxOccurs="unbounded"/>
+ <xs:element name="AuthnContextStatementRef" type="xs:anyURI" maxOccurs="unbounded"/>
+ </xs:choice>
+ <xs:element name="AuthnContextComparison" type="AuthnContextComparisonType" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="AuthnResponse" type="AuthnResponseType"/>
+ <xs:complexType name="AuthnResponseType">
+ <xs:complexContent>
+ <xs:extension base="samlp:ResponseType">
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="ProviderID"/>
+ <xs:element ref="RelayState" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute ref="consent" use="optional"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="Assertion" type="AssertionType"/>
+ <xs:complexType name="AssertionType">
+ <xs:complexContent>
+ <xs:extension base="saml:AssertionType">
+ <xs:attribute name="InResponseTo" type="xs:NCName" use="optional"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="SubjectType">
+ <xs:complexContent>
+ <xs:extension base="saml:SubjectType">
+ <xs:sequence>
+ <xs:element ref="IDPProvidedNameIdentifier" minOccurs="0"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="Subject" type="SubjectType" substitutionGroup="saml:Subject"/>
+ <xs:element name="EncryptableNameIdentifier" type="EncryptableNameIdentifierType"
+ substitutionGroup="saml:NameIdentifier"/>
+ <xs:complexType name="EncryptableNameIdentifierType">
+ <xs:simpleContent>
+ <xs:extension base="saml:NameIdentifierType">
+ <xs:attribute name="IssueInstant" type="xs:dateTime"/>
+ <xs:attribute name="Nonce" type="xs:string" use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:element name="EncryptedNameIdentifier" type="EncryptedNameIdentifierType"/>
+ <xs:complexType name="EncryptedNameIdentifierType">
+ <xs:sequence>
+ <xs:element ref="xenc:EncryptedData"/>
+ <xs:element ref="xenc:EncryptedKey" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:element name="AuthenticationStatement" type="AuthenticationStatementType" substitutionGroup="saml:Statement"/>
+ <xs:complexType name="AuthenticationStatementType">
+ <xs:complexContent>
+ <xs:extension base="saml:AuthenticationStatementType">
+ <xs:sequence>
+ <xs:element name="AuthnContext" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="AuthnContextClassRef" type="xs:anyURI" minOccurs="0"/>
+ <xs:choice>
+ <xs:element ref="ac:AuthenticationContextStatement"/>
+ <xs:element name="AuthnContextStatementRef" type="xs:anyURI"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="ReauthenticateOnOrAfter" type="xs:dateTime" use="optional"/>
+ <xs:attribute name="SessionIndex" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="AuthnRequestEnvelope" type="AuthnRequestEnvelopeType"/>
+ <xs:complexType name="AuthnRequestEnvelopeType">
+ <xs:complexContent>
+ <xs:extension base="RequestEnvelopeType">
+ <xs:sequence>
+ <xs:element ref="AuthnRequest"/>
+ <xs:element ref="ProviderID"/>
+ <xs:element name="ProviderName" type="xs:string" minOccurs="0"/>
+ <xs:element name="AssertionConsumerServiceURL" type="xs:anyURI"/>
+ <xs:element ref="IDPList" minOccurs="0"/>
+ <xs:element name="IsPassive" type="xs:boolean" minOccurs="0"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="RequestEnvelopeType">
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="IDPList" type="IDPListType"/>
+ <xs:complexType name="IDPListType">
+ <xs:sequence>
+ <xs:element ref="IDPEntries"/>
+ <xs:element ref="GetComplete" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="IDPEntry">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="ProviderID"/>
+ <xs:element name="ProviderName" type="xs:string" minOccurs="0"/>
+ <xs:element name="Loc" type="xs:anyURI"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="IDPEntries">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="IDPEntry" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GetComplete" type="xs:anyURI"/>
+ <xs:element name="AuthnResponseEnvelope" type="AuthnResponseEnvelopeType"/>
+ <xs:complexType name="AuthnResponseEnvelopeType">
+ <xs:complexContent>
+ <xs:extension base="ResponseEnvelopeType">
+ <xs:sequence>
+ <xs:element ref="AuthnResponse"/>
+ <xs:element name="AssertionConsumerServiceURL" type="xs:anyURI"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="ResponseEnvelopeType">
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="RegisterNameIdentifierRequest" type="RegisterNameIdentifierRequestType"/>
+ <xs:complexType name="RegisterNameIdentifierRequestType">
+ <xs:complexContent>
+ <xs:extension base="samlp:RequestAbstractType">
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="ProviderID"/>
+ <xs:element ref="IDPProvidedNameIdentifier"/>
+ <xs:element ref="SPProvidedNameIdentifier" minOccurs="0"/>
+ <xs:element ref="OldProvidedNameIdentifier"/>
+ <xs:element ref="RelayState" minOccurs="0"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="IDPProvidedNameIdentifier" type="saml:NameIdentifierType"/>
+ <xs:element name="SPProvidedNameIdentifier" type="saml:NameIdentifierType"/>
+ <xs:element name="OldProvidedNameIdentifier" type="saml:NameIdentifierType"/>
+ <xs:element name="RegisterNameIdentifierResponse" type="StatusResponseType"/>
+ <xs:complexType name="StatusResponseType">
+ <xs:complexContent>
+ <xs:extension base="samlp:ResponseAbstractType">
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="ProviderID"/>
+ <xs:element ref="samlp:Status"/>
+ <xs:element ref="RelayState" minOccurs="0"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="FederationTerminationNotification" type="FederationTerminationNotificationType"/>
+ <xs:complexType name="FederationTerminationNotificationType">
+ <xs:complexContent>
+ <xs:extension base="samlp:RequestAbstractType">
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="ProviderID"/>
+ <xs:element ref="saml:NameIdentifier"/>
+ </xs:sequence>
+ <xs:attribute ref="consent" use="optional"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="LogoutRequest" type="LogoutRequestType"/>
+ <xs:complexType name="LogoutRequestType">
+ <xs:complexContent>
+ <xs:extension base="samlp:RequestAbstractType">
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="ProviderID"/>
+ <xs:element ref="saml:NameIdentifier"/>
+ <xs:element name="SessionIndex" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="RelayState" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute ref="consent" use="optional"/>
+ <xs:attribute name="NotOnOrAfter" type="xs:dateTime" use="optional"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="LogoutResponse" type="StatusResponseType"/>
+ <xs:element name="NameIdentifierMappingRequest" type="NameIdentifierMappingRequestType"/>
+ <xs:complexType name="NameIdentifierMappingRequestType">
+ <xs:complexContent>
+ <xs:extension base="samlp:RequestAbstractType">
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="ProviderID"/>
+ <xs:element ref="saml:NameIdentifier"/>
+ <xs:element name="TargetNamespace" type="md:entityIDType"/>
+ </xs:sequence>
+ <xs:attribute ref="consent" use="optional"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="NameIdentifierMappingResponse" type="NameIdentifierMappingResponseType"/>
+ <xs:complexType name="NameIdentifierMappingResponseType">
+ <xs:complexContent>
+ <xs:extension base="samlp:ResponseAbstractType">
+ <xs:sequence>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="ProviderID"/>
+ <xs:element ref="samlp:Status"/>
+ <xs:element ref="saml:NameIdentifier" minOccurs="0"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+</xs:schema>
+
diff --git a/test/wsdl/liberty/liberty-idff-utility-v1.0.xsd b/test/wsdl/liberty/liberty-idff-utility-v1.0.xsd
new file mode 100644
index 0000000..cd02ec9
--- /dev/null
+++ b/test/wsdl/liberty/liberty-idff-utility-v1.0.xsd
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- filename: lib-arch-iff-utility.xsd -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:annotation>
+ <xs:documentation>Liberty Alliance Project utility schema. A collection of IDentity Federatiopn Framework (ID-FF) common elements and types. This schema is intended for use in ID-FF schemas.</xs:documentation>
+ <xs:documentation>Copyright 2003 Liberty Alliance Project</xs:documentation>
+ <xs:documentation>This file intended for inclusion, rather than imporation, into other schemas. </xs:documentation>
+ <xs:documentation>This version: 2003-06-04</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType name="IDType">
+ <xs:annotation>
+ <xs:documentation>This type should be used to provided IDs to components that have IDs that may not be scoped within the local xml instance document </xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ <xs:simpleType name="IDReferenceType">
+ <xs:annotation>
+ <xs:documentation> This type can be used when referring to elements that are
+ identified using an IDType </xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ <xs:element name="Status" type="StatusType">
+ <xs:annotation>
+ <xs:documentation> A standard Status type</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="StatusType">
+ <xs:annotation>
+ <xs:documentation> A type that may be used for status codes. </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element ref="Status" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="code" type="xs:QName" use="required"/>
+ <xs:attribute name="ref" type="xs:NCName" use="optional"/>
+ <xs:attribute name="comment" type="xs:string" use="optional"/>
+ </xs:complexType>
+ <xs:complexType name="EmptyType">
+ <xs:annotation>
+ <xs:documentation> This type may be used to create an empty element </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:restriction base="xs:anyType"/>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="Extension" type="extensionType">
+ <xs:annotation>
+ <xs:documentation>An element that contains arbitrary content extensions from other namespaces</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="extensionType">
+ <xs:annotation>
+ <xs:documentation>A type for arbitrary content extensions from other namespaces</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:any namespace="##other" processContents="lax" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:attribute name="consent" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation> This attribute is used by message constructors that need/want to report about obtained consent.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+</xs:schema>
+
diff --git a/test/wsdl/liberty/liberty-idsis-ep-v1.1.xsd b/test/wsdl/liberty/liberty-idsis-ep-v1.1.xsd
new file mode 100644
index 0000000..6901bcc
--- /dev/null
+++ b/test/wsdl/liberty/liberty-idsis-ep-v1.1.xsd
@@ -0,0 +1,105 @@
+<!-- Generated by gen-prof.pl $Id: liberty-idsis-ep-v1.1.xsd,v 1.1 2005/02/04 21:38:21 steveg Exp $
+from $Id: liberty-idsis-ep-v1.1.xsd,v 1.1 2005/02/04 21:38:21 steveg Exp $ -->
+<!-- adjust 2003-10-02 TDW: changed copyright -->
+<xs:schema targetNamespace="urn:liberty:id-sis-ep:2003-08" xmlns="urn:liberty:id-sis-ep:2003-08" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="1.0">
+ <xs:annotation>
+ <xs:documentation>Title: Liberty ID-SIS Employee Profile Services Schema</xs:documentation>
+ <xs:documentation>The source code in this XSD file was excerpted verbatim from:
+
+Liberty Liberty ID-SIS Employee Profile Service Specification
+Version 1.2
+12th November 2003
+
+Copyright (c) 2003 Liberty Alliance participants, see
+https://www.projectliberty.org/specs/idwsf_copyrights.html
+
+</xs:documentation>
+ </xs:annotation>
+ <xs:include schemaLocation="liberty-idwsf-dst-v1.1.xsd"/>
+ <xs:include schemaLocation="liberty-idwsf-dst-dt-v1.1.xsd"/>
+ <xs:element name="EP" type="EPType"/>
+ <xs:complexType name="EPType">
+ <xs:sequence>
+ <xs:element ref="EmployeeID" minOccurs="0"/>
+ <xs:element ref="AltEmployeeID" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="DateOfHire" minOccurs="0"/>
+ <xs:element ref="JobStartDate" minOccurs="0"/>
+ <xs:element ref="EmployeeStatus" minOccurs="0"/>
+ <xs:element ref="EmployeeType" minOccurs="0"/>
+ <xs:element ref="InternalJobTitle" minOccurs="0"/>
+ <xs:element ref="LInternalJobTitle" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="OU" minOccurs="0"/>
+ <xs:element ref="LOU" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="CorpCommonName" minOccurs="0"/>
+ <xs:element ref="CorpLegalIdentity" minOccurs="0"/>
+ <xs:element ref="ManagerEmployeeID" minOccurs="0"/>
+ <xs:element ref="SubalternateEmployeeID" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="Extension" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="commonAttributes"/>
+ </xs:complexType>
+ <xs:element name="EmployeeID" type="DSTString"/>
+ <xs:element name="AltEmployeeID" type="DSTString"/>
+ <xs:element name="DateOfHire" type="DSTDate"/>
+ <xs:element name="JobStartDate" type="DSTDate"/>
+ <xs:element name="EmployeeStatus" type="DSTURI"/>
+ <xs:element name="EmployeeType" type="DSTURI"/>
+ <xs:element name="InternalJobTitle" type="DSTString"/>
+ <xs:element name="LInternalJobTitle" type="DSTLocalizedString"/>
+ <xs:element name="OU" type="DSTString"/>
+ <xs:element name="LOU" type="DSTLocalizedString"/>
+ <xs:element name="CorpCommonName" type="CorpCommonNameType"/>
+ <xs:complexType name="CorpCommonNameType">
+ <xs:sequence>
+ <xs:element ref="CN" minOccurs="0"/>
+ <xs:element ref="LCN" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="AltCN" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="LAltCN" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="Extension" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="commonAttributes"/>
+ </xs:complexType>
+ <xs:element name="CN" type="DSTString"/>
+ <xs:element name="LCN" type="DSTLocalizedString"/>
+ <xs:element name="AltCN" type="DSTString"/>
+ <xs:element name="LAltCN" type="DSTLocalizedString"/>
+ <xs:element name="CorpLegalIdentity" type="CorpLegalIdentityType"/>
+ <xs:complexType name="CorpLegalIdentityType">
+ <xs:sequence>
+ <xs:element ref="LegalName" minOccurs="0"/>
+ <xs:element ref="LLegalName" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="VAT" minOccurs="0"/>
+ <xs:element ref="AltID" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="Extension" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="commonAttributes"/>
+ </xs:complexType>
+ <xs:element name="LegalName" type="DSTString"/>
+ <xs:element name="LLegalName" type="DSTLocalizedString"/>
+ <xs:element name="VAT" type="VATType"/>
+ <xs:complexType name="VATType">
+ <xs:sequence>
+ <xs:element ref="IDValue"/>
+ <xs:element ref="IDType" minOccurs="0"/>
+ <xs:element ref="Extension" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="commonAttributes"/>
+ </xs:complexType>
+ <xs:element name="IDValue" type="DSTString"/>
+ <xs:element name="IDType" type="DSTURI"/>
+ <xs:element name="AltID" type="AltIDType"/>
+ <xs:complexType name="AltIDType">
+ <xs:sequence>
+ <xs:element ref="IDValue"/>
+ <xs:element ref="IDType" minOccurs="0"/>
+ <xs:element ref="Extension" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="commonAttributes"/>
+ </xs:complexType>
+ <xs:element name="ManagerEmployeeID" type="DSTString"/>
+ <xs:element name="SubalternateEmployeeID" type="DSTString"/>
+ <xs:simpleType name="SelectType">
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+</xs:schema>
+
diff --git a/test/wsdl/liberty/liberty-idsis-pp-v1.1.xsd b/test/wsdl/liberty/liberty-idsis-pp-v1.1.xsd
new file mode 100644
index 0000000..f41b7f0
--- /dev/null
+++ b/test/wsdl/liberty/liberty-idsis-pp-v1.1.xsd
@@ -0,0 +1,260 @@
+<!-- 2003-11-02-->
+<xs:schema targetNamespace="urn:liberty:id-sis-pp:2003-08" xmlns="urn:liberty:id-sis-pp:2003-08" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" elementFormDefault="qualified" version="1.0">
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>
+ <xs:annotation>
+ <xs:documentation>Title: Liberty ID-WSF-SIS Personal Profile Services Schema</xs:documentation>
+ <xs:documentation>The source code in this XSD file was excerpted verbatim from:
+
+Liberty Liberty ID-SIS Personal Profile Service Specification
+Version 1.2
+12th November 2003
+
+Copyright (c) 2003 Liberty Alliance participants, see
+https://www.projectliberty.org/specs/idwsf_copyrights.html
+</xs:documentation>
+ </xs:annotation>
+ <xs:include schemaLocation="liberty-idwsf-dst-v1.1.xsd"/>
+ <xs:include schemaLocation="liberty-idwsf-dst-dt-v1.1.xsd"/>
+ <xs:complexType name="KeyInfoType" mixed="true">
+ <xs:complexContent mixed="true">
+ <xs:extension base="ds:KeyInfoType">
+ <xs:attribute ref="modificationTime"/>
+ <xs:attribute ref="ACC"/>
+ <xs:attribute ref="ACCTime"/>
+ <xs:attribute ref="modifier"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:simpleType name="SelectType">
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ <xs:element name="PP" type="PPType"/>
+ <xs:complexType name="PPType">
+ <xs:sequence>
+ <xs:element ref="InformalName" minOccurs="0"/>
+ <xs:element ref="LInformalName" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="CommonName" minOccurs="0"/>
+ <xs:element ref="LegalIdentity" minOccurs="0"/>
+ <xs:element ref="EmploymentIdentity" minOccurs="0"/>
+ <xs:element ref="AddressCard" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="MsgContact" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="Facade" minOccurs="0"/>
+ <xs:element ref="Demographics" minOccurs="0"/>
+ <xs:element ref="SignKey" minOccurs="0"/>
+ <xs:element ref="EncryptKey" minOccurs="0"/>
+ <xs:element ref="EmergencyContact" minOccurs="0"/>
+ <xs:element ref="LEmergencyContact" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="Extension" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="commonAttributes"/>
+ </xs:complexType>
+ <xs:element name="InformalName" type="DSTString"/>
+ <xs:element name="LInformalName" type="DSTLocalizedString"/>
+ <xs:element name="CommonName" type="CommonNameType"/>
+ <xs:complexType name="CommonNameType">
+ <xs:sequence>
+ <xs:element ref="CN" minOccurs="0"/>
+ <xs:element ref="LCN" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="AltCN" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="LAltCN" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="AnalyzedName" minOccurs="0"/>
+ <xs:element ref="Extension" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="commonAttributes"/>
+ </xs:complexType>
+ <xs:element name="CN" type="DSTString"/>
+ <xs:element name="LCN" type="DSTLocalizedString"/>
+ <xs:element name="AltCN" type="DSTString"/>
+ <xs:element name="LAltCN" type="DSTLocalizedString"/>
+ <xs:element name="AnalyzedName" type="AnalyzedNameType"/>
+ <xs:complexType name="AnalyzedNameType">
+ <xs:sequence>
+ <xs:element ref="PersonalTitle" minOccurs="0"/>
+ <xs:element ref="LPersonalTitle" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="FN" minOccurs="0"/>
+ <xs:element ref="LFN" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="SN" minOccurs="0"/>
+ <xs:element ref="LSN" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="MN" minOccurs="0"/>
+ <xs:element ref="LMN" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="Extension" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="nameScheme" type="xs:anyURI" use="optional"/>
+ <xs:attributeGroup ref="commonAttributes"/>
+ </xs:complexType>
+ <xs:element name="PersonalTitle" type="DSTString"/>
+ <xs:element name="LPersonalTitle" type="DSTLocalizedString"/>
+ <xs:element name="FN" type="DSTString"/>
+ <xs:element name="LFN" type="DSTLocalizedString"/>
+ <xs:element name="SN" type="DSTString"/>
+ <xs:element name="LSN" type="DSTLocalizedString"/>
+ <xs:element name="MN" type="DSTString"/>
+ <xs:element name="LMN" type="DSTLocalizedString"/>
+ <xs:element name="LegalIdentity" type="LegalIdentityType"/>
+ <xs:complexType name="LegalIdentityType">
+ <xs:sequence>
+ <xs:element ref="LegalName" minOccurs="0"/>
+ <xs:element ref="LLegalName" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="AnalyzedName" minOccurs="0"/>
+ <xs:element ref="VAT" minOccurs="0"/>
+ <xs:element ref="AltID" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="DOB" minOccurs="0"/>
+ <xs:element ref="Gender" minOccurs="0"/>
+ <xs:element ref="MaritalStatus" minOccurs="0"/>
+ <xs:element ref="Extension" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="commonAttributes"/>
+ </xs:complexType>
+ <xs:element name="LegalName" type="DSTString"/>
+ <xs:element name="LLegalName" type="DSTLocalizedString"/>
+ <xs:element name="VAT" type="VATType"/>
+ <xs:complexType name="VATType">
+ <xs:sequence>
+ <xs:element ref="IDValue"/>
+ <xs:element ref="IDType" minOccurs="0"/>
+ <xs:element ref="Extension" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="commonAttributes"/>
+ </xs:complexType>
+ <xs:element name="IDValue" type="DSTString"/>
+ <xs:element name="IDType" type="DSTURI"/>
+ <xs:element name="AltID" type="AltIDType"/>
+ <xs:complexType name="AltIDType">
+ <xs:sequence>
+ <xs:element ref="IDValue"/>
+ <xs:element ref="IDType" minOccurs="0"/>
+ <xs:element ref="Extension" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="commonAttributes"/>
+ </xs:complexType>
+ <xs:element name="DOB" type="DSTDate"/>
+ <xs:element name="Gender" type="DSTURI"/>
+ <xs:element name="MaritalStatus" type="DSTURI"/>
+ <xs:element name="EmploymentIdentity" type="EmploymentIdentityType"/>
+ <xs:complexType name="EmploymentIdentityType">
+ <xs:sequence>
+ <xs:element ref="JobTitle" minOccurs="0"/>
+ <xs:element ref="LJobTitle" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="O" minOccurs="0"/>
+ <xs:element ref="LO" minOccurs="0"/>
+ <xs:element ref="AltO" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="AltLO" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="Extension" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="commonAttributes"/>
+ </xs:complexType>
+ <xs:element name="JobTitle" type="DSTString"/>
+ <xs:element name="LJobTitle" type="DSTLocalizedString"/>
+ <xs:element name="O" type="DSTString"/>
+ <xs:element name="LO" type="DSTLocalizedString"/>
+ <xs:element name="AltO" type="DSTString"/>
+ <xs:element name="AltLO" type="DSTLocalizedString"/>
+ <xs:element name="AddressCard" type="AddressCardType"/>
+ <xs:complexType name="AddressCardType">
+ <xs:sequence>
+ <xs:element ref="AddrType" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="Address" minOccurs="0"/>
+ <xs:element ref="Nick" minOccurs="0"/>
+ <xs:element ref="LNick" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="LComment" minOccurs="0"/>
+ <xs:element ref="Extension" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="commonAttributes"/>
+ </xs:complexType>
+ <xs:element name="AddrType" type="DSTURI"/>
+ <xs:element name="Address" type="AddressType"/>
+ <xs:complexType name="AddressType">
+ <xs:sequence>
+ <xs:element ref="PostalAddress" minOccurs="0"/>
+ <xs:element ref="LPostalAddress" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="PostalCode" minOccurs="0"/>
+ <xs:element ref="L" minOccurs="0"/>
+ <xs:element ref="LL" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="St" minOccurs="0"/>
+ <xs:element ref="LSt" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="C" minOccurs="0"/>
+ <xs:element ref="Extension" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="commonAttributes"/>
+ </xs:complexType>
+ <xs:element name="PostalAddress" type="DSTString"/>
+ <xs:element name="LPostalAddress" type="DSTLocalizedString"/>
+ <xs:element name="PostalCode" type="DSTString"/>
+ <xs:element name="L" type="DSTString"/>
+ <xs:element name="LL" type="DSTLocalizedString"/>
+ <xs:element name="St" type="DSTString"/>
+ <xs:element name="LSt" type="DSTLocalizedString"/>
+ <xs:element name="C" type="DSTString"/>
+ <xs:element name="Nick" type="DSTString"/>
+ <xs:element name="LNick" type="DSTLocalizedString"/>
+ <xs:element name="LComment" type="DSTString"/>
+ <xs:element name="MsgContact" type="MsgContactType"/>
+ <xs:complexType name="MsgContactType">
+ <xs:sequence>
+ <xs:element ref="Nick" minOccurs="0"/>
+ <xs:element ref="LNick" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="LComment" minOccurs="0"/>
+ <xs:element ref="MsgType" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="MsgMethod" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="MsgTechnology" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="MsgProvider" minOccurs="0"/>
+ <xs:element ref="MsgAccount" minOccurs="0"/>
+ <xs:element ref="MsgSubaccount" minOccurs="0"/>
+ <xs:element ref="Extension" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="commonAttributes"/>
+ </xs:complexType>
+ <xs:element name="MsgType" type="DSTURI"/>
+ <xs:element name="MsgMethod" type="DSTURI"/>
+ <xs:element name="MsgTechnology">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="DSTURI">
+ <xs:attribute name="msgLimit" type="xs:integer" use="optional"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MsgProvider" type="DSTString"/>
+ <xs:element name="MsgAccount" type="DSTString"/>
+ <xs:element name="MsgSubaccount" type="DSTString"/>
+ <xs:element name="Facade" type="FacadeType"/>
+ <xs:complexType name="FacadeType">
+ <xs:sequence>
+ <xs:element ref="MugShot" minOccurs="0"/>
+ <xs:element ref="WebSite" minOccurs="0"/>
+ <xs:element ref="NamePronounced" minOccurs="0"/>
+ <xs:element ref="GreetSound" minOccurs="0"/>
+ <xs:element ref="GreetMeSound" minOccurs="0"/>
+ <xs:element ref="Extension" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="commonAttributes"/>
+ </xs:complexType>
+ <xs:element name="MugShot" type="DSTURI"/>
+ <xs:element name="WebSite" type="DSTURI"/>
+ <xs:element name="NamePronounced" type="DSTURI"/>
+ <xs:element name="GreetSound" type="DSTURI"/>
+ <xs:element name="GreetMeSound" type="DSTURI"/>
+ <xs:element name="Demographics" type="DemographicsType"/>
+ <xs:complexType name="DemographicsType">
+ <xs:sequence>
+ <xs:element ref="DisplayLanguage" minOccurs="0"/>
+ <xs:element ref="Language" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="Birthday" minOccurs="0"/>
+ <xs:element ref="Age" minOccurs="0"/>
+ <xs:element ref="TimeZone" minOccurs="0"/>
+ <xs:element ref="Extension" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attributeGroup ref="commonAttributes"/>
+ </xs:complexType>
+ <xs:element name="DisplayLanguage" type="DSTString"/>
+ <xs:element name="Language" type="DSTString"/>
+ <xs:element name="Birthday" type="DSTMonthDay"/>
+ <xs:element name="Age" type="DSTInteger"/>
+ <xs:element name="TimeZone" type="DSTString"/>
+ <xs:element name="SignKey" type="KeyInfoType"/>
+ <xs:element name="EncryptKey" type="KeyInfoType"/>
+ <xs:element name="EmergencyContact" type="DSTString"/>
+ <xs:element name="LEmergencyContact" type="DSTLocalizedString"/>
+</xs:schema>
+
diff --git a/test/wsdl/liberty/liberty-idwsf-authn-svc-v1.1.xsd b/test/wsdl/liberty/liberty-idwsf-authn-svc-v1.1.xsd
new file mode 100644
index 0000000..fc7bd27
--- /dev/null
+++ b/test/wsdl/liberty/liberty-idwsf-authn-svc-v1.1.xsd
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<xs:schema
+ targetNamespace="urn:liberty:sa:2004-04"
+ xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:sa="urn:liberty:sa:2004-04"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:lib="urn:liberty:iff:2003-08"
+ xmlns:disco="urn:liberty:disco:2003-08"
+ xmlns="urn:liberty:sa:2004-04"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="07"
+>
+
+<!-- Filename: lib-arch-authn-svc.xsd -->
+<!-- $Id: liberty-idwsf-authn-svc-v1.1.xsd,v 1.1 2005/02/04 21:38:21 steveg Exp $ -->
+<!-- Author: Jeff Hodges -->
+<!-- Last editor: $Author: steveg $ -->
+<!-- $Date: 2005/02/04 21:38:21 $ -->
+<!-- $Revision: 1.1 $ -->
+
+
+ <xs:import
+ namespace="urn:liberty:iff:2003-08"
+ schemaLocation="liberty-idff-protocols-schema-1.2-errata-v3.0.xsd"/>
+
+ <xs:import
+ namespace="urn:liberty:disco:2003-08"
+ schemaLocation="liberty-idwsf-disco-svc-v1.2.xsd"/>
+
+ <xs:include schemaLocation="liberty-idwsf-utility-v1.1.xsd"/>
+
+ <xs:annotation>
+ <xs:documentation>
+ Liberty ID-WSF Authentication Service XSD
+ </xs:documentation>
+ <xs:documentation>
+ The source code in this XSD file was excerpted verbatim from:
+
+ Liberty ID-WSF Authentication Service Specification
+ Version 1.1
+ 14 Dec 2004
+
+ Copyright (c) 2003, 2004 Liberty Alliance participants,
+ see http://www.projectliberty.org/specs/idwsf_1_1_copyrights.php
+
+ </xs:documentation>
+ </xs:annotation>
+
+
+ <!-- SASLRequest and SASLResponse ID-* messages -->
+
+ <xs:element name="SASLRequest">
+ <xs:complexType>
+ <xs:sequence>
+
+ <xs:element name="Data" minOccurs="0">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:base64Binary"/>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element ref="lib:RequestAuthnContext"
+ minOccurs="0"/>
+
+ </xs:sequence>
+
+ <xs:attribute name="mechanism"
+ type="xs:string"
+ use="required"/>
+
+ <xs:attribute name="authzID"
+ type="xs:string"
+ use="optional"/>
+
+ <xs:attribute name="advisoryAuthnID"
+ type="xs:string"
+ use="optional"/>
+
+ <xs:attribute name="id"
+ type="xs:ID"
+ use="optional"/>
+
+ </xs:complexType>
+ </xs:element>
+
+
+ <xs:element name="SASLResponse">
+ <xs:complexType>
+ <xs:sequence>
+
+ <xs:element ref="Status"/>
+
+ <xs:element ref="PasswordTransforms" minOccurs="0"/>
+
+ <xs:element name="Data" minOccurs="0">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:base64Binary"/>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element ref="disco:ResourceOffering"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+
+ <xs:element name="Credentials" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any namespace="##any"
+ processContents="lax"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ </xs:sequence>
+
+ <xs:attribute name="serverMechanism"
+ type="xs:string"
+ use="optional"/>
+
+ <xs:attribute name="id"
+ type="xs:ID"
+ use="optional"/>
+
+ </xs:complexType>
+ </xs:element>
+
+
+ <!-- Password Transformations -->
+
+ <xs:element name="PasswordTransforms">
+
+ <xs:annotation>
+ <xs:documentation>
+ Contains ordered list of sequential password transformations
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:complexType>
+ <xs:sequence>
+
+ <xs:element name="Transform" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+
+ <xs:element name="Parameter"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="name"
+ type="xs:string"
+ use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+
+ </xs:sequence>
+
+ <xs:attribute name="name"
+ type="xs:anyURI"
+ use="required"/>
+
+ <xs:attribute name="id"
+ type="xs:ID"
+ use="optional"/>
+
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+
+
+</xs:schema>
+
+
diff --git a/test/wsdl/liberty/liberty-idwsf-disco-svc-exts-v1.2.xsd b/test/wsdl/liberty/liberty-idwsf-disco-svc-exts-v1.2.xsd
new file mode 100644
index 0000000..c877fd5
--- /dev/null
+++ b/test/wsdl/liberty/liberty-idwsf-disco-svc-exts-v1.2.xsd
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema targetNamespace="urn:liberty:disco:2004-04"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:md="urn:liberty:metadata:2003-08"
+ xmlns:ds11="urn:liberty:disco:2004-04"
+ xmlns:disco="urn:liberty:disco:2003-08"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+
+ <xs:include schemaLocation="liberty-idwsf-utility-v1.1.xsd"/>
+ <xs:import namespace="urn:liberty:metadata:2003-08"
+ schemaLocation="liberty-metadata-v1.1.xsd"/>
+ <xs:import namespace="urn:liberty:disco:2003-08"
+ schemaLocation="liberty-idwsf-disco-svc-v1.2.xsd"/>
+ <xs:annotation>
+ <xs:documentation>
+
+ XML Schema from Liberty Discovery Service Specification.
+
+ ### NOTICE ###
+
+ Copyright (c) 2004 Liberty Alliance participants, see
+ http://www.projectliberty.org/specs/idwsf_1_1_copyrights.php
+
+ </xs:documentation>
+ </xs:annotation>
+ <!-- For use in ModifyResponse Extension field -->
+ <xs:element name="Keys" type="ds11:KeysType"/>
+ <xs:complexType name="KeysType">
+ <xs:sequence>
+ <xs:element ref="md:KeyDescriptor" minOccurs="1" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="SendSingleLogOut" type="disco:DirectiveType"/>
+ <xs:element name="GenerateBearerToken" type="disco:DirectiveType"/>
+</xs:schema>
+
diff --git a/test/wsdl/liberty/liberty-idwsf-disco-svc-v1.2.xsd b/test/wsdl/liberty/liberty-idwsf-disco-svc-v1.2.xsd
new file mode 100644
index 0000000..8174af2
--- /dev/null
+++ b/test/wsdl/liberty/liberty-idwsf-disco-svc-v1.2.xsd
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema targetNamespace="urn:liberty:disco:2003-08"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:md="urn:liberty:metadata:2003-08"
+ xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
+ xmlns="urn:liberty:disco:2003-08"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+
+ <xs:include schemaLocation="liberty-idwsf-utility-v1.1.xsd"/>
+
+ <xs:import namespace="urn:liberty:metadata:2003-08"
+ schemaLocation="liberty-metadata-v1.1.xsd"/>
+
+ <xs:import namespace="http://www.w3.org/2001/04/xmlenc#"
+ schemaLocation="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/xenc-schema.xsd"/>
+ <xs:annotation>
+ <xs:documentation>
+
+ XML Schema from Liberty Discovery Service Specification.
+
+ ### NOTICE ###
+
+ Copyright (c) 2004 Liberty Alliance participants, see
+ http://www.projectliberty.org/specs/idwsf_1_1_copyrights.php
+
+ </xs:documentation>
+ </xs:annotation>
+ <xs:element name="ServiceType" type="xs:anyURI"/>
+
+ <xs:complexType name="ResourceIDType">
+ <xs:simpleContent>
+ <xs:extension base="xs:anyURI">
+ <xs:attribute name="id" type="xs:ID" use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:complexType name="EncryptedResourceIDType">
+ <xs:sequence>
+ <xs:element ref="xenc:EncryptedData"/>
+ <xs:element ref="xenc:EncryptedKey"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:element name="ResourceID" type="ResourceIDType"/>
+ <xs:element name="EncryptedResourceID" type="EncryptedResourceIDType"/>
+
+ <!--
+ if not present, equivalent to
+ <ResourceID>urn:liberty:isf:implied-resource</ResourceID>
+ (see specification text for details)
+ -->
+
+ <xs:group name="ResourceIDGroup">
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="1">
+ <xs:element ref="ResourceID"/>
+ <xs:element ref="EncryptedResourceID"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:group>
+
+ <xs:complexType name="DescriptionType">
+ <xs:sequence>
+ <xs:element name="SecurityMechID" type="xs:anyURI" minOccurs="1" maxOccurs="unbounded"/>
+ <xs:element name="CredentialRef" type="xs:IDREF" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:choice>
+ <xs:group ref="WsdlRef"/>
+ <xs:group ref="BriefSoapHttpDescription"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID" use="optional"/>
+ </xs:complexType>
+
+ <xs:complexType name="ServiceInstanceType">
+ <xs:sequence>
+ <xs:element ref="ServiceType"/>
+ <xs:element name="ProviderID" type="md:entityIDType"/>
+ <xs:element name="Description" type="DescriptionType" minOccurs="1" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:group name="WsdlRef">
+ <xs:sequence>
+ <xs:element name="WsdlURI" type="xs:anyURI"/>
+ <xs:element name="ServiceNameRef" type="xs:QName"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:group name="BriefSoapHttpDescription">
+ <xs:sequence>
+ <xs:element name="Endpoint" type="xs:anyURI"/>
+ <xs:element name="SoapAction" type="xs:anyURI" minOccurs="0"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:element name="ResourceOffering" type="ResourceOfferingType"/>
+ <xs:complexType name="ResourceOfferingType">
+ <xs:sequence>
+ <xs:group ref="ResourceIDGroup"/>
+ <xs:element name="ServiceInstance" type="ServiceInstanceType"/>
+ <xs:element ref="Options" minOccurs="0"/>
+ <xs:element name="Abstract" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="entryID" type="IDType" use="optional"/>
+ </xs:complexType>
+ <xs:element name="Options" type="OptionsType"/>
+ <xs:complexType name="OptionsType">
+ <xs:sequence>
+ <xs:element name="Option" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="Query" type="QueryType"/>
+ <xs:complexType name="QueryType">
+ <xs:sequence>
+ <xs:group ref="ResourceIDGroup"/>
+ <xs:element name="RequestedServiceType" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="ServiceType"/>
+ <xs:element ref="Options" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID" use="optional"/>
+ </xs:complexType>
+ <xs:element name="QueryResponse" type="QueryResponseType"/>
+ <xs:complexType name="QueryResponseType">
+ <xs:sequence>
+ <xs:element ref="Status"/>
+ <xs:element ref="ResourceOffering" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="Credentials" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID" use="optional"/>
+ </xs:complexType>
+ <xs:complexType name="InsertEntryType">
+ <xs:sequence>
+ <xs:element ref="ResourceOffering"/>
+ <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="RemoveEntryType">
+ <xs:attribute name="entryID" type="IDReferenceType" use="required"/>
+ </xs:complexType>
+
+ <xs:element name="Modify" type="ModifyType"/>
+ <xs:complexType name="ModifyType">
+ <xs:sequence>
+ <xs:group ref="ResourceIDGroup"/>
+ <xs:element name="InsertEntry" type="InsertEntryType" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="RemoveEntry" type="RemoveEntryType" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID" use="optional"/>
+ </xs:complexType>
+ <xs:complexType name="DirectiveType">
+ <xs:attribute name="descriptionIDRefs" type="xs:IDREFS" use="optional"/>
+ </xs:complexType>
+ <xs:element name="AuthenticateRequester" type="DirectiveType"/>
+ <xs:element name="AuthorizeRequester" type="DirectiveType"/>
+ <xs:element name="AuthenticateSessionContext" type="DirectiveType"/>
+ <xs:element name="EncryptResourceID" type="DirectiveType"/>
+ <xs:element name="ModifyResponse" type="ModifyResponseType"/>
+ <xs:complexType name="ModifyResponseType">
+ <xs:sequence>
+ <xs:element ref="Status"/>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="1"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID" use="optional"/>
+ <xs:attribute name="newEntryIDs" use="optional">
+ <xs:simpleType>
+ <xs:list itemType="IDReferenceType"/>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:complexType>
+</xs:schema>
+
diff --git a/test/wsdl/liberty/liberty-idwsf-dst-dt-v1.1.xsd b/test/wsdl/liberty/liberty-idwsf-dst-dt-v1.1.xsd
new file mode 100644
index 0000000..8728487
--- /dev/null
+++ b/test/wsdl/liberty/liberty-idwsf-dst-dt-v1.1.xsd
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:md="urn:liberty:metadata:2003-08"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified" attributeFormDefault="unqualified">
+
+ <xs:import namespace="urn:liberty:metadata:2003-08"
+ schemaLocation="liberty-metadata-v1.1.xsd"/>
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace"
+ schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+ <xs:include schemaLocation="liberty-idwsf-utility-v1.1.xsd"/>
+ <xs:annotation>
+ <xs:documentation>Liberty Alliance Project ID-WSF Data Services Template Data Types Schema</xs:documentation>
+ <xs:documentation>
+The source code in this XSD file was excerpted verbatim from:
+
+Liberty ID-WSF Data Services Template Specification
+Version 1.1
+14 December 2004
+
+Copyright (c) 2004 Liberty Alliance participants, see
+http://www.projectliberty.org/specs/idwsf_1_1_copyrights.php
+
+ </xs:documentation>
+ </xs:annotation>
+ <!-- Common attributes to be used by different services when found useful/needed-->
+ <xs:attribute name="id" type="IDType"/>
+ <xs:attribute name="modificationTime" type="xs:dateTime"/>
+ <xs:attributeGroup name="commonAttributes">
+ <xs:attribute ref="id"/>
+ <xs:attribute ref="modificationTime"/>
+ </xs:attributeGroup>
+ <xs:attribute name="ACC" type="xs:anyURI"/>
+ <xs:attribute name="ACCTime" type="xs:dateTime"/>
+ <xs:attribute name="modifier" type="md:entityIDType"/>
+ <xs:attributeGroup name="leafAttributes">
+ <xs:attributeGroup ref="commonAttributes"/>
+ <xs:attribute ref="ACC"/>
+ <xs:attribute ref="ACCTime"/>
+ <xs:attribute ref="modifier"/>
+ </xs:attributeGroup>
+ <xs:attribute name="script" type="xs:anyURI"/>
+ <xs:attributeGroup name="localizedLeafAttributes">
+ <xs:attributeGroup ref="leafAttributes"/>
+ <xs:attribute ref="xml:lang" use="required"/>
+ <xs:attribute ref="script"/>
+ </xs:attributeGroup>
+ <!-- Common data types to be used by different services when found useful/needed-->
+ <xs:complexType name="DSTLocalizedString">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attributeGroup ref="localizedLeafAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="DSTString">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attributeGroup ref="leafAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="DSTInteger">
+ <xs:simpleContent>
+ <xs:extension base="xs:integer">
+ <xs:attributeGroup ref="leafAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="DSTURI">
+ <xs:simpleContent>
+ <xs:extension base="xs:anyURI">
+ <xs:attributeGroup ref="leafAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="DSTDate">
+ <xs:simpleContent>
+ <xs:extension base="xs:date">
+ <xs:attributeGroup ref="leafAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="DSTMonthDay">
+ <xs:simpleContent>
+ <xs:extension base="xs:gMonthDay">
+ <xs:attributeGroup ref="leafAttributes"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+</xs:schema>
+
diff --git a/test/wsdl/liberty/liberty-idwsf-dst-v1.1.xsd b/test/wsdl/liberty/liberty-idwsf-dst-v1.1.xsd
new file mode 100644
index 0000000..a35ccf1
--- /dev/null
+++ b/test/wsdl/liberty/liberty-idwsf-dst-v1.1.xsd
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema xmlns:disco="urn:liberty:disco:2003-08"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+
+ <xs:include schemaLocation="liberty-idwsf-utility-v1.1.xsd"/>
+ <xs:import namespace="urn:liberty:disco:2003-08"
+ schemaLocation="liberty-idwsf-disco-svc-v1.2.xsd"/>
+ <xs:annotation>
+ <xs:documentation>
+The source code in this XSD file was excerpted verbatim from:
+
+Liberty ID-WSF Data Services Template Specification
+Version 1.1
+14th December 2004
+
+Copyright (c) 2004 Liberty Alliance participants, see
+http://www.projectliberty.org/specs/idwsf_1_1_copyrights.php
+
+ </xs:documentation>
+ </xs:annotation>
+ <xs:element name="ResourceID" type="disco:ResourceIDType"/>
+ <xs:element name="EncryptedResourceID" type="disco:EncryptedResourceIDType"/>
+ <xs:group name="ResourceIDGroup">
+ <xs:choice>
+ <xs:element ref="ResourceID"/>
+ <xs:element ref="EncryptedResourceID"/>
+ </xs:choice>
+ </xs:group>
+ <!-- Querying Data -->
+ <xs:element name="Query" type="QueryType"/>
+ <xs:complexType name="QueryType">
+ <xs:sequence>
+ <xs:group ref="ResourceIDGroup" minOccurs="0"/>
+ <xs:element name="QueryItem" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Select" type="SelectType"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="includeCommonAttributes" type="xs:boolean" default="0"/>
+ <xs:attribute name="itemID" type="IDType"/>
+ <xs:attribute name="changedSince" type="xs:dateTime"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="itemID" type="IDType"/>
+ </xs:complexType>
+ <xs:element name="QueryResponse" type="QueryResponseType"/>
+ <xs:complexType name="QueryResponseType">
+ <xs:sequence>
+ <xs:element ref="Status"/>
+ <xs:element name="Data" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="itemIDRef" type="IDReferenceType"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="itemIDRef" type="IDReferenceType"/>
+ <xs:attribute name="timeStamp" type="xs:dateTime"/>
+ </xs:complexType>
+ <!-- Modifying Data -->
+ <xs:element name="Modify" type="ModifyType"/>
+ <xs:complexType name="ModifyType">
+ <xs:sequence>
+ <xs:group ref="ResourceIDGroup" minOccurs="0"/>
+ <xs:element name="Modification" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Select" type="SelectType"/>
+ <xs:element name="NewData" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:any minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="notChangedSince" type="xs:dateTime"/>
+ <xs:attribute name="overrideAllowed" type="xs:boolean" default="0"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="itemID" type="IDType"/>
+ </xs:complexType>
+ <xs:element name="ModifyResponse" type="ResponseType"/>
+ <xs:complexType name="ResponseType">
+ <xs:sequence>
+ <xs:element ref="Status"/>
+ <xs:element ref="Extension" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID"/>
+ <xs:attribute name="itemIDRef" type="IDReferenceType"/>
+ <xs:attribute name="timeStamp" type="xs:dateTime"/>
+ </xs:complexType>
+</xs:schema>
+
diff --git a/test/wsdl/liberty/liberty-idwsf-interaction-svc-v1.1.xsd b/test/wsdl/liberty/liberty-idwsf-interaction-svc-v1.1.xsd
new file mode 100644
index 0000000..3c4b567
--- /dev/null
+++ b/test/wsdl/liberty/liberty-idwsf-interaction-svc-v1.1.xsd
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema targetNamespace="urn:liberty:is:2003-08"
+ xmlns="urn:liberty:is:2003-08"
+ xmlns:is="urn:liberty:is:2003-08"
+ xmlns:disco="urn:liberty:disco:2003-08"
+ xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="1.1">
+
+ <xs:include schemaLocation="liberty-idwsf-utility-v1.1.xsd"/>
+ <xs:import namespace="http://schemas.xmlsoap.org/soap/envelope/"
+ schemaLocation="http://schemas.xmlsoap.org/soap/envelope/"/>
+ <xs:import namespace="urn:liberty:disco:2003-08"
+ schemaLocation="liberty-idwsf-disco-svc-v1.2.xsd"/>
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#"
+ schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>
+ <xs:annotation>
+ <xs:documentation>
+The source code in this XSD file was excerpted verbatim from:
+
+Liberty ID-WSF Interaction Service Specification
+Version 1.1
+14th December 2004
+
+Copyright (c) 2004 Liberty Alliance participants, see
+http://www.projectliberty.org/specs/idwsf_1_1_copyrights.php
+ </xs:documentation>
+ </xs:annotation>
+ <xs:element name="UserInteraction" type="UserInteractionHeaderType"/>
+ <xs:complexType name="UserInteractionHeaderType">
+ <xs:sequence>
+ <xs:element name="InteractionService" type="disco:ResourceOfferingType" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID" use="optional"/>
+ <xs:attribute name="interact" type="xs:QName" use="optional" default="is:interactIfNeeded"/>
+ <xs:attribute name="language" type="xs:NMTOKENS" use="optional"/>
+ <xs:attribute name="redirect" type="xs:boolean" use="optional" default="0"/>
+ <xs:attribute name="maxInteractTime" type="xs:integer" use="optional"/>
+ <xs:attribute ref="soap:actor" use="optional"/>
+ <xs:attribute ref="soap:mustUnderstand" use="optional"/>
+ </xs:complexType>
+ <xs:element name="RedirectRequest" type="RedirectRequestType"/>
+ <xs:complexType name="RedirectRequestType">
+ <xs:attribute name="redirectURL" type="xs:anyURI" use="required"/>
+ </xs:complexType>
+ <xs:element name="ResourceID" type="disco:ResourceIDType"/>
+ <xs:element name="EncryptedResourceID" type="disco:EncryptedResourceIDType"/>
+ <xs:group name="ResourceIDGroup">
+ <xs:choice>
+ <xs:element ref="ResourceID"/>
+ <xs:element ref="EncryptedResourceID"/>
+ </xs:choice>
+ </xs:group>
+ <xs:element name="InteractionRequest" type="InteractionRequestType"/>
+ <xs:complexType name="InteractionRequestType">
+ <xs:sequence>
+ <xs:group ref="ResourceIDGroup" minOccurs="0"/>
+ <xs:element ref="Inquiry" maxOccurs="unbounded"/>
+ <xs:element ref="ds:KeyInfo" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID" use="optional"/>
+ <xs:attribute name="language" type="xs:NMTOKENS" use="optional"/>
+ <xs:attribute name="maxInteractTime" type="xs:integer" use="optional"/>
+ <xs:attribute name="signed" type="xs:token" use="optional"/>
+ </xs:complexType>
+ <xs:element name="Inquiry" type="InquiryType"/>
+ <xs:complexType name="InquiryType">
+ <xs:sequence>
+ <xs:element ref="Help" minOccurs="0"/>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element ref="Select" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="Confirm" type="InquiryElementType" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="Text" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID" use="optional"/>
+ <xs:attribute name="title" type="xs:string" use="optional"/>
+ </xs:complexType>
+ <xs:element name="Help" type="HelpType"/>
+ <xs:complexType name="HelpType">
+ <xs:attribute name="label" type="xs:string" use="optional"/>
+ <xs:attribute name="link" type="xs:anyURI" use="optional"/>
+ <xs:attribute name="moreLink" type="xs:anyURI" use="optional"/>
+ </xs:complexType>
+ <xs:element name="Hint" type="xs:string"/>
+ <xs:element name="Select" type="SelectType"/>
+ <xs:complexType name="SelectType">
+ <xs:complexContent>
+ <xs:extension base="InquiryElementType">
+ <xs:sequence>
+ <xs:element name="Item" minOccurs="2" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="Hint" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="label" type="xs:string" use="optional"/>
+ <xs:attribute name="value" type="xs:NMTOKEN" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="multiple" type="xs:boolean" use="optional" default="false"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="Text" type="TextType"/>
+ <xs:complexType name="TextType">
+ <xs:complexContent>
+ <xs:extension base="InquiryElementType">
+ <xs:attribute name="minChars" type="xs:integer" use="optional"/>
+ <xs:attribute name="maxChars" type="xs:integer" use="optional"/>
+ <xs:attribute name="format" type="xs:string" use="optional"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="InquiryElementType" abstract="true">
+ <xs:sequence>
+ <xs:element ref="Help" minOccurs="0"/>
+ <xs:element ref="Hint" minOccurs="0"/>
+ <xs:element name="Label" type="xs:normalizedString" minOccurs="0"/>
+ <xs:element name="Value" type="xs:normalizedString" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="name" type="xs:ID" use="required"/>
+ </xs:complexType>
+ <xs:element name="InteractionResponse" type="InteractionResponseType"/>
+ <xs:complexType name="InteractionResponseType">
+ <xs:sequence>
+ <xs:element ref="Status"/>
+ <xs:choice>
+ <xs:element name="InteractionStatement" type="InteractionStatementType" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="Parameter" type="ParameterType" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:choice>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="InteractionStatementType">
+ <xs:sequence>
+ <xs:element ref="Inquiry" maxOccurs="unbounded"/>
+ <xs:element ref="ds:Signature"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ParameterType">
+ <xs:attribute name="name" type="xs:ID" use="required"/>
+ <xs:attribute name="value" type="xs:string" use="required"/>
+ </xs:complexType>
+</xs:schema>
+
diff --git a/test/wsdl/liberty/liberty-idwsf-security-mechanisms-v1.2.xsd b/test/wsdl/liberty/liberty-idwsf-security-mechanisms-v1.2.xsd
new file mode 100644
index 0000000..81a5ef0
--- /dev/null
+++ b/test/wsdl/liberty/liberty-idwsf-security-mechanisms-v1.2.xsd
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<xs:schema targetNamespace="urn:liberty:sec:2003-08"
+ xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
+ xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"
+ xmlns:ac="urn:liberty:ac:2003-08"
+ xmlns:lib="urn:liberty:iff:2003-08"
+ xmlns:disco="urn:liberty:disco:2003-08"
+ xmlns:md="urn:liberty:metadata:2003-08"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:sec="urn:liberty:sec:2003-08"
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+ <xs:import namespace="urn:oasis:names:tc:SAML:1.0:assertion"
+ schemaLocation="oasis-sstc-saml-schema-assertion-1.1.xsd"/>
+ <xs:import namespace="urn:liberty:iff:2003-08"
+ schemaLocation="liberty-idff-protocols-schema-1.2-errata-v3.0.xsd"/>
+ <xs:import namespace="urn:liberty:disco:2003-08"
+ schemaLocation="liberty-idwsf-disco-svc-v1.2.xsd"/>
+ <xs:import namespace="urn:liberty:ac:2003-08"
+ schemaLocation="liberty-authentication-context-v1.3.xsd"/>
+ <xs:import namespace="urn:liberty:metadata:2003-08"
+ schemaLocation="liberty-metadata-v1.1.xsd"/>
+ <xs:import namespace="http://www.w3.org/2001/04/xmlenc#"
+ schemaLocation="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/xenc-schema.xsd"/>
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#"
+ schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>
+
+ <xs:annotation>
+ <xs:documentation>Liberty ID-WSF Security Mechanisms Specification XSD</xs:documentation>
+ <xs:documentation>
+The source code in this XSD file was excerpted verbatim from:
+
+Liberty ID-WSF Security Mechanisms Specification
+Version 1.2
+14th December 2004
+
+Copyright (c) 2003,2004 Liberty Alliance participants, see
+http://www.projectliberty.org/specs/idwsf_1_1_copyrights.php
+
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:element name="ValidityRestrictionCondition" type="sec:ValidityRestrictionConditionType"/>
+ <xs:complexType name="ValidityRestrictionConditionType">
+ <xs:complexContent>
+ <xs:extension base="saml:ConditionAbstractType">
+ <xs:sequence>
+ <xs:element name="NumberOfUses" type="xs:integer"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="ProxySubject" substitutionGroup="saml:Subject"
+ type="saml:SubjectType"/>
+ <xs:annotation>
+ <xs:documentation>ProxyTransitedStatement is a
+ SubjectStatement which MAY carry specific subject confirmation
+ data </xs:documentation>
+ </xs:annotation>
+ <xs:element name="ProxyTransitedStatement"
+ type="saml:SubjectStatementAbstractType"/>
+
+ <xs:annotation>
+ <xs:documentation>
+ ProxyInfoConfirmationData may be relied upon to
+ corroborate the path information carried in a
+ ProxyTransitedStatement
+ </xs:documentation>
+ </xs:annotation>
+ <xs:element name="ProxyInfoConfirmationData"
+ type="sec:ProxyInfoConfirmationType"/>
+ <xs:complexType name="ProxyInfoConfirmationType">
+ <xs:sequence>
+ <xs:element ref="saml:AssertionIDReference"/>
+ <xs:element name="Issuer" type="xs:string"/>
+ <xs:element name="IssueInstant" type="xs:dateTime"/>
+ <xs:element ref="ds:Signature" minOccurs="0" maxOccurs="1"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID"/>
+ </xs:complexType>
+
+ <xs:element name="SessionContext" type="sec:SessionContextType"/>
+ <xs:complexType name="SessionContextType">
+ <xs:sequence>
+ <xs:element name="SessionSubject" type="lib:SubjectType"/>
+ <xs:element name="ProviderID" type="md:entityIDType"/>
+ <xs:element ref="lib:RequestAuthnContext" minOccurs="0" maxOccurs="1"/>
+ <!-- The system entity for which this context applies
+ is privacy protect by the SessionSubject -->
+ </xs:sequence>
+ <xs:attribute name="SessionIndex" type="xs:string" use="optional"/>
+ <xs:attribute name="AuthenticationInstant" type="xs:dateTime" use="required"/>
+ <xs:attribute name="AssertionIssueInstant" type="xs:dateTime" use="required"/>
+ </xs:complexType>
+
+ <xs:element name="SessionContextStatement"
+ type="sec:SessionContextStatementType"
+ substitutionGroup="saml:SubjectStatement"/>
+
+ <xs:complexType name="SessionContextStatementType">
+ <xs:complexContent>
+ <xs:extension base="saml:SubjectStatementAbstractType">
+ <xs:sequence>
+ <!-- This is the name of the proxy and it SHOULD carry
+ SubjectConfirmation information to authorize the
+ ProxySubject to act on behalf of the
+ Subject inherited from
+ SubjectStatementAbstractType -->
+ <xs:element name="ProxySubject"
+ type="saml:SubjectType" minOccurs="0"/>
+ <xs:element ref="sec:SessionContext"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:element name="ResourceAccessStatement"
+ type="sec:ResourceAccessStatementType"
+ substitutionGroup="saml:SubjectStatement"/>
+
+ <xs:complexType name="ResourceAccessStatementType">
+ <xs:complexContent>
+ <xs:extension base="saml:SubjectStatementAbstractType">
+ <xs:sequence>
+ <xs:group ref="disco:ResourceIDGroup"/>
+ <xs:sequence minOccurs="0">
+ <!-- This is the name of the proxy and it SHOULD carry
+ SubjectConfirmation information to authorize the
+ ProxySubject to act on behalf of the
+ Subject inherited from
+ SubjectStatementAbstractType -->
+ <xs:element name="ProxySubject" type="saml:SubjectType"/>
+ <xs:element ref="sec:SessionContext" minOccurs="0"/>
+ </xs:sequence>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+</xs:schema>
+
diff --git a/test/wsdl/liberty/liberty-idwsf-soap-binding-exts-v1.2.xsd b/test/wsdl/liberty/liberty-idwsf-soap-binding-exts-v1.2.xsd
new file mode 100644
index 0000000..f1fb133
--- /dev/null
+++ b/test/wsdl/liberty/liberty-idwsf-soap-binding-exts-v1.2.xsd
@@ -0,0 +1,85 @@
+<?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: steveg $ -->
+ <!-- $Date: 2005/02/04 21:38:21 $ -->
+ <!-- $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-1.2-errata-v3.0.xsd"/>
+
+ <xs:include schemaLocation="liberty-idwsf-utility-v1.1.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.2
+ December 2004
+
+ Copyright (c) 2004 Liberty Alliance participants, see
+ http://www.projectliberty.org/specs/idwsf_1_1_copyrights.php
+
+ </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>
+
diff --git a/test/wsdl/liberty/liberty-idwsf-soap-binding-v1.2.xsd b/test/wsdl/liberty/liberty-idwsf-soap-binding-v1.2.xsd
new file mode 100644
index 0000000..71e6411
--- /dev/null
+++ b/test/wsdl/liberty/liberty-idwsf-soap-binding-v1.2.xsd
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema targetNamespace="urn:liberty:sb:2003-08"
+ xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns:sb="urn:liberty:sb:2003-08"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns="urn:liberty:sb:2003-08"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="1.0-02">
+
+ <!-- Filename: lib-arch-soap-binding.xsd -->
+ <!-- $Id: liberty-idwsf-soap-binding-v1.2.xsd,v 1.1 2005/02/04 21:38:21 steveg Exp $ -->
+ <!-- Author: Jeff Hodges -->
+ <!-- Last editor: $Author: steveg $ -->
+ <!-- $Date: 2005/02/04 21:38:21 $ -->
+ <!-- $Revision: 1.1 $ -->
+
+ <xs:import
+ namespace="http://schemas.xmlsoap.org/soap/envelope/"
+ schemaLocation="http://schemas.xmlsoap.org/soap/envelope/"/>
+
+ <xs:include schemaLocation="liberty-idwsf-utility-v1.1.xsd"/>
+
+ <xs:annotation>
+ <xs:documentation>
+ Liberty ID-WSF SOAP Binding Specification XSD
+ </xs:documentation>
+ <xs:documentation>
+
+The source code in this XSD file was excerpted verbatim from:
+
+Liberty ID-WSF SOAP Binding Specification
+Version 1.0
+12th November 2003
+
+Copyright (c) 2003,2004 Liberty Alliance participants, see
+http://www.projectliberty.org/specs/idwsf_copyrights.html
+
+ </xs:documentation>
+ </xs:annotation>
+
+ <!-- message correlation header block -->
+
+ <xs:complexType name="CorrelationType">
+ <xs:attribute name="messageID" type="IDType" use="required"/>
+ <xs:attribute name="refToMessageID" type="IDType" use="optional"/>
+ <xs:attribute name="timestamp" type="xs:dateTime" 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="Correlation" type="CorrelationType"/>
+
+ <!-- provider= header block -->
+
+ <xs:complexType name="ProviderType">
+ <xs:attribute name="providerID" type="xs:anyURI" use="required"/>
+ <xs:attribute name="affiliationID" type="xs:anyURI" use="optional"/>
+ <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="Provider" type="ProviderType"/>
+
+ <!-- processing context header block -->
+
+ <xs:complexType name="ProcessingContextType">
+ <xs:simpleContent>
+ <xs:extension base="xs:anyURI">
+ <xs:attribute name="id" type="xs:ID" use="optional"/>
+ <xs:attribute ref="S:mustUnderstand" use="optional"/>
+ <xs:attribute ref="S:actor" use="optional"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+
+ <xs:element name="ProcessingContext" type="ProcessingContextType"/>
+
+ <!-- consent claim header block -->
+
+ <xs:complexType name="ConsentType">
+ <xs:attribute name="uri" type="xs:anyURI" use="required"/>
+ <xs:attribute name="timestamp" type="xs:dateTime" use="optional"/>
+ <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="Consent" type="ConsentType"/>
+
+ <!-- usage directive header block -->
+
+ <xs:complexType name="UsageDirectiveType">
+ <xs:sequence>
+ <xs:any namespace="##other" processContents="lax"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="id" type="xs:ID" use="optional"/>
+ <xs:attribute name="ref" type="xs:IDREF" use="required"/>
+ <xs:attribute ref="S:mustUnderstand" use="optional"/>
+ <xs:attribute ref="S:actor" use="optional"/>
+ </xs:complexType>
+
+ <xs:element name="UsageDirective" type="UsageDirectiveType"/>
+
+</xs:schema>
+
+
diff --git a/test/wsdl/liberty/liberty-idwsf-utility-v1.1.xsd b/test/wsdl/liberty/liberty-idwsf-utility-v1.1.xsd
new file mode 100644
index 0000000..f6f9c66
--- /dev/null
+++ b/test/wsdl/liberty/liberty-idwsf-utility-v1.1.xsd
@@ -0,0 +1,73 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- filename: liberty-idwsf-utility-v1.1.xsd -->
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:annotation>
+ <xs:documentation>
+ Liberty Alliance Project utility schema. A collection of common
+ IDentity Web Services Framework (ID-WSF) elements and types.
+ This schema is intended for use in ID-WSF schemas.
+
+ Copyright 2003,2004 Liberty Alliance Project, see
+ http://www.projectliberty.org/specs/idwsf_1_1_copyrights.php
+
+ This file intended for inclusion, rather than importation,
+ into other schemas.
+
+ This version: 2004-12-14
+
+ </xs:documentation>
+ </xs:annotation>
+ <xs:simpleType name="IDType">
+ <xs:annotation>
+ <xs:documentation>This type should be used to provided IDs to components that have IDs that may not be scoped within the local xml instance document. </xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ <xs:simpleType name="IDReferenceType">
+ <xs:annotation>
+ <xs:documentation> This type can be used when referring to elements that are
+ identified using an IDType </xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ <xs:element name="Status" type="StatusType">
+ <xs:annotation>
+ <xs:documentation> A standard Status type</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="StatusType">
+ <xs:annotation>
+ <xs:documentation> A type that may be used for status codes. </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element ref="Status" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="code" type="xs:QName" use="required"/>
+ <xs:attribute name="ref" type="IDReferenceType" use="optional"/>
+ <xs:attribute name="comment" type="xs:string" use="optional"/>
+ </xs:complexType>
+ <xs:complexType name="EmptyType">
+ <xs:annotation>
+ <xs:documentation> This type may be used to create an empty element </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:restriction base="xs:anyType"/>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="Extension" type="extensionType">
+ <xs:annotation>
+ <xs:documentation>An element that contains arbitrary content extensions from other namespaces</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="extensionType">
+ <xs:annotation>
+ <xs:documentation>A type for arbitrary content extensions from other namespaces</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:any namespace="##other" processContents="lax" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+</xs:schema>
+
diff --git a/test/wsdl/liberty/liberty-metadata-v1.1.xsd b/test/wsdl/liberty/liberty-metadata-v1.1.xsd
new file mode 100644
index 0000000..4416a63
--- /dev/null
+++ b/test/wsdl/liberty/liberty-metadata-v1.1.xsd
@@ -0,0 +1,235 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema targetNamespace="urn:liberty:metadata:2003-08"
+ xmlns="urn:liberty:metadata:2003-08"
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+ xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified" version="1.0">
+ <xs:import namespace="http://www.w3.org/2000/09/xmldsig#"
+ schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>
+ <xs:import namespace="urn:oasis:names:tc:SAML:1.0:assertion"
+ schemaLocation="oasis-sstc-saml-schema-assertion-1.1.xsd"/>
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace"
+ schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+ <xs:include schemaLocation="liberty-utility-v1.1.xsd"/>
+ <xs:annotation>
+ <xs:documentation>
+
+ XML Schema fom Metadata description and discovery protocols
+
+ The source code in this XSD file was excerpted verbatim from:
+
+ Liberty Metadata Description and Discovery Specification
+ Version 1.1
+ 14 December 2004
+
+ Copyright (c) 2004 Liberty Alliance participants, see
+ https://www.projectliberty.org/specs/idwsf_1_1_copyrights.php
+
+ </xs:documentation>
+ </xs:annotation>
+ <xs:simpleType name="entityIDType">
+ <xs:restriction base="xs:anyURI">
+ <xs:maxLength value="1024" id="maxlengthid"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <!--
+ <xs:attribute name="libertyPrincipalIdentifier" type="entityIDType"/>
+ <xs:attribute name="providerID" type="entityIDType"/>
+ <xs:attribute name="validUntil" type="xs:dateTime"/>
+ <xs:attribute name="cacheDuration" type="xs:duration"/>
+ -->
+ <xs:complexType name="additionalMetadataLocationType">
+ <xs:simpleContent>
+ <xs:extension base="xs:anyURI">
+ <xs:attribute name="namespace" type="xs:anyURI"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="organizationType">
+ <xs:sequence>
+ <xs:element name="OrganizationName" type="organizationNameType" maxOccurs="unbounded"/>
+ <xs:element name="OrganizationDisplayName" type="organizationDisplayNameType" maxOccurs="unbounded"/>
+ <xs:element name="OrganizationURL" type="localizedURIType" maxOccurs="unbounded"/>
+ <xs:element ref="Extension" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="organizationNameType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute ref="xml:lang"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="organizationDisplayNameType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute ref="xml:lang" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="localizedURIType">
+ <xs:simpleContent>
+ <xs:extension base="xs:anyURI">
+ <xs:attribute ref="xml:lang" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="contactType">
+ <xs:sequence>
+ <xs:element name="Company" type="xs:string" minOccurs="0"/>
+ <xs:element name="GivenName" type="xs:string" minOccurs="0"/>
+ <xs:element name="SurName" type="xs:string" minOccurs="0"/>
+ <xs:element name="EmailAddress" type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="TelephoneNumber" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="Extension" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="libertyPrincipalIdentifier" type="entityIDType" use="optional"/>
+ <xs:attribute name="contactType" type="attr.contactType" use="required"/>
+ </xs:complexType>
+ <xs:simpleType name="attr.contactType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="technical"/>
+ <xs:enumeration value="administrative"/>
+ <xs:enumeration value="billing"/>
+ <xs:enumeration value="other"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="keyTypes">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="encryption"/>
+ <xs:enumeration value="signing"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="providerDescriptorType">
+ <xs:sequence>
+ <xs:element name="KeyDescriptor" type="keyDescriptorType"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="SoapEndpoint" type="xs:anyURI" minOccurs="0"/>
+ <xs:element name="SingleLogoutServiceURL" type="xs:anyURI" minOccurs="0"/>
+ <xs:element name="SingleLogoutServiceReturnURL"
+ type="xs:anyURI" minOccurs="0"/>
+ <xs:element name="FederationTerminationServiceURL"
+ type="xs:anyURI" minOccurs="0"/>
+ <xs:element name="FederationTerminationServiceReturnURL"
+ type="xs:anyURI" minOccurs="0"/>
+ <xs:element name="FederationTerminationNotificationProtocolProfile"
+ type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="SingleLogoutProtocolProfile"
+ type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="RegisterNameIdentifierProtocolProfile"
+ type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="RegisterNameIdentifierServiceURL"
+ type="xs:anyURI" minOccurs="0"/>
+ <xs:element name="RegisterNameIdentifierServiceReturnURL"
+ type="xs:anyURI" minOccurs="0"/>
+ <xs:element name="NameIdentifierMappingProtocolProfile"
+ type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="NameIdentifierMappingEncryptionProfile"
+ type="xs:anyURI" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="Organization" type="organizationType" minOccurs="0"/>
+ <xs:element name="ContactPerson" type="contactType"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="AdditionalMetaLocation"
+ type="additionalMetadataLocationType" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="Extension" minOccurs="0"/>
+ <xs:element ref="ds:Signature" minOccurs="0"/>
+ </xs:sequence>
+ <!--xs:attribute ref="providerID" use="required"/-->
+ <xs:attribute name="protocolSupportEnumeration" type="anyURIListType" use="required"/>
+ <xs:attribute name="id" type="xs:ID" use="optional"/>
+ <xs:attribute name="validUntil" type="xs:dateTime"/>
+ <xs:attribute name="cacheDuration" type="xs:duration"/>
+ </xs:complexType>
+ <xs:simpleType name="anyURIListType">
+ <xs:list itemType="xs:anyURI"/>
+ </xs:simpleType>
+ <!--added-->
+ <xs:element name="KeyDescriptor" type="keyDescriptorType"/>
+ <xs:complexType name="keyDescriptorType">
+ <xs:sequence>
+ <xs:element name="EncryptionMethod" type="xs:anyURI" minOccurs="0"/>
+ <xs:element name="KeySize" type="xs:integer" minOccurs="0"/>
+ <xs:element ref="ds:KeyInfo" minOccurs="0"/>
+ <xs:element ref="Extension" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="use" type="keyTypes" use="optional"/>
+ </xs:complexType>
+ <!-- -->
+ <xs:element name="EntityDescriptor" type="entityDescriptorType"/>
+ <xs:group name="providerGroup">
+ <xs:sequence>
+ <xs:element name="IDPDescriptor" type="IDPDescriptorType"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="SPDescriptor" type="SPDescriptorType"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:group>
+ <xs:complexType name="entityDescriptorType">
+ <xs:sequence>
+ <xs:choice>
+ <xs:group ref="providerGroup"/>
+ <xs:element name="AffiliationDescriptor" type="affiliationDescriptorType"/>
+ </xs:choice>
+ <xs:element name="ContactPerson" type="contactType" minOccurs="0"/>
+ <xs:element name="Organization" type="organizationType" minOccurs="0"/>
+ <xs:element ref="Extension" minOccurs="0"/>
+ <xs:element ref="ds:Signature" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="providerID" type="entityIDType" use="required"/>
+ <xs:attribute name="id" type="xs:ID" use="optional"/>
+ <xs:attribute name="validUntil" type="xs:dateTime"/>
+ <xs:attribute name="cacheDuration" type="xs:duration"/>
+ </xs:complexType>
+ <xs:complexType name="SPDescriptorType">
+ <xs:complexContent>
+ <xs:extension base="providerDescriptorType">
+ <xs:sequence>
+ <xs:element name="AssertionConsumerServiceURL" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:anyURI">
+ <xs:attribute name="id" type="xs:ID" use="required"/>
+ <xs:attribute name="isDefault" type="xs:boolean" default="false"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="AuthnRequestsSigned" type="xs:boolean"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="IDPDescriptorType">
+ <xs:complexContent>
+ <xs:extension base="providerDescriptorType">
+ <xs:sequence>
+ <xs:element name="SingleSignOnServiceURL" type="xs:anyURI"/>
+ <xs:element name="SingleSignOnProtocolProfile" type="xs:anyURI" maxOccurs="unbounded"/>
+ <xs:element name="AuthnServiceURL" type="xs:anyURI" minOccurs="0"/>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="EntitiesDescriptor" type="entitiesDescriptorType"/>
+ <xs:complexType name="entitiesDescriptorType">
+ <xs:sequence>
+ <xs:element ref="EntityDescriptor" minOccurs="2" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="affiliationDescriptorType">
+ <xs:sequence>
+ <xs:element name="AffiliateMember" type="entityIDType" maxOccurs="unbounded"/>
+ <xs:element ref="Extension" minOccurs="0"/>
+ <xs:element name="KeyDescriptor" type="keyDescriptorType" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="ds:Signature" minOccurs="0"/>
+ </xs:sequence>
+ <!-- <xs:attribute name="affiliationID" type="entityIDType" use="required"/> -->
+ <xs:attribute name="affiliationOwnerID" type="entityIDType" use="required"/>
+ <xs:attribute name="validUntil" type="xs:dateTime"/>
+ <xs:attribute name="cacheDuration" type="xs:duration"/>
+ <xs:attribute name="id" type="xs:ID" use="optional"/>
+ </xs:complexType>
+</xs:schema>
+
diff --git a/test/wsdl/liberty/liberty-paos-v1.1.xsd b/test/wsdl/liberty/liberty-paos-v1.1.xsd
new file mode 100644
index 0000000..0ec92ba
--- /dev/null
+++ b/test/wsdl/liberty/liberty-paos-v1.1.xsd
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xs:schema targetNamespace="urn:liberty:paos:2003-08"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"
+ xmlns="urn:liberty:paos:2003-08"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified">
+ <xs:annotation>
+ <xs:documentation>
+
+ The source code in this XSD file was excerpted verbatim from:
+
+ Liberty Reverse HTTP Binding
+ Version 1.1
+ 14th December 2004
+
+ Copyright (c) 2003 Liberty Alliance participants, see
+ http://www.projectliberty.org/specs/idwsf_1_1_copyrights.php
+
+ </xs:documentation>
+ </xs:annotation>
+ <xs:import namespace="http://schemas.xmlsoap.org/soap/envelope/"
+ schemaLocation="http://schemas.xmlsoap.org/soap/envelope/"/>
+ <xs:include schemaLocation="liberty-utility-v1.1.xsd"/>
+ <xs:element name="Request" type="RequestType"/>
+ <xs:complexType name="RequestType">
+ <xs:attribute name="responseConsumerURL" type="xs:anyURI" use="required"/>
+ <xs:attribute name="service" type="xs:anyURI" use="required"/>
+ <xs:attribute name="messageID" type="IDType" use="optional"/>
+ <xs:attribute ref="S:mustUnderstand" use="required"/>
+ <xs:attribute ref="S:actor" use="required"/>
+ </xs:complexType>
+ <xs:element name="Response" type="ResponseType"/>
+ <xs:complexType name="ResponseType">
+ <xs:attribute name="refToMessageID" type="IDType" use="optional"/>
+ <xs:attribute ref="S:mustUnderstand" use="required"/>
+ <xs:attribute ref="S:actor" use="required"/>
+ </xs:complexType>
+</xs:schema>
+
diff --git a/test/wsdl/liberty/liberty-utility-v1.1.xsd b/test/wsdl/liberty/liberty-utility-v1.1.xsd
new file mode 100644
index 0000000..2f2b691
--- /dev/null
+++ b/test/wsdl/liberty/liberty-utility-v1.1.xsd
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- filename: lib-arch-utility.xsd -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0-02">
+ <xs:annotation>
+ <xs:documentation>Liberty Alliance Project utility schema. A collection of common elements and types for use with independent Liberty XML Schema documents. </xs:documentation>
+ <xs:documentation>Copyright 2003 Liberty Alliance Project. </xs:documentation>
+ <xs:documentation>Editor: Tom Wason IEEE - ISTO</xs:documentation>
+ <xs:documentation>This version: 2003-06-04</xs:documentation>
+ <xs:documentation>This file intended for inclusion, rather than importation, into other schemas.</xs:documentation>
+ </xs:annotation>
+ <xs:simpleType name="IDType">
+ <xs:annotation>
+ <xs:documentation> This type should be used when putting IDs on things where the IDs are not scoped to the local xml instance document </xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ <xs:simpleType name="IDReferenceType">
+ <xs:annotation>
+ <xs:documentation> This type can be used when referring to elements that are
+ identified using an IDType </xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string"/>
+ </xs:simpleType>
+ <xs:element name="Status" type="StatusType">
+ <xs:annotation>
+ <xs:documentation> A standard Status type</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="StatusType">
+ <xs:annotation>
+ <xs:documentation> A type that can be used for status codes </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element ref="Status" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="code" type="xs:QName" use="required"/>
+ <xs:attribute name="ref" type="IDReferenceType" use="optional"/>
+ <xs:attribute name="comment" type="xs:string" use="optional"/>
+ </xs:complexType>
+ <xs:complexType name="EmptyType">
+ <xs:annotation>
+ <xs:documentation> This type can be used to create an empty element </xs:documentation>
+ </xs:annotation>
+ <xs:complexContent>
+ <xs:restriction base="xs:anyType"/>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:element name="Extension" type="extensionType">
+ <xs:annotation>
+ <xs:documentation>For arbitrary content extensions from other namespaces</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:complexType name="extensionType">
+ <xs:annotation>
+ <xs:documentation>For arbitrary content extensions from other namespaces</xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:any namespace="##other" processContents="lax" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:attribute name="consent" type="xs:QName">
+ <xs:annotation>
+ <xs:documentation> This attribute is used by message constructors that need/want to report about obtained consent.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+</xs:schema>
+
diff --git a/test/wsdl/liberty/liberty.wsdl b/test/wsdl/liberty/liberty.wsdl
new file mode 100644
index 0000000..7d1cdba
--- /dev/null
+++ b/test/wsdl/liberty/liberty.wsdl
@@ -0,0 +1,7 @@
+<wsdl:definitions xmlns:typens="urn:test:wsdl:liberty" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:pp="urn:liberty:id-sis-pp:2003-08" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="urn:liberty:id-sis-pp:wsdl:2003-08" name="pp">
+ <wsdl:types>
+ <xsd:schema>
+ <xsd:import namespace="urn:liberty:id-sis-pp:2003-08" schemaLocation="liberty-idsis-pp-v1.1.xsd"/>
+ </xsd:schema>
+ </wsdl:types>
+</wsdl:definitions>
diff --git a/test/wsdl/liberty/liberty2.wsdl b/test/wsdl/liberty/liberty2.wsdl
new file mode 100644
index 0000000..f256955
--- /dev/null
+++ b/test/wsdl/liberty/liberty2.wsdl
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<definitions xmlns:tns="http://foo.bar.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://foo.bar.com">
+ <types>
+ <xs:schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://foo.bar.com">
+
+ <import namespace="urn:oasis:names:tc:SAML:2.0:metadata"
+ schemaLocation="saml-schema-metadata-2.0.xsd"/>
+
+ </xs:schema>
+ </types>
+</definitions>
+
diff --git a/test/wsdl/liberty/liberty3.wsdl b/test/wsdl/liberty/liberty3.wsdl
new file mode 100644
index 0000000..a181fad
--- /dev/null
+++ b/test/wsdl/liberty/liberty3.wsdl
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<definitions xmlns:tns="http://foo.bar.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://foo.bar.com">
+ <types>
+ <xs:schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://foo.bar.com">
+ <import namespace="urn:oasis:names:tc:SAML:2.0:protocol" schemaLocation="saml-schema-protocol-2.0.xsd"/>
+ </xs:schema>
+ </types>
+</definitions>
diff --git a/test/wsdl/liberty/oasis-200401-wss-wssecurity-secext-1.0.xsd b/test/wsdl/liberty/oasis-200401-wss-wssecurity-secext-1.0.xsd
new file mode 100644
index 0000000..903cb3b
--- /dev/null
+++ b/test/wsdl/liberty/oasis-200401-wss-wssecurity-secext-1.0.xsd
@@ -0,0 +1,196 @@
+<?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. [...]
+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 [...]
+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" 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/XMLSche [...]
+ <xsd:import namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" schemaLocation="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"/>
+ <xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+ <xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/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>
+
diff --git a/test/wsdl/liberty/oasis-sstc-saml-schema-assertion-1.1.xsd b/test/wsdl/liberty/oasis-sstc-saml-schema-assertion-1.1.xsd
new file mode 100644
index 0000000..f6961a6
--- /dev/null
+++ b/test/wsdl/liberty/oasis-sstc-saml-schema-assertion-1.1.xsd
@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema targetNamespace="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified" attributeFormDefault="unqualified" version="1.1">
+ <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
+ <annotation>
+ <documentation>
+ Document identifier: oasis-sstc-saml-schema-assertion-1.1
+ Location: http://www.oasis-open.org/committees/documents.php?wg_abbrev=security
+ Revision history:
+ V1.0 (November, 2002):
+ Initial standard schema.
+ V1.1 (September, 2003):
+ * Note that V1.1 of this schema has the same XML namespace as V1.0.
+ Rebased ID content directly on XML Schema types
+ Added DoNotCacheCondition element and DoNotCacheConditionType
+ </documentation>
+ </annotation>
+ <simpleType name="DecisionType">
+ <restriction base="string">
+ <enumeration value="Permit"/>
+ <enumeration value="Deny"/>
+ <enumeration value="Indeterminate"/>
+ </restriction>
+ </simpleType>
+ <element name="AssertionIDReference" type="NCName"/>
+ <element name="Assertion" type="saml:AssertionType"/>
+ <complexType name="AssertionType">
+ <sequence>
+ <element ref="saml:Conditions" minOccurs="0"/>
+ <element ref="saml:Advice" minOccurs="0"/>
+ <choice maxOccurs="unbounded">
+ <element ref="saml:Statement"/>
+ <element ref="saml:SubjectStatement"/>
+ <element ref="saml:AuthenticationStatement"/>
+ <element ref="saml:AuthorizationDecisionStatement"/>
+ <element ref="saml:AttributeStatement"/>
+ </choice>
+ <element ref="ds:Signature" minOccurs="0"/>
+ </sequence>
+ <attribute name="MajorVersion" type="integer" use="required"/>
+ <attribute name="MinorVersion" type="integer" use="required"/>
+ <attribute name="AssertionID" type="ID" use="required"/>
+ <attribute name="Issuer" type="string" use="required"/>
+ <attribute name="IssueInstant" type="dateTime" use="required"/>
+ </complexType>
+ <element name="Conditions" type="saml:ConditionsType"/>
+ <complexType name="ConditionsType">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element ref="saml:AudienceRestrictionCondition"/>
+ <element ref="saml:DoNotCacheCondition"/>
+ <element ref="saml:Condition"/>
+ </choice>
+ <attribute name="NotBefore" type="dateTime" use="optional"/>
+ <attribute name="NotOnOrAfter" type="dateTime" use="optional"/>
+ </complexType>
+ <element name="Condition" type="saml:ConditionAbstractType"/>
+ <complexType name="ConditionAbstractType" abstract="true"/>
+ <element name="AudienceRestrictionCondition" type="saml:AudienceRestrictionConditionType"/>
+ <complexType name="AudienceRestrictionConditionType">
+ <complexContent>
+ <extension base="saml:ConditionAbstractType">
+ <sequence>
+ <element ref="saml:Audience" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="Audience" type="anyURI"/>
+ <element name="DoNotCacheCondition" type="saml:DoNotCacheConditionType"/>
+ <complexType name="DoNotCacheConditionType">
+ <complexContent>
+ <extension base="saml:ConditionAbstractType"/>
+ </complexContent>
+ </complexType>
+ <element name="Advice" type="saml:AdviceType"/>
+ <complexType name="AdviceType">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element ref="saml:AssertionIDReference"/>
+ <element ref="saml:Assertion"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ </complexType>
+ <element name="Statement" type="saml:StatementAbstractType"/>
+ <complexType name="StatementAbstractType" abstract="true"/>
+ <element name="SubjectStatement" type="saml:SubjectStatementAbstractType"/>
+ <complexType name="SubjectStatementAbstractType" abstract="true">
+ <complexContent>
+ <extension base="saml:StatementAbstractType">
+ <sequence>
+ <element ref="saml:Subject"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="Subject" type="saml:SubjectType"/>
+ <complexType name="SubjectType">
+ <choice>
+ <sequence>
+ <element ref="saml:NameIdentifier"/>
+ <element ref="saml:SubjectConfirmation" minOccurs="0"/>
+ </sequence>
+ <!-- element ref="saml:SubjectConfirmation"/ -->
+ </choice>
+ </complexType>
+ <element name="NameIdentifier" type="saml:NameIdentifierType"/>
+ <complexType name="NameIdentifierType">
+ <simpleContent>
+ <extension base="string">
+ <attribute name="NameQualifier" type="string" use="optional"/>
+ <attribute name="Format" type="anyURI" use="optional"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <element name="SubjectConfirmation" type="saml:SubjectConfirmationType"/>
+ <complexType name="SubjectConfirmationType">
+ <sequence>
+ <element ref="saml:ConfirmationMethod" maxOccurs="unbounded"/>
+ <element ref="saml:SubjectConfirmationData" minOccurs="0"/>
+ <element ref="ds:KeyInfo" minOccurs="0"/>
+ </sequence>
+ </complexType>
+ <element name="SubjectConfirmationData" type="anyType"/>
+ <element name="ConfirmationMethod" type="anyURI"/>
+ <element name="AuthenticationStatement" type="saml:AuthenticationStatementType"/>
+ <complexType name="AuthenticationStatementType">
+ <complexContent>
+ <extension base="saml:SubjectStatementAbstractType">
+ <sequence>
+ <element ref="saml:SubjectLocality" minOccurs="0"/>
+ <element ref="saml:AuthorityBinding" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="AuthenticationMethod" type="anyURI" use="required"/>
+ <attribute name="AuthenticationInstant" type="dateTime" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="SubjectLocality" type="saml:SubjectLocalityType"/>
+ <complexType name="SubjectLocalityType">
+ <attribute name="IPAddress" type="string" use="optional"/>
+ <attribute name="DNSAddress" type="string" use="optional"/>
+ </complexType>
+ <element name="AuthorityBinding" type="saml:AuthorityBindingType"/>
+ <complexType name="AuthorityBindingType">
+ <attribute name="AuthorityKind" type="QName" use="required"/>
+ <attribute name="Location" type="anyURI" use="required"/>
+ <attribute name="Binding" type="anyURI" use="required"/>
+ </complexType>
+ <element name="AuthorizationDecisionStatement" type="saml:AuthorizationDecisionStatementType"/>
+ <complexType name="AuthorizationDecisionStatementType">
+ <complexContent>
+ <extension base="saml:SubjectStatementAbstractType">
+ <sequence>
+ <element ref="saml:Action" maxOccurs="unbounded"/>
+ <element ref="saml:Evidence" minOccurs="0"/>
+ </sequence>
+ <attribute name="Resource" type="anyURI" use="required"/>
+ <attribute name="Decision" type="saml:DecisionType" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="Action" type="saml:ActionType"/>
+ <complexType name="ActionType">
+ <simpleContent>
+ <extension base="string">
+ <attribute name="Namespace" type="anyURI"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <element name="Evidence" type="saml:EvidenceType"/>
+ <complexType name="EvidenceType">
+ <choice maxOccurs="unbounded">
+ <element ref="saml:AssertionIDReference"/>
+ <element ref="saml:Assertion"/>
+ </choice>
+ </complexType>
+ <element name="AttributeStatement" type="saml:AttributeStatementType"/>
+ <complexType name="AttributeStatementType">
+ <complexContent>
+ <extension base="saml:SubjectStatementAbstractType">
+ <sequence>
+ <element ref="saml:Attribute" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AttributeDesignator" type="saml:AttributeDesignatorType"/>
+ <complexType name="AttributeDesignatorType">
+ <attribute name="AttributeName" type="string" use="required"/>
+ <attribute name="AttributeNamespace" type="anyURI" use="required"/>
+ </complexType>
+ <element name="Attribute" type="saml:AttributeType"/>
+ <complexType name="AttributeType">
+ <complexContent>
+ <extension base="saml:AttributeDesignatorType">
+ <sequence>
+ <element ref="saml:AttributeValue" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AttributeValue" type="anyType"/>
+</schema>
+
diff --git a/test/wsdl/liberty/oasis-sstc-saml-schema-protocol-1.1.xsd b/test/wsdl/liberty/oasis-sstc-saml-schema-protocol-1.1.xsd
new file mode 100644
index 0000000..c7cf52a
--- /dev/null
+++ b/test/wsdl/liberty/oasis-sstc-saml-schema-protocol-1.1.xsd
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema targetNamespace="urn:oasis:names:tc:SAML:1.0:protocol" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:saml="urn:oasis:names:tc:SAML:1.0:assertion" xmlns:samlp="urn:oasis:names:tc:SAML:1.0:protocol" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="unqualified" attributeFormDefault="unqualified" version="1.1">
+ <import namespace="urn:oasis:names:tc:SAML:1.0:assertion" schemaLocation="oasis-sstc-saml-schema-assertion-1.1.xsd"/>
+ <import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="http://www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd"/>
+ <annotation>
+ <documentation>
+ Document identifier: oasis-sstc-saml-schema-protocol-1.1
+ Location: http://www.oasis-open.org/committees/documents.php?wg_abbrev=security
+ Revision history:
+ V1.0 (November, 2002):
+ Initial standard schema.
+ V1.1 (September, 2003):
+ * Note that V1.1 of this schema has the same XML namespace as V1.0.
+ Rebased ID content directly on XML Schema types
+ </documentation>
+ </annotation>
+ <complexType name="RequestAbstractType" abstract="true">
+ <sequence>
+ <element ref="samlp:RespondWith" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="ds:Signature" minOccurs="0"/>
+ </sequence>
+ <attribute name="RequestID" type="ID" use="required"/>
+ <attribute name="MajorVersion" type="integer" use="required"/>
+ <attribute name="MinorVersion" type="integer" use="required"/>
+ <attribute name="IssueInstant" type="dateTime" use="required"/>
+ </complexType>
+ <element name="RespondWith" type="QName"/>
+ <element name="Request" type="samlp:RequestType"/>
+ <complexType name="RequestType">
+ <complexContent>
+ <extension base="samlp:RequestAbstractType">
+ <choice>
+ <element ref="samlp:Query"/>
+ <element ref="samlp:SubjectQuery"/>
+ <element ref="samlp:AuthenticationQuery"/>
+ <element ref="samlp:AttributeQuery"/>
+ <element ref="samlp:AuthorizationDecisionQuery"/>
+ <element ref="saml:AssertionIDReference" maxOccurs="unbounded"/>
+ <element ref="samlp:AssertionArtifact" maxOccurs="unbounded"/>
+ </choice>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AssertionArtifact" type="string"/>
+ <element name="Query" type="samlp:QueryAbstractType"/>
+ <complexType name="QueryAbstractType" abstract="true"/>
+ <element name="SubjectQuery" type="samlp:SubjectQueryAbstractType"/>
+ <complexType name="SubjectQueryAbstractType" abstract="true">
+ <complexContent>
+ <extension base="samlp:QueryAbstractType">
+ <sequence>
+ <element ref="saml:Subject"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AuthenticationQuery" type="samlp:AuthenticationQueryType"/>
+ <complexType name="AuthenticationQueryType">
+ <complexContent>
+ <extension base="samlp:SubjectQueryAbstractType">
+ <attribute name="AuthenticationMethod" type="anyURI"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AttributeQuery" type="samlp:AttributeQueryType"/>
+ <complexType name="AttributeQueryType">
+ <complexContent>
+ <extension base="samlp:SubjectQueryAbstractType">
+ <sequence>
+ <element ref="saml:AttributeDesignator" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Resource" type="anyURI" use="optional"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AuthorizationDecisionQuery" type="samlp:AuthorizationDecisionQueryType"/>
+ <complexType name="AuthorizationDecisionQueryType">
+ <complexContent>
+ <extension base="samlp:SubjectQueryAbstractType">
+ <sequence>
+ <element ref="saml:Action" maxOccurs="unbounded"/>
+ <element ref="saml:Evidence" minOccurs="0"/>
+ </sequence>
+ <attribute name="Resource" type="anyURI" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <complexType name="ResponseAbstractType" abstract="true">
+ <sequence>
+ <element ref="ds:Signature" minOccurs="0"/>
+ </sequence>
+ <attribute name="ResponseID" type="ID" use="required"/>
+ <attribute name="InResponseTo" type="NCName" use="optional"/>
+ <attribute name="MajorVersion" type="integer" use="required"/>
+ <attribute name="MinorVersion" type="integer" use="required"/>
+ <attribute name="IssueInstant" type="dateTime" use="required"/>
+ <attribute name="Recipient" type="anyURI" use="optional"/>
+ </complexType>
+ <element name="Response" type="samlp:ResponseType"/>
+ <complexType name="ResponseType">
+ <complexContent>
+ <extension base="samlp:ResponseAbstractType">
+ <sequence>
+ <element ref="samlp:Status"/>
+ <element ref="saml:Assertion" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="Status" type="samlp:StatusType"/>
+ <complexType name="StatusType">
+ <sequence>
+ <element ref="samlp:StatusCode"/>
+ <element ref="samlp:StatusMessage" minOccurs="0"/>
+ <element ref="samlp:StatusDetail" minOccurs="0"/>
+ </sequence>
+ </complexType>
+ <element name="StatusCode" type="samlp:StatusCodeType"/>
+ <complexType name="StatusCodeType">
+ <sequence>
+ <element ref="samlp:StatusCode" minOccurs="0"/>
+ </sequence>
+ <attribute name="Value" type="QName" use="required"/>
+ </complexType>
+ <element name="StatusMessage" type="string"/>
+ <element name="StatusDetail" type="samlp:StatusDetailType"/>
+ <complexType name="StatusDetailType">
+ <sequence>
+ <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+</schema>
+
diff --git a/test/wsdl/liberty/saml-schema-assertion-2.0.xsd b/test/wsdl/liberty/saml-schema-assertion-2.0.xsd
new file mode 100644
index 0000000..4867dd4
--- /dev/null
+++ b/test/wsdl/liberty/saml-schema-assertion-2.0.xsd
@@ -0,0 +1,280 @@
+<?xml version="1.0" encoding="US-ASCII"?>
+<schema
+ targetNamespace="urn:oasis:names:tc:SAML:2.0:assertion"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+ xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
+ elementFormDefault="unqualified"
+ attributeFormDefault="unqualified"
+ blockDefault="substitution"
+ version="2.0">
+ <import namespace="http://www.w3.org/2000/09/xmldsig#"
+ schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>
+ <import namespace="http://www.w3.org/2001/04/xmlenc#"
+ schemaLocation="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/xenc-schema.xsd"/>
+ <annotation>
+ <documentation>
+ Document identifier: saml-schema-assertion-2.0
+ Location: http://docs.oasis-open.org/security/saml/v2.0/
+ Revision history:
+ V1.0 (November, 2002):
+ Initial Standard Schema.
+ V1.1 (September, 2003):
+ Updates within the same V1.0 namespace.
+ V2.0 (March, 2005):
+ New assertion schema for SAML V2.0 namespace.
+ </documentation>
+ </annotation>
+ <attributeGroup name="IDNameQualifiers">
+ <attribute name="NameQualifier" type="string" use="optional"/>
+ <attribute name="SPNameQualifier" type="string" use="optional"/>
+ </attributeGroup>
+ <element name="BaseID" type="saml:BaseIDAbstractType"/>
+ <complexType name="BaseIDAbstractType" abstract="true">
+ <attributeGroup ref="saml:IDNameQualifiers"/>
+ </complexType>
+ <element name="NameID" type="saml:NameIDType"/>
+ <complexType name="NameIDType">
+ <simpleContent>
+ <extension base="string">
+ <attributeGroup ref="saml:IDNameQualifiers"/>
+ <attribute name="Format" type="anyURI" use="optional"/>
+ <attribute name="SPProvidedID" type="string" use="optional"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <complexType name="EncryptedElementType">
+ <sequence>
+ <element ref="xenc:EncryptedData"/>
+ <element ref="xenc:EncryptedKey" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <element name="EncryptedID" type="saml:EncryptedElementType"/>
+ <element name="Issuer" type="saml:NameIDType"/>
+ <element name="AssertionIDRef" type="NCName"/>
+ <element name="AssertionURIRef" type="anyURI"/>
+ <element name="Assertion" type="saml:AssertionType"/>
+ <complexType name="AssertionType">
+ <sequence>
+ <element ref="saml:Issuer"/>
+ <element ref="ds:Signature" minOccurs="0"/>
+ <element ref="saml:Subject" minOccurs="0"/>
+ <element ref="saml:Conditions" minOccurs="0"/>
+ <element ref="saml:Advice" minOccurs="0"/>
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element ref="saml:Statement"/>
+ <element ref="saml:AuthnStatement"/>
+ <element ref="saml:AuthzDecisionStatement"/>
+ <element ref="saml:AttributeStatement"/>
+ </choice>
+ </sequence>
+ <attribute name="Version" type="string" use="required"/>
+ <attribute name="ID" type="ID" use="required"/>
+ <attribute name="IssueInstant" type="dateTime" use="required"/>
+ </complexType>
+ <element name="Subject" type="saml:SubjectType"/>
+ <complexType name="SubjectType">
+ <choice>
+ <sequence>
+ <choice>
+ <element ref="saml:BaseID"/>
+ <element ref="saml:NameID"/>
+ <element ref="saml:EncryptedID"/>
+ </choice>
+ <element ref="saml:SubjectConfirmation" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <element ref="saml:SubjectConfirmation" maxOccurs="unbounded"/>
+ </choice>
+ </complexType>
+ <element name="SubjectConfirmation" type="saml:SubjectConfirmationType"/>
+ <complexType name="SubjectConfirmationType">
+ <sequence>
+ <choice minOccurs="0">
+ <element ref="saml:BaseID"/>
+ <element ref="saml:NameID"/>
+ <element ref="saml:EncryptedID"/>
+ </choice>
+ <element ref="saml:SubjectConfirmationData" minOccurs="0"/>
+ </sequence>
+ <attribute name="Method" type="anyURI" use="required"/>
+ </complexType>
+ <element name="SubjectConfirmationData" type="saml:SubjectConfirmationDataType"/>
+ <complexType name="SubjectConfirmationDataType" mixed="true">
+ <sequence>
+ <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="NotBefore" type="dateTime" use="optional"/>
+ <attribute name="NotOnOrAfter" type="dateTime" use="optional"/>
+ <attribute name="Recipient" type="anyURI" use="optional"/>
+ <attribute name="InResponseTo" type="NCName" use="optional"/>
+ <attribute name="Address" type="string" use="optional"/>
+ <anyAttribute namespace="##other" processContents="lax"/>
+ </complexType>
+ <complexType name="KeyInfoConfirmationDataType" mixed="false">
+ <complexContent>
+ <restriction base="saml:SubjectConfirmationDataType">
+ <sequence>
+ <element ref="ds:KeyInfo" maxOccurs="unbounded"/>
+ </sequence>
+ </restriction>
+ </complexContent>
+ </complexType>
+ <element name="Conditions" type="saml:ConditionsType"/>
+ <complexType name="ConditionsType">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element ref="saml:Condition"/>
+ <element ref="saml:AudienceRestriction"/>
+ <element ref="saml:OneTimeUse"/>
+ <element ref="saml:ProxyRestriction"/>
+ </choice>
+ <attribute name="NotBefore" type="dateTime" use="optional"/>
+ <attribute name="NotOnOrAfter" type="dateTime" use="optional"/>
+ </complexType>
+ <element name="Condition" type="saml:ConditionAbstractType"/>
+ <complexType name="ConditionAbstractType" abstract="true"/>
+ <element name="AudienceRestriction" type="saml:AudienceRestrictionType"/>
+ <complexType name="AudienceRestrictionType">
+ <complexContent>
+ <extension base="saml:ConditionAbstractType">
+ <sequence>
+ <element ref="saml:Audience" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="Audience" type="anyURI"/>
+ <element name="OneTimeUse" type="saml:OneTimeUseType" />
+ <complexType name="OneTimeUseType">
+ <complexContent>
+ <extension base="saml:ConditionAbstractType"/>
+ </complexContent>
+ </complexType>
+ <element name="ProxyRestriction" type="saml:ProxyRestrictionType"/>
+ <complexType name="ProxyRestrictionType">
+ <complexContent>
+ <extension base="saml:ConditionAbstractType">
+ <sequence>
+ <element ref="saml:Audience" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Count" type="nonNegativeInteger" use="optional"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="Advice" type="saml:AdviceType"/>
+ <complexType name="AdviceType">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element ref="saml:AssertionIDRef"/>
+ <element ref="saml:AssertionURIRef"/>
+ <element ref="saml:Assertion"/>
+ <element ref="saml:EncryptedAssertion"/>
+ <any namespace="##other" processContents="lax"/>
+ </choice>
+ </complexType>
+ <element name="EncryptedAssertion" type="saml:EncryptedElementType"/>
+ <element name="Statement" type="saml:StatementAbstractType"/>
+ <complexType name="StatementAbstractType" abstract="true"/>
+ <element name="AuthnStatement" type="saml:AuthnStatementType"/>
+ <complexType name="AuthnStatementType">
+ <complexContent>
+ <extension base="saml:StatementAbstractType">
+ <sequence>
+ <element ref="saml:SubjectLocality" minOccurs="0"/>
+ <element ref="saml:AuthnContext"/>
+ </sequence>
+ <attribute name="AuthnInstant" type="dateTime" use="required"/>
+ <attribute name="SessionIndex" type="string" use="optional"/>
+ <attribute name="SessionNotOnOrAfter" type="dateTime" use="optional"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="SubjectLocality" type="saml:SubjectLocalityType"/>
+ <complexType name="SubjectLocalityType">
+ <attribute name="Address" type="string" use="optional"/>
+ <attribute name="DNSName" type="string" use="optional"/>
+ </complexType>
+ <element name="AuthnContext" type="saml:AuthnContextType"/>
+ <complexType name="AuthnContextType">
+ <sequence>
+ <choice>
+ <sequence>
+ <element ref="saml:AuthnContextClassRef"/>
+ <choice minOccurs="0">
+ <element ref="saml:AuthnContextDecl"/>
+ <element ref="saml:AuthnContextDeclRef"/>
+ </choice>
+ </sequence>
+ <choice>
+ <element ref="saml:AuthnContextDecl"/>
+ <element ref="saml:AuthnContextDeclRef"/>
+ </choice>
+ </choice>
+ <element ref="saml:AuthenticatingAuthority" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <element name="AuthnContextClassRef" type="anyURI"/>
+ <element name="AuthnContextDeclRef" type="anyURI"/>
+ <element name="AuthnContextDecl" type="anyType"/>
+ <element name="AuthenticatingAuthority" type="anyURI"/>
+ <element name="AuthzDecisionStatement" type="saml:AuthzDecisionStatementType"/>
+ <complexType name="AuthzDecisionStatementType">
+ <complexContent>
+ <extension base="saml:StatementAbstractType">
+ <sequence>
+ <element ref="saml:Action" maxOccurs="unbounded"/>
+ <element ref="saml:Evidence" minOccurs="0"/>
+ </sequence>
+ <attribute name="Resource" type="anyURI" use="required"/>
+ <attribute name="Decision" type="saml:DecisionType" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <simpleType name="DecisionType">
+ <restriction base="string">
+ <enumeration value="Permit"/>
+ <enumeration value="Deny"/>
+ <enumeration value="Indeterminate"/>
+ </restriction>
+ </simpleType>
+ <element name="Action" type="saml:ActionType"/>
+ <complexType name="ActionType">
+ <simpleContent>
+ <extension base="string">
+ <attribute name="Namespace" type="anyURI" use="required"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <element name="Evidence" type="saml:EvidenceType"/>
+ <complexType name="EvidenceType">
+ <choice maxOccurs="unbounded">
+ <element ref="saml:AssertionIDRef"/>
+ <element ref="saml:AssertionURIRef"/>
+ <element ref="saml:Assertion"/>
+ <element ref="saml:EncryptedAssertion"/>
+ </choice>
+ </complexType>
+ <element name="AttributeStatement" type="saml:AttributeStatementType"/>
+ <complexType name="AttributeStatementType">
+ <complexContent>
+ <extension base="saml:StatementAbstractType">
+ <choice maxOccurs="unbounded">
+ <element ref="saml:Attribute"/>
+ <element ref="saml:EncryptedAttribute"/>
+ </choice>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="Attribute" type="saml:AttributeType"/>
+ <complexType name="AttributeType">
+ <sequence>
+ <element ref="saml:AttributeValue" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Name" type="string" use="required"/>
+ <attribute name="NameFormat" type="anyURI" use="optional"/>
+ <attribute name="FriendlyName" type="string" use="optional"/>
+ <anyAttribute namespace="##other" processContents="lax"/>
+ </complexType>
+ <element name="AttributeValue" type="anyType" nillable="true"/>
+ <element name="EncryptedAttribute" type="saml:EncryptedElementType"/>
+</schema>
+
diff --git a/test/wsdl/liberty/saml-schema-metadata-2.0.xsd b/test/wsdl/liberty/saml-schema-metadata-2.0.xsd
new file mode 100644
index 0000000..b80938d
--- /dev/null
+++ b/test/wsdl/liberty/saml-schema-metadata-2.0.xsd
@@ -0,0 +1,338 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema
+ targetNamespace="urn:oasis:names:tc:SAML:2.0:metadata"
+ xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata"
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+ xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
+ xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="unqualified"
+ attributeFormDefault="unqualified"
+ blockDefault="substitution"
+ version="2.0">
+ <import namespace="http://www.w3.org/2000/09/xmldsig#"
+ schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>
+ <import namespace="http://www.w3.org/2001/04/xmlenc#"
+ schemaLocation="http://www.w3.org/TR/2002/REC-xmlenc-core-20021210/xenc-schema.xsd"/>
+ <import namespace="urn:oasis:names:tc:SAML:2.0:assertion"
+ schemaLocation="saml-schema-assertion-2.0.xsd"/>
+ <import namespace="http://www.w3.org/XML/1998/namespace"
+ schemaLocation="http://www.w3.org/2001/xml.xsd"/>
+ <annotation>
+ <documentation>
+ Document identifier: saml-schema-metadata-2.0
+ Location: http://docs.oasis-open.org/security/saml/v2.0/
+ Revision history:
+ V2.0 (March, 2005):
+ Schema for SAML metadata, first published in SAML 2.0.
+ </documentation>
+ </annotation>
+
+ <simpleType name="entityIDType">
+ <restriction base="anyURI">
+ <maxLength value="1024"/>
+ </restriction>
+ </simpleType>
+ <complexType name="localizedNameType">
+ <simpleContent>
+ <extension base="string">
+ <attribute ref="xml:lang" use="required"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+ <complexType name="localizedURIType">
+ <simpleContent>
+ <extension base="anyURI">
+ <attribute ref="xml:lang" use="required"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+
+ <element name="Extensions" type="md:ExtensionsType"/>
+ <complexType final="#all" name="ExtensionsType">
+ <sequence>
+ <any namespace="##other" processContents="lax" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+
+ <complexType name="EndpointType">
+ <sequence>
+ <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Binding" type="anyURI" use="required"/>
+ <attribute name="Location" type="anyURI" use="required"/>
+ <attribute name="ResponseLocation" type="anyURI" use="optional"/>
+ <anyAttribute namespace="##other" processContents="lax"/>
+ </complexType>
+
+ <complexType name="IndexedEndpointType">
+ <complexContent>
+ <extension base="md:EndpointType">
+ <attribute name="index" type="unsignedShort" use="required"/>
+ <attribute name="isDefault" type="boolean" use="optional"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <element name="EntitiesDescriptor" type="md:EntitiesDescriptorType"/>
+ <complexType name="EntitiesDescriptorType">
+ <sequence>
+ <element ref="ds:Signature" minOccurs="0"/>
+ <element ref="md:Extensions" minOccurs="0"/>
+ <choice minOccurs="1" maxOccurs="unbounded">
+ <element ref="md:EntityDescriptor"/>
+ <element ref="md:EntitiesDescriptor"/>
+ </choice>
+ </sequence>
+ <attribute name="validUntil" type="dateTime" use="optional"/>
+ <attribute name="cacheDuration" type="duration" use="optional"/>
+ <attribute name="ID" type="ID" use="optional"/>
+ <attribute name="Name" type="string" use="optional"/>
+ </complexType>
+
+ <element name="EntityDescriptor" type="md:EntityDescriptorType"/>
+ <complexType name="EntityDescriptorType">
+ <sequence>
+ <element ref="ds:Signature" minOccurs="0"/>
+ <element ref="md:Extensions" minOccurs="0"/>
+ <choice>
+ <choice maxOccurs="unbounded">
+ <element ref="md:RoleDescriptor"/>
+ <element ref="md:IDPSSODescriptor"/>
+ <element ref="md:SPSSODescriptor"/>
+ <element ref="md:AuthnAuthorityDescriptor"/>
+ <element ref="md:AttributeAuthorityDescriptor"/>
+ <element ref="md:PDPDescriptor"/>
+ </choice>
+ <element ref="md:AffiliationDescriptor"/>
+ </choice>
+ <element ref="md:Organization" minOccurs="0"/>
+ <element ref="md:ContactPerson" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:AdditionalMetadataLocation" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="entityID" type="md:entityIDType" use="required"/>
+ <attribute name="validUntil" type="dateTime" use="optional"/>
+ <attribute name="cacheDuration" type="duration" use="optional"/>
+ <attribute name="ID" type="ID" use="optional"/>
+ <anyAttribute namespace="##other" processContents="lax"/>
+ </complexType>
+
+ <element name="Organization" type="md:OrganizationType"/>
+ <complexType name="OrganizationType">
+ <sequence>
+ <element ref="md:Extensions" minOccurs="0"/>
+ <element ref="md:OrganizationName" maxOccurs="unbounded"/>
+ <element ref="md:OrganizationDisplayName" maxOccurs="unbounded"/>
+ <element ref="md:OrganizationURL" maxOccurs="unbounded"/>
+ </sequence>
+ <anyAttribute namespace="##other" processContents="lax"/>
+ </complexType>
+ <element name="OrganizationName" type="md:localizedNameType"/>
+ <element name="OrganizationDisplayName" type="md:localizedNameType"/>
+ <element name="OrganizationURL" type="md:localizedURIType"/>
+ <element name="ContactPerson" type="md:ContactType"/>
+ <complexType name="ContactType">
+ <sequence>
+ <element ref="md:Extensions" minOccurs="0"/>
+ <element ref="md:Company" minOccurs="0"/>
+ <element ref="md:GivenName" minOccurs="0"/>
+ <element ref="md:SurName" minOccurs="0"/>
+ <element ref="md:EmailAddress" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:TelephoneNumber" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="contactType" type="md:ContactTypeType" use="required"/>
+ <anyAttribute namespace="##other" processContents="lax"/>
+ </complexType>
+ <element name="Company" type="string"/>
+ <element name="GivenName" type="string"/>
+ <element name="SurName" type="string"/>
+ <element name="EmailAddress" type="anyURI"/>
+ <element name="TelephoneNumber" type="string"/>
+ <simpleType name="ContactTypeType">
+ <restriction base="string">
+ <enumeration value="technical"/>
+ <enumeration value="support"/>
+ <enumeration value="administrative"/>
+ <enumeration value="billing"/>
+ <enumeration value="other"/>
+ </restriction>
+ </simpleType>
+
+ <element name="AdditionalMetadataLocation" type="md:AdditionalMetadataLocationType"/>
+ <complexType name="AdditionalMetadataLocationType">
+ <simpleContent>
+ <extension base="anyURI">
+ <attribute name="namespace" type="anyURI" use="required"/>
+ </extension>
+ </simpleContent>
+ </complexType>
+
+ <element name="RoleDescriptor" type="md:RoleDescriptorType"/>
+ <complexType name="RoleDescriptorType" abstract="true">
+ <sequence>
+ <element ref="ds:Signature" minOccurs="0"/>
+ <element ref="md:Extensions" minOccurs="0"/>
+ <element ref="md:KeyDescriptor" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:Organization" minOccurs="0"/>
+ <element ref="md:ContactPerson" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="ID" type="ID" use="optional"/>
+ <attribute name="validUntil" type="dateTime" use="optional"/>
+ <attribute name="cacheDuration" type="duration" use="optional"/>
+ <attribute name="protocolSupportEnumeration" type="md:anyURIListType" use="required"/>
+ <attribute name="errorURL" type="anyURI" use="optional"/>
+ <anyAttribute namespace="##other" processContents="lax"/>
+ </complexType>
+ <simpleType name="anyURIListType">
+ <list itemType="anyURI"/>
+ </simpleType>
+
+ <element name="KeyDescriptor" type="md:KeyDescriptorType"/>
+ <complexType name="KeyDescriptorType">
+ <sequence>
+ <element ref="ds:KeyInfo"/>
+ <element ref="md:EncryptionMethod" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="use" type="md:KeyTypes" use="optional"/>
+ </complexType>
+ <simpleType name="KeyTypes">
+ <restriction base="string">
+ <enumeration value="encryption"/>
+ <enumeration value="signing"/>
+ </restriction>
+ </simpleType>
+ <element name="EncryptionMethod" type="xenc:EncryptionMethodType"/>
+
+ <complexType name="SSODescriptorType" abstract="true">
+ <complexContent>
+ <extension base="md:RoleDescriptorType">
+ <sequence>
+ <element ref="md:ArtifactResolutionService" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:SingleLogoutService" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:ManageNameIDService" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:NameIDFormat" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="ArtifactResolutionService" type="md:IndexedEndpointType"/>
+ <element name="SingleLogoutService" type="md:EndpointType"/>
+ <element name="ManageNameIDService" type="md:EndpointType"/>
+ <element name="NameIDFormat" type="anyURI"/>
+
+ <element name="IDPSSODescriptor" type="md:IDPSSODescriptorType"/>
+ <complexType name="IDPSSODescriptorType">
+ <complexContent>
+ <extension base="md:SSODescriptorType">
+ <sequence>
+ <element ref="md:SingleSignOnService" maxOccurs="unbounded"/>
+ <element ref="md:NameIDMappingService" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:AssertionIDRequestService" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:AttributeProfile" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="saml:Attribute" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="WantAuthnRequestsSigned" type="boolean" use="optional"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="SingleSignOnService" type="md:EndpointType"/>
+ <element name="NameIDMappingService" type="md:EndpointType"/>
+ <element name="AssertionIDRequestService" type="md:EndpointType"/>
+ <element name="AttributeProfile" type="anyURI"/>
+
+ <element name="SPSSODescriptor" type="md:SPSSODescriptorType"/>
+ <complexType name="SPSSODescriptorType">
+ <complexContent>
+ <extension base="md:SSODescriptorType">
+ <sequence>
+ <element ref="md:AssertionConsumerService" maxOccurs="unbounded"/>
+ <element ref="md:AttributeConsumingService" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="AuthnRequestsSigned" type="boolean" use="optional"/>
+ <attribute name="WantAssertionsSigned" type="boolean" use="optional"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AssertionConsumerService" type="md:IndexedEndpointType"/>
+ <element name="AttributeConsumingService" type="md:AttributeConsumingServiceType"/>
+ <complexType name="AttributeConsumingServiceType">
+ <sequence>
+ <element ref="md:ServiceName" maxOccurs="unbounded"/>
+ <element ref="md:ServiceDescription" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:RequestedAttribute" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="index" type="unsignedShort" use="required"/>
+ <attribute name="isDefault" type="boolean" use="optional"/>
+ </complexType>
+ <element name="ServiceName" type="md:localizedNameType"/>
+ <element name="ServiceDescription" type="md:localizedNameType"/>
+ <element name="RequestedAttribute" type="md:RequestedAttributeType"/>
+ <complexType name="RequestedAttributeType">
+ <complexContent>
+ <extension base="saml:AttributeType">
+ <attribute name="isRequired" type="boolean" use="optional"/>
+ </extension>
+ </complexContent>
+ </complexType>
+
+ <element name="AuthnAuthorityDescriptor" type="md:AuthnAuthorityDescriptorType"/>
+ <complexType name="AuthnAuthorityDescriptorType">
+ <complexContent>
+ <extension base="md:RoleDescriptorType">
+ <sequence>
+ <element ref="md:AuthnQueryService" maxOccurs="unbounded"/>
+ <element ref="md:AssertionIDRequestService" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:NameIDFormat" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AuthnQueryService" type="md:EndpointType"/>
+
+ <element name="PDPDescriptor" type="md:PDPDescriptorType"/>
+ <complexType name="PDPDescriptorType">
+ <complexContent>
+ <extension base="md:RoleDescriptorType">
+ <sequence>
+ <element ref="md:AuthzService" maxOccurs="unbounded"/>
+ <element ref="md:AssertionIDRequestService" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:NameIDFormat" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AuthzService" type="md:EndpointType"/>
+
+ <element name="AttributeAuthorityDescriptor" type="md:AttributeAuthorityDescriptorType"/>
+ <complexType name="AttributeAuthorityDescriptorType">
+ <complexContent>
+ <extension base="md:RoleDescriptorType">
+ <sequence>
+ <element ref="md:AttributeService" maxOccurs="unbounded"/>
+ <element ref="md:AssertionIDRequestService" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:NameIDFormat" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="md:AttributeProfile" minOccurs="0" maxOccurs="unbounded"/>
+ <element ref="saml:Attribute" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AttributeService" type="md:EndpointType"/>
+
+ <element name="AffiliationDescriptor" type="md:AffiliationDescriptorType"/>
+ <complexType name="AffiliationDescriptorType">
+ <sequence>
+ <element ref="ds:Signature" minOccurs="0"/>
+ <element ref="md:Extensions" minOccurs="0"/>
+ <element ref="md:AffiliateMember" maxOccurs="unbounded"/>
+ <element ref="md:KeyDescriptor" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="affiliationOwnerID" type="md:entityIDType" use="required"/>
+ <attribute name="validUntil" type="dateTime" use="optional"/>
+ <attribute name="cacheDuration" type="duration" use="optional"/>
+ <attribute name="ID" type="ID" use="optional"/>
+ <anyAttribute namespace="##other" processContents="lax"/>
+ </complexType>
+ <element name="AffiliateMember" type="md:entityIDType"/>
+</schema>
+
diff --git a/test/wsdl/liberty/saml-schema-protocol-2.0.xsd b/test/wsdl/liberty/saml-schema-protocol-2.0.xsd
new file mode 100644
index 0000000..9f308dd
--- /dev/null
+++ b/test/wsdl/liberty/saml-schema-protocol-2.0.xsd
@@ -0,0 +1,303 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schema
+ targetNamespace="urn:oasis:names:tc:SAML:2.0:protocol"
+ xmlns="http://www.w3.org/2001/XMLSchema"
+ xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
+ xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+ elementFormDefault="unqualified"
+ attributeFormDefault="unqualified"
+ blockDefault="substitution"
+ version="2.0">
+ <import namespace="urn:oasis:names:tc:SAML:2.0:assertion"
+ schemaLocation="saml-schema-assertion-2.0.xsd"/>
+ <import namespace="http://www.w3.org/2000/09/xmldsig#"
+ schemaLocation="http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd"/>
+ <annotation>
+ <documentation>
+ Document identifier: saml-schema-protocol-2.0
+ Location: http://docs.oasis-open.org/security/saml/v2.0/
+ Revision history:
+ V1.0 (November, 2002):
+ Initial Standard Schema.
+ V1.1 (September, 2003):
+ Updates within the same V1.0 namespace.
+ V2.0 (March, 2005):
+ New protocol schema based in a SAML V2.0 namespace.
+ </documentation>
+ </annotation>
+ <complexType name="RequestAbstractType" abstract="true">
+ <sequence>
+ <element ref="saml:Issuer" minOccurs="0"/>
+ <element ref="ds:Signature" minOccurs="0"/>
+ <element ref="samlp:Extensions" minOccurs="0"/>
+ </sequence>
+ <attribute name="ID" type="ID" use="required"/>
+ <attribute name="Version" type="string" use="required"/>
+ <attribute name="IssueInstant" type="dateTime" use="required"/>
+ <attribute name="Destination" type="anyURI" use="optional"/>
+ <attribute name="Consent" type="anyURI" use="optional"/>
+ </complexType>
+ <element name="Extensions" type="samlp:ExtensionsType"/>
+ <complexType name="ExtensionsType">
+ <sequence>
+ <any namespace="##other" processContents="lax" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <complexType name="StatusResponseType">
+ <sequence>
+ <element ref="saml:Issuer" minOccurs="0"/>
+ <element ref="ds:Signature" minOccurs="0"/>
+ <element ref="samlp:Extensions" minOccurs="0"/>
+ <element ref="samlp:Status"/>
+ </sequence>
+ <attribute name="ID" type="ID" use="required"/>
+ <attribute name="InResponseTo" type="NCName" use="optional"/>
+ <attribute name="Version" type="string" use="required"/>
+ <attribute name="IssueInstant" type="dateTime" use="required"/>
+ <attribute name="Destination" type="anyURI" use="optional"/>
+ <attribute name="Consent" type="anyURI" use="optional"/>
+ </complexType>
+ <element name="Status" type="samlp:StatusType"/>
+ <complexType name="StatusType">
+ <sequence>
+ <element ref="samlp:StatusCode"/>
+ <element ref="samlp:StatusMessage" minOccurs="0"/>
+ <element ref="samlp:StatusDetail" minOccurs="0"/>
+ </sequence>
+ </complexType>
+ <element name="StatusCode" type="samlp:StatusCodeType"/>
+ <complexType name="StatusCodeType">
+ <sequence>
+ <element ref="samlp:StatusCode" minOccurs="0"/>
+ </sequence>
+ <attribute name="Value" type="anyURI" use="required"/>
+ </complexType>
+ <element name="StatusMessage" type="string"/>
+ <element name="StatusDetail" type="samlp:StatusDetailType"/>
+ <complexType name="StatusDetailType">
+ <sequence>
+ <any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </complexType>
+ <element name="AssertionIDRequest" type="samlp:AssertionIDRequestType"/>
+ <complexType name="AssertionIDRequestType">
+ <complexContent>
+ <extension base="samlp:RequestAbstractType">
+ <sequence>
+ <element ref="saml:AssertionIDRef" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="SubjectQuery" type="samlp:SubjectQueryAbstractType"/>
+ <complexType name="SubjectQueryAbstractType" abstract="true">
+ <complexContent>
+ <extension base="samlp:RequestAbstractType">
+ <sequence>
+ <element ref="saml:Subject"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AuthnQuery" type="samlp:AuthnQueryType"/>
+ <complexType name="AuthnQueryType">
+ <complexContent>
+ <extension base="samlp:SubjectQueryAbstractType">
+ <sequence>
+ <element ref="samlp:RequestedAuthnContext" minOccurs="0"/>
+ </sequence>
+ <attribute name="SessionIndex" type="string" use="optional"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="RequestedAuthnContext" type="samlp:RequestedAuthnContextType"/>
+ <complexType name="RequestedAuthnContextType">
+ <choice>
+ <element ref="saml:AuthnContextClassRef" maxOccurs="unbounded"/>
+ <element ref="saml:AuthnContextDeclRef" maxOccurs="unbounded"/>
+ </choice>
+ <attribute name="Comparison" type="samlp:AuthnContextComparisonType" use="optional"/>
+ </complexType>
+ <simpleType name="AuthnContextComparisonType">
+ <restriction base="string">
+ <enumeration value="exact"/>
+ <enumeration value="minimum"/>
+ <enumeration value="maximum"/>
+ <enumeration value="better"/>
+ </restriction>
+ </simpleType>
+ <element name="AttributeQuery" type="samlp:AttributeQueryType"/>
+ <complexType name="AttributeQueryType">
+ <complexContent>
+ <extension base="samlp:SubjectQueryAbstractType">
+ <sequence>
+ <element ref="saml:Attribute" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AuthzDecisionQuery" type="samlp:AuthzDecisionQueryType"/>
+ <complexType name="AuthzDecisionQueryType">
+ <complexContent>
+ <extension base="samlp:SubjectQueryAbstractType">
+ <sequence>
+ <element ref="saml:Action" maxOccurs="unbounded"/>
+ <element ref="saml:Evidence" minOccurs="0"/>
+ </sequence>
+ <attribute name="Resource" type="anyURI" use="required"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="AuthnRequest" type="samlp:AuthnRequestType"/>
+ <complexType name="AuthnRequestType">
+ <complexContent>
+ <extension base="samlp:RequestAbstractType">
+ <sequence>
+ <element ref="saml:Subject" minOccurs="0"/>
+ <element ref="samlp:NameIDPolicy" minOccurs="0"/>
+ <element ref="saml:Conditions" minOccurs="0"/>
+ <element ref="samlp:RequestedAuthnContext" minOccurs="0"/>
+ <element ref="samlp:Scoping" minOccurs="0"/>
+ </sequence>
+ <attribute name="ForceAuthn" type="boolean" use="optional"/>
+ <attribute name="IsPassive" type="boolean" use="optional"/>
+ <attribute name="ProtocolBinding" type="anyURI" use="optional"/>
+ <attribute name="AssertionConsumerServiceIndex" type="unsignedShort" use="optional"/>
+ <attribute name="AssertionConsumerServiceURL" type="anyURI" use="optional"/>
+ <attribute name="AttributeConsumingServiceIndex" type="unsignedShort" use="optional"/>
+ <attribute name="ProviderName" type="string" use="optional"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="NameIDPolicy" type="samlp:NameIDPolicyType"/>
+ <complexType name="NameIDPolicyType">
+ <attribute name="Format" type="anyURI" use="optional"/>
+ <attribute name="SPNameQualifier" type="string" use="optional"/>
+ <attribute name="AllowCreate" type="boolean" use="optional"/>
+ </complexType>
+ <element name="Scoping" type="samlp:ScopingType"/>
+ <complexType name="ScopingType">
+ <sequence>
+ <element ref="samlp:IDPList" minOccurs="0"/>
+ <element ref="samlp:RequesterID" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="ProxyCount" type="nonNegativeInteger" use="optional"/>
+ </complexType>
+ <element name="RequesterID" type="anyURI"/>
+ <element name="IDPList" type="samlp:IDPListType"/>
+ <complexType name="IDPListType">
+ <sequence>
+ <element ref="samlp:IDPEntry" maxOccurs="unbounded"/>
+ <element ref="samlp:GetComplete" minOccurs="0"/>
+ </sequence>
+ </complexType>
+ <element name="IDPEntry" type="samlp:IDPEntryType"/>
+ <complexType name="IDPEntryType">
+ <attribute name="ProviderID" type="anyURI" use="required"/>
+ <attribute name="Name" type="string" use="optional"/>
+ <attribute name="Loc" type="anyURI" use="optional"/>
+ </complexType>
+ <element name="GetComplete" type="anyURI"/>
+ <element name="Response" type="samlp:ResponseType"/>
+ <complexType name="ResponseType">
+ <complexContent>
+ <extension base="samlp:StatusResponseType">
+ <choice minOccurs="0" maxOccurs="unbounded">
+ <element ref="saml:Assertion"/>
+ <element ref="saml:EncryptedAssertion"/>
+ </choice>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="ArtifactResolve" type="samlp:ArtifactResolveType"/>
+ <complexType name="ArtifactResolveType">
+ <complexContent>
+ <extension base="samlp:RequestAbstractType">
+ <sequence>
+ <element ref="samlp:Artifact"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="Artifact" type="string"/>
+ <element name="ArtifactResponse" type="samlp:ArtifactResponseType"/>
+ <complexType name="ArtifactResponseType">
+ <complexContent>
+ <extension base="samlp:StatusResponseType">
+ <sequence>
+ <any namespace="##any" processContents="lax" minOccurs="0"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="ManageNameIDRequest" type="samlp:ManageNameIDRequestType"/>
+ <complexType name="ManageNameIDRequestType">
+ <complexContent>
+ <extension base="samlp:RequestAbstractType">
+ <sequence>
+ <choice>
+ <element ref="saml:NameID"/>
+ <element ref="saml:EncryptedID"/>
+ </choice>
+ <choice>
+ <element ref="samlp:NewID"/>
+ <element ref="samlp:NewEncryptedID"/>
+ <element ref="samlp:Terminate"/>
+ </choice>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="NewID" type="string"/>
+ <element name="NewEncryptedID" type="saml:EncryptedElementType"/>
+ <element name="Terminate" type="samlp:TerminateType"/>
+ <complexType name="TerminateType"/>
+ <element name="ManageNameIDResponse" type="samlp:StatusResponseType"/>
+ <element name="LogoutRequest" type="samlp:LogoutRequestType"/>
+ <complexType name="LogoutRequestType">
+ <complexContent>
+ <extension base="samlp:RequestAbstractType">
+ <sequence>
+ <choice>
+ <element ref="saml:BaseID"/>
+ <element ref="saml:NameID"/>
+ <element ref="saml:EncryptedID"/>
+ </choice>
+ <element ref="samlp:SessionIndex" minOccurs="0" maxOccurs="unbounded"/>
+ </sequence>
+ <attribute name="Reason" type="string" use="optional"/>
+ <attribute name="NotOnOrAfter" type="dateTime" use="optional"/>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="SessionIndex" type="string"/>
+ <element name="LogoutResponse" type="samlp:StatusResponseType"/>
+ <element name="NameIDMappingRequest" type="samlp:NameIDMappingRequestType"/>
+ <complexType name="NameIDMappingRequestType">
+ <complexContent>
+ <extension base="samlp:RequestAbstractType">
+ <sequence>
+ <choice>
+ <element ref="saml:BaseID"/>
+ <element ref="saml:NameID"/>
+ <element ref="saml:EncryptedID"/>
+ </choice>
+ <element ref="samlp:NameIDPolicy"/>
+ </sequence>
+ </extension>
+ </complexContent>
+ </complexType>
+ <element name="NameIDMappingResponse" type="samlp:NameIDMappingResponseType"/>
+ <complexType name="NameIDMappingResponseType">
+ <complexContent>
+ <extension base="samlp:StatusResponseType">
+ <choice>
+ <element ref="saml:NameID"/>
+ <element ref="saml:EncryptedID"/>
+ </choice>
+ </extension>
+ </complexContent>
+ </complexType>
+</schema>
+
[axis-axis1-java] 03/07: fix target jvm
Posted by bi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
billblough pushed a commit to tag 1.3
in repository https://gitbox.apache.org/repos/asf/axis-axis1-java.git
commit 56de3a58865cdefcc2096e683159077439191b65
Author: Davanum Srinivas <di...@apache.org>
AuthorDate: Thu Sep 29 03:43:53 2005 +0000
fix target jvm
---
build.xml | 1 +
xmls/properties.xml | 1 +
xmls/targets.xml | 1 +
3 files changed, 3 insertions(+)
diff --git a/build.xml b/build.xml
index 980bce3..5e22433 100644
--- a/build.xml
+++ b/build.xml
@@ -95,6 +95,7 @@ Copyright:
<javac srcdir="${src.dir}" destdir="${build.dest}" nowarn="${nowarn}" debug="${debug}"
deprecation="${deprecation}"
source="${source}"
+ target="${target}"
classpathref="classpath">
<exclude name="**/old/**/*" />
<exclude name="**/bak/**"/>
diff --git a/xmls/properties.xml b/xmls/properties.xml
index 867cf29..3e7c3f9 100644
--- a/xmls/properties.xml
+++ b/xmls/properties.xml
@@ -30,6 +30,7 @@
<property name="debuglevel" value="lines,vars,source" />
<property name="deprecation" value="true" />
<property name="source" value="1.3" />
+<property name="target" value="1.3" />
<!-- directories -->
<property name="src.dir" location="${axis.home}/src"/>
diff --git a/xmls/targets.xml b/xmls/targets.xml
index 01ab57b..a7ac2d9 100644
--- a/xmls/targets.xml
+++ b/xmls/targets.xml
@@ -374,6 +374,7 @@
<echo message="debug=${debug}" />
<echo message="nowarn=${nowarn}" />
<echo message="source=${source}" />
+ <echo message="target=${target}" />
<echo message="deprecation=${deprecation}" />
<echo message="build.compiler=${build.compiler}" />
<echo message="javac.fork=${javac.fork}" />