summaryrefslogtreecommitdiff
path: root/src/main/java/at/gv/util/xsd/saml/protocol
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/gv/util/xsd/saml/protocol')
-rw-r--r--src/main/java/at/gv/util/xsd/saml/protocol/AttributeQueryType.java103
-rw-r--r--src/main/java/at/gv/util/xsd/saml/protocol/AuthenticationQueryType.java62
-rw-r--r--src/main/java/at/gv/util/xsd/saml/protocol/AuthorizationDecisionQueryType.java132
-rw-r--r--src/main/java/at/gv/util/xsd/saml/protocol/ObjectFactory.java229
-rw-r--r--src/main/java/at/gv/util/xsd/saml/protocol/QueryAbstractType.java34
-rw-r--r--src/main/java/at/gv/util/xsd/saml/protocol/RequestAbstractType.java217
-rw-r--r--src/main/java/at/gv/util/xsd/saml/protocol/RequestType.java244
-rw-r--r--src/main/java/at/gv/util/xsd/saml/protocol/ResponseAbstractType.java236
-rw-r--r--src/main/java/at/gv/util/xsd/saml/protocol/ResponseType.java101
-rw-r--r--src/main/java/at/gv/util/xsd/saml/protocol/StatusCodeType.java91
-rw-r--r--src/main/java/at/gv/util/xsd/saml/protocol/StatusDetailType.java71
-rw-r--r--src/main/java/at/gv/util/xsd/saml/protocol/StatusType.java118
-rw-r--r--src/main/java/at/gv/util/xsd/saml/protocol/SubjectQueryAbstractType.java72
-rw-r--r--src/main/java/at/gv/util/xsd/saml/protocol/package-info.java2
14 files changed, 1712 insertions, 0 deletions
diff --git a/src/main/java/at/gv/util/xsd/saml/protocol/AttributeQueryType.java b/src/main/java/at/gv/util/xsd/saml/protocol/AttributeQueryType.java
new file mode 100644
index 0000000..e1beeb4
--- /dev/null
+++ b/src/main/java/at/gv/util/xsd/saml/protocol/AttributeQueryType.java
@@ -0,0 +1,103 @@
+
+package at.gv.util.xsd.saml.protocol;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+
+import at.gv.util.xsd.saml.assertion.AttributeDesignatorType;
+
+
+/**
+ * <p>Java class for AttributeQueryType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="AttributeQueryType">
+ * &lt;complexContent>
+ * &lt;extension base="{urn:oasis:names:tc:SAML:1.0:protocol}SubjectQueryAbstractType">
+ * &lt;sequence>
+ * &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}AttributeDesignator" maxOccurs="unbounded" minOccurs="0"/>
+ * &lt;/sequence>
+ * &lt;attribute name="Resource" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AttributeQueryType", propOrder = {
+ "attributeDesignator"
+})
+public class AttributeQueryType
+ extends SubjectQueryAbstractType
+{
+
+ @XmlElement(name = "AttributeDesignator", namespace = "urn:oasis:names:tc:SAML:1.0:assertion")
+ protected List<AttributeDesignatorType> attributeDesignator;
+ @XmlAttribute(name = "Resource")
+ @XmlSchemaType(name = "anyURI")
+ protected String resource;
+
+ /**
+ * Gets the value of the attributeDesignator property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the attributeDesignator property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getAttributeDesignator().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link AttributeDesignatorType }
+ *
+ *
+ */
+ public List<AttributeDesignatorType> getAttributeDesignator() {
+ if (attributeDesignator == null) {
+ attributeDesignator = new ArrayList<AttributeDesignatorType>();
+ }
+ return this.attributeDesignator;
+ }
+
+ /**
+ * Gets the value of the resource property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResource() {
+ return resource;
+ }
+
+ /**
+ * Sets the value of the resource property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResource(String value) {
+ this.resource = value;
+ }
+
+}
diff --git a/src/main/java/at/gv/util/xsd/saml/protocol/AuthenticationQueryType.java b/src/main/java/at/gv/util/xsd/saml/protocol/AuthenticationQueryType.java
new file mode 100644
index 0000000..d5e0be0
--- /dev/null
+++ b/src/main/java/at/gv/util/xsd/saml/protocol/AuthenticationQueryType.java
@@ -0,0 +1,62 @@
+
+package at.gv.util.xsd.saml.protocol;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for AuthenticationQueryType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="AuthenticationQueryType">
+ * &lt;complexContent>
+ * &lt;extension base="{urn:oasis:names:tc:SAML:1.0:protocol}SubjectQueryAbstractType">
+ * &lt;attribute name="AuthenticationMethod" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AuthenticationQueryType")
+public class AuthenticationQueryType
+ extends SubjectQueryAbstractType
+{
+
+ @XmlAttribute(name = "AuthenticationMethod")
+ @XmlSchemaType(name = "anyURI")
+ protected String authenticationMethod;
+
+ /**
+ * Gets the value of the authenticationMethod property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getAuthenticationMethod() {
+ return authenticationMethod;
+ }
+
+ /**
+ * Sets the value of the authenticationMethod property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setAuthenticationMethod(String value) {
+ this.authenticationMethod = value;
+ }
+
+}
diff --git a/src/main/java/at/gv/util/xsd/saml/protocol/AuthorizationDecisionQueryType.java b/src/main/java/at/gv/util/xsd/saml/protocol/AuthorizationDecisionQueryType.java
new file mode 100644
index 0000000..78b7c31
--- /dev/null
+++ b/src/main/java/at/gv/util/xsd/saml/protocol/AuthorizationDecisionQueryType.java
@@ -0,0 +1,132 @@
+
+package at.gv.util.xsd.saml.protocol;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlType;
+
+import at.gv.util.xsd.saml.assertion.ActionType;
+import at.gv.util.xsd.saml.assertion.EvidenceType;
+
+
+/**
+ * <p>Java class for AuthorizationDecisionQueryType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="AuthorizationDecisionQueryType">
+ * &lt;complexContent>
+ * &lt;extension base="{urn:oasis:names:tc:SAML:1.0:protocol}SubjectQueryAbstractType">
+ * &lt;sequence>
+ * &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}Action" maxOccurs="unbounded"/>
+ * &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}Evidence" minOccurs="0"/>
+ * &lt;/sequence>
+ * &lt;attribute name="Resource" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "AuthorizationDecisionQueryType", propOrder = {
+ "action",
+ "evidence"
+})
+public class AuthorizationDecisionQueryType
+ extends SubjectQueryAbstractType
+{
+
+ @XmlElement(name = "Action", namespace = "urn:oasis:names:tc:SAML:1.0:assertion", required = true)
+ protected List<ActionType> action;
+ @XmlElement(name = "Evidence", namespace = "urn:oasis:names:tc:SAML:1.0:assertion")
+ protected EvidenceType evidence;
+ @XmlAttribute(name = "Resource", required = true)
+ @XmlSchemaType(name = "anyURI")
+ protected String resource;
+
+ /**
+ * Gets the value of the action property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the action property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getAction().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link ActionType }
+ *
+ *
+ */
+ public List<ActionType> getAction() {
+ if (action == null) {
+ action = new ArrayList<ActionType>();
+ }
+ return this.action;
+ }
+
+ /**
+ * Gets the value of the evidence property.
+ *
+ * @return
+ * possible object is
+ * {@link EvidenceType }
+ *
+ */
+ public EvidenceType getEvidence() {
+ return evidence;
+ }
+
+ /**
+ * Sets the value of the evidence property.
+ *
+ * @param value
+ * allowed object is
+ * {@link EvidenceType }
+ *
+ */
+ public void setEvidence(EvidenceType value) {
+ this.evidence = value;
+ }
+
+ /**
+ * Gets the value of the resource property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResource() {
+ return resource;
+ }
+
+ /**
+ * Sets the value of the resource property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResource(String value) {
+ this.resource = value;
+ }
+
+}
diff --git a/src/main/java/at/gv/util/xsd/saml/protocol/ObjectFactory.java b/src/main/java/at/gv/util/xsd/saml/protocol/ObjectFactory.java
new file mode 100644
index 0000000..fc3010d
--- /dev/null
+++ b/src/main/java/at/gv/util/xsd/saml/protocol/ObjectFactory.java
@@ -0,0 +1,229 @@
+
+package at.gv.util.xsd.saml.protocol;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlElementDecl;
+import javax.xml.bind.annotation.XmlRegistry;
+import javax.xml.namespace.QName;
+
+
+/**
+ * This object contains factory methods for each
+ * Java content interface and Java element interface
+ * generated in the at.gv.zustellung.util.xsd.saml.protocol package.
+ * <p>An ObjectFactory allows you to programatically
+ * construct new instances of the Java representation
+ * for XML content. The Java representation of XML
+ * content can consist of schema derived interfaces
+ * and classes representing the binding of schema
+ * type definitions, element declarations and model
+ * groups. Factory methods for each of these are
+ * provided in this class.
+ *
+ */
+@XmlRegistry
+public class ObjectFactory {
+
+ private final static QName _Query_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:protocol", "Query");
+ private final static QName _Request_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:protocol", "Request");
+ private final static QName _Status_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:protocol", "Status");
+ private final static QName _SubjectQuery_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:protocol", "SubjectQuery");
+ private final static QName _AttributeQuery_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:protocol", "AttributeQuery");
+ private final static QName _AuthorizationDecisionQuery_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:protocol", "AuthorizationDecisionQuery");
+ private final static QName _Response_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:protocol", "Response");
+ private final static QName _AuthenticationQuery_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:protocol", "AuthenticationQuery");
+ private final static QName _AssertionArtifact_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:protocol", "AssertionArtifact");
+ private final static QName _StatusCode_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:protocol", "StatusCode");
+ private final static QName _RespondWith_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:protocol", "RespondWith");
+ private final static QName _StatusMessage_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:protocol", "StatusMessage");
+ private final static QName _StatusDetail_QNAME = new QName("urn:oasis:names:tc:SAML:1.0:protocol", "StatusDetail");
+
+ /**
+ * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: at.gv.zustellung.util.xsd.saml.protocol
+ *
+ */
+ public ObjectFactory() {
+ }
+
+ /**
+ * Create an instance of {@link StatusCodeType }
+ *
+ */
+ public StatusCodeType createStatusCodeType() {
+ return new StatusCodeType();
+ }
+
+ /**
+ * Create an instance of {@link RequestType }
+ *
+ */
+ public RequestType createRequestType() {
+ return new RequestType();
+ }
+
+ /**
+ * Create an instance of {@link AuthenticationQueryType }
+ *
+ */
+ public AuthenticationQueryType createAuthenticationQueryType() {
+ return new AuthenticationQueryType();
+ }
+
+ /**
+ * Create an instance of {@link ResponseType }
+ *
+ */
+ public ResponseType createResponseType() {
+ return new ResponseType();
+ }
+
+ /**
+ * Create an instance of {@link AttributeQueryType }
+ *
+ */
+ public AttributeQueryType createAttributeQueryType() {
+ return new AttributeQueryType();
+ }
+
+ /**
+ * Create an instance of {@link StatusType }
+ *
+ */
+ public StatusType createStatusType() {
+ return new StatusType();
+ }
+
+ /**
+ * Create an instance of {@link AuthorizationDecisionQueryType }
+ *
+ */
+ public AuthorizationDecisionQueryType createAuthorizationDecisionQueryType() {
+ return new AuthorizationDecisionQueryType();
+ }
+
+ /**
+ * Create an instance of {@link StatusDetailType }
+ *
+ */
+ public StatusDetailType createStatusDetailType() {
+ return new StatusDetailType();
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link QueryAbstractType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:protocol", name = "Query")
+ public JAXBElement<QueryAbstractType> createQuery(QueryAbstractType value) {
+ return new JAXBElement<QueryAbstractType>(_Query_QNAME, QueryAbstractType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link RequestType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:protocol", name = "Request")
+ public JAXBElement<RequestType> createRequest(RequestType value) {
+ return new JAXBElement<RequestType>(_Request_QNAME, RequestType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link StatusType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:protocol", name = "Status")
+ public JAXBElement<StatusType> createStatus(StatusType value) {
+ return new JAXBElement<StatusType>(_Status_QNAME, StatusType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link SubjectQueryAbstractType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:protocol", name = "SubjectQuery")
+ public JAXBElement<SubjectQueryAbstractType> createSubjectQuery(SubjectQueryAbstractType value) {
+ return new JAXBElement<SubjectQueryAbstractType>(_SubjectQuery_QNAME, SubjectQueryAbstractType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link AttributeQueryType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:protocol", name = "AttributeQuery")
+ public JAXBElement<AttributeQueryType> createAttributeQuery(AttributeQueryType value) {
+ return new JAXBElement<AttributeQueryType>(_AttributeQuery_QNAME, AttributeQueryType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link AuthorizationDecisionQueryType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:protocol", name = "AuthorizationDecisionQuery")
+ public JAXBElement<AuthorizationDecisionQueryType> createAuthorizationDecisionQuery(AuthorizationDecisionQueryType value) {
+ return new JAXBElement<AuthorizationDecisionQueryType>(_AuthorizationDecisionQuery_QNAME, AuthorizationDecisionQueryType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link ResponseType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:protocol", name = "Response")
+ public JAXBElement<ResponseType> createResponse(ResponseType value) {
+ return new JAXBElement<ResponseType>(_Response_QNAME, ResponseType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link AuthenticationQueryType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:protocol", name = "AuthenticationQuery")
+ public JAXBElement<AuthenticationQueryType> createAuthenticationQuery(AuthenticationQueryType value) {
+ return new JAXBElement<AuthenticationQueryType>(_AuthenticationQuery_QNAME, AuthenticationQueryType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:protocol", name = "AssertionArtifact")
+ public JAXBElement<String> createAssertionArtifact(String value) {
+ return new JAXBElement<String>(_AssertionArtifact_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link StatusCodeType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:protocol", name = "StatusCode")
+ public JAXBElement<StatusCodeType> createStatusCode(StatusCodeType value) {
+ return new JAXBElement<StatusCodeType>(_StatusCode_QNAME, StatusCodeType.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link QName }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:protocol", name = "RespondWith")
+ public JAXBElement<QName> createRespondWith(QName value) {
+ return new JAXBElement<QName>(_RespondWith_QNAME, QName.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:protocol", name = "StatusMessage")
+ public JAXBElement<String> createStatusMessage(String value) {
+ return new JAXBElement<String>(_StatusMessage_QNAME, String.class, null, value);
+ }
+
+ /**
+ * Create an instance of {@link JAXBElement }{@code <}{@link StatusDetailType }{@code >}}
+ *
+ */
+ @XmlElementDecl(namespace = "urn:oasis:names:tc:SAML:1.0:protocol", name = "StatusDetail")
+ public JAXBElement<StatusDetailType> createStatusDetail(StatusDetailType value) {
+ return new JAXBElement<StatusDetailType>(_StatusDetail_QNAME, StatusDetailType.class, null, value);
+ }
+
+}
diff --git a/src/main/java/at/gv/util/xsd/saml/protocol/QueryAbstractType.java b/src/main/java/at/gv/util/xsd/saml/protocol/QueryAbstractType.java
new file mode 100644
index 0000000..a6b82ae
--- /dev/null
+++ b/src/main/java/at/gv/util/xsd/saml/protocol/QueryAbstractType.java
@@ -0,0 +1,34 @@
+
+package at.gv.util.xsd.saml.protocol;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for QueryAbstractType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="QueryAbstractType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "QueryAbstractType")
+@XmlSeeAlso({
+ SubjectQueryAbstractType.class
+})
+public abstract class QueryAbstractType {
+
+
+}
diff --git a/src/main/java/at/gv/util/xsd/saml/protocol/RequestAbstractType.java b/src/main/java/at/gv/util/xsd/saml/protocol/RequestAbstractType.java
new file mode 100644
index 0000000..337ebd5
--- /dev/null
+++ b/src/main/java/at/gv/util/xsd/saml/protocol/RequestAbstractType.java
@@ -0,0 +1,217 @@
+
+package at.gv.util.xsd.saml.protocol;
+
+import java.math.BigInteger;
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.datatype.XMLGregorianCalendar;
+import javax.xml.namespace.QName;
+
+import at.gv.util.xsd.xmldsig.SignatureType;
+
+
+/**
+ * <p>Java class for RequestAbstractType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="RequestAbstractType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element ref="{urn:oasis:names:tc:SAML:1.0:protocol}RespondWith" maxOccurs="unbounded" minOccurs="0"/>
+ * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}Signature" minOccurs="0"/>
+ * &lt;/sequence>
+ * &lt;attribute name="RequestID" use="required" type="{urn:oasis:names:tc:SAML:1.0:assertion}IDType" />
+ * &lt;attribute name="MajorVersion" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
+ * &lt;attribute name="MinorVersion" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
+ * &lt;attribute name="IssueInstant" use="required" type="{http://www.w3.org/2001/XMLSchema}dateTime" />
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "RequestAbstractType", propOrder = {
+ "respondWith",
+ "signature"
+})
+@XmlSeeAlso({
+ RequestType.class
+})
+public abstract class RequestAbstractType {
+
+ @XmlElement(name = "RespondWith")
+ protected List<QName> respondWith;
+ @XmlElement(name = "Signature", namespace = "http://www.w3.org/2000/09/xmldsig#")
+ protected SignatureType signature;
+ @XmlAttribute(name = "RequestID", required = true)
+ protected String requestID;
+ @XmlAttribute(name = "MajorVersion", required = true)
+ protected BigInteger majorVersion;
+ @XmlAttribute(name = "MinorVersion", required = true)
+ protected BigInteger minorVersion;
+ @XmlAttribute(name = "IssueInstant", required = true)
+ @XmlSchemaType(name = "dateTime")
+ protected XMLGregorianCalendar issueInstant;
+
+ /**
+ * Gets the value of the respondWith property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the respondWith property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getRespondWith().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link QName }
+ *
+ *
+ */
+ public List<QName> getRespondWith() {
+ if (respondWith == null) {
+ respondWith = new ArrayList<QName>();
+ }
+ return this.respondWith;
+ }
+
+ /**
+ * Gets the value of the signature property.
+ *
+ * @return
+ * possible object is
+ * {@link SignatureType }
+ *
+ */
+ public SignatureType getSignature() {
+ return signature;
+ }
+
+ /**
+ * Sets the value of the signature property.
+ *
+ * @param value
+ * allowed object is
+ * {@link SignatureType }
+ *
+ */
+ public void setSignature(SignatureType value) {
+ this.signature = value;
+ }
+
+ /**
+ * Gets the value of the requestID property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getRequestID() {
+ return requestID;
+ }
+
+ /**
+ * Sets the value of the requestID property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setRequestID(String value) {
+ this.requestID = value;
+ }
+
+ /**
+ * Gets the value of the majorVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link BigInteger }
+ *
+ */
+ public BigInteger getMajorVersion() {
+ return majorVersion;
+ }
+
+ /**
+ * Sets the value of the majorVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigInteger }
+ *
+ */
+ public void setMajorVersion(BigInteger value) {
+ this.majorVersion = value;
+ }
+
+ /**
+ * Gets the value of the minorVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link BigInteger }
+ *
+ */
+ public BigInteger getMinorVersion() {
+ return minorVersion;
+ }
+
+ /**
+ * Sets the value of the minorVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigInteger }
+ *
+ */
+ public void setMinorVersion(BigInteger value) {
+ this.minorVersion = value;
+ }
+
+ /**
+ * Gets the value of the issueInstant property.
+ *
+ * @return
+ * possible object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getIssueInstant() {
+ return issueInstant;
+ }
+
+ /**
+ * Sets the value of the issueInstant property.
+ *
+ * @param value
+ * allowed object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public void setIssueInstant(XMLGregorianCalendar value) {
+ this.issueInstant = value;
+ }
+
+}
diff --git a/src/main/java/at/gv/util/xsd/saml/protocol/RequestType.java b/src/main/java/at/gv/util/xsd/saml/protocol/RequestType.java
new file mode 100644
index 0000000..1d08847
--- /dev/null
+++ b/src/main/java/at/gv/util/xsd/saml/protocol/RequestType.java
@@ -0,0 +1,244 @@
+
+package at.gv.util.xsd.saml.protocol;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for RequestType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="RequestType">
+ * &lt;complexContent>
+ * &lt;extension base="{urn:oasis:names:tc:SAML:1.0:protocol}RequestAbstractType">
+ * &lt;choice>
+ * &lt;element ref="{urn:oasis:names:tc:SAML:1.0:protocol}Query"/>
+ * &lt;element ref="{urn:oasis:names:tc:SAML:1.0:protocol}SubjectQuery"/>
+ * &lt;element ref="{urn:oasis:names:tc:SAML:1.0:protocol}AuthenticationQuery"/>
+ * &lt;element ref="{urn:oasis:names:tc:SAML:1.0:protocol}AttributeQuery"/>
+ * &lt;element ref="{urn:oasis:names:tc:SAML:1.0:protocol}AuthorizationDecisionQuery"/>
+ * &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}AssertionIDReference" maxOccurs="unbounded"/>
+ * &lt;element ref="{urn:oasis:names:tc:SAML:1.0:protocol}AssertionArtifact" maxOccurs="unbounded"/>
+ * &lt;/choice>
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "RequestType", propOrder = {
+ "query",
+ "subjectQuery",
+ "authenticationQuery",
+ "attributeQuery",
+ "authorizationDecisionQuery",
+ "assertionIDReference",
+ "assertionArtifact"
+})
+public class RequestType
+ extends RequestAbstractType
+{
+
+ @XmlElement(name = "Query")
+ protected QueryAbstractType query;
+ @XmlElement(name = "SubjectQuery")
+ protected SubjectQueryAbstractType subjectQuery;
+ @XmlElement(name = "AuthenticationQuery")
+ protected AuthenticationQueryType authenticationQuery;
+ @XmlElement(name = "AttributeQuery")
+ protected AttributeQueryType attributeQuery;
+ @XmlElement(name = "AuthorizationDecisionQuery")
+ protected AuthorizationDecisionQueryType authorizationDecisionQuery;
+ @XmlElement(name = "AssertionIDReference", namespace = "urn:oasis:names:tc:SAML:1.0:assertion")
+ protected List<String> assertionIDReference;
+ @XmlElement(name = "AssertionArtifact")
+ protected List<String> assertionArtifact;
+
+ /**
+ * Gets the value of the query property.
+ *
+ * @return
+ * possible object is
+ * {@link QueryAbstractType }
+ *
+ */
+ public QueryAbstractType getQuery() {
+ return query;
+ }
+
+ /**
+ * Sets the value of the query property.
+ *
+ * @param value
+ * allowed object is
+ * {@link QueryAbstractType }
+ *
+ */
+ public void setQuery(QueryAbstractType value) {
+ this.query = value;
+ }
+
+ /**
+ * Gets the value of the subjectQuery property.
+ *
+ * @return
+ * possible object is
+ * {@link SubjectQueryAbstractType }
+ *
+ */
+ public SubjectQueryAbstractType getSubjectQuery() {
+ return subjectQuery;
+ }
+
+ /**
+ * Sets the value of the subjectQuery property.
+ *
+ * @param value
+ * allowed object is
+ * {@link SubjectQueryAbstractType }
+ *
+ */
+ public void setSubjectQuery(SubjectQueryAbstractType value) {
+ this.subjectQuery = value;
+ }
+
+ /**
+ * Gets the value of the authenticationQuery property.
+ *
+ * @return
+ * possible object is
+ * {@link AuthenticationQueryType }
+ *
+ */
+ public AuthenticationQueryType getAuthenticationQuery() {
+ return authenticationQuery;
+ }
+
+ /**
+ * Sets the value of the authenticationQuery property.
+ *
+ * @param value
+ * allowed object is
+ * {@link AuthenticationQueryType }
+ *
+ */
+ public void setAuthenticationQuery(AuthenticationQueryType value) {
+ this.authenticationQuery = value;
+ }
+
+ /**
+ * Gets the value of the attributeQuery property.
+ *
+ * @return
+ * possible object is
+ * {@link AttributeQueryType }
+ *
+ */
+ public AttributeQueryType getAttributeQuery() {
+ return attributeQuery;
+ }
+
+ /**
+ * Sets the value of the attributeQuery property.
+ *
+ * @param value
+ * allowed object is
+ * {@link AttributeQueryType }
+ *
+ */
+ public void setAttributeQuery(AttributeQueryType value) {
+ this.attributeQuery = value;
+ }
+
+ /**
+ * Gets the value of the authorizationDecisionQuery property.
+ *
+ * @return
+ * possible object is
+ * {@link AuthorizationDecisionQueryType }
+ *
+ */
+ public AuthorizationDecisionQueryType getAuthorizationDecisionQuery() {
+ return authorizationDecisionQuery;
+ }
+
+ /**
+ * Sets the value of the authorizationDecisionQuery property.
+ *
+ * @param value
+ * allowed object is
+ * {@link AuthorizationDecisionQueryType }
+ *
+ */
+ public void setAuthorizationDecisionQuery(AuthorizationDecisionQueryType value) {
+ this.authorizationDecisionQuery = value;
+ }
+
+ /**
+ * Gets the value of the assertionIDReference property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the assertionIDReference property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getAssertionIDReference().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List<String> getAssertionIDReference() {
+ if (assertionIDReference == null) {
+ assertionIDReference = new ArrayList<String>();
+ }
+ return this.assertionIDReference;
+ }
+
+ /**
+ * Gets the value of the assertionArtifact property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the assertionArtifact property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getAssertionArtifact().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link String }
+ *
+ *
+ */
+ public List<String> getAssertionArtifact() {
+ if (assertionArtifact == null) {
+ assertionArtifact = new ArrayList<String>();
+ }
+ return this.assertionArtifact;
+ }
+
+}
diff --git a/src/main/java/at/gv/util/xsd/saml/protocol/ResponseAbstractType.java b/src/main/java/at/gv/util/xsd/saml/protocol/ResponseAbstractType.java
new file mode 100644
index 0000000..6e35e87
--- /dev/null
+++ b/src/main/java/at/gv/util/xsd/saml/protocol/ResponseAbstractType.java
@@ -0,0 +1,236 @@
+
+package at.gv.util.xsd.saml.protocol;
+
+import java.math.BigInteger;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+import at.gv.util.xsd.xmldsig.SignatureType;
+
+
+/**
+ * <p>Java class for ResponseAbstractType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="ResponseAbstractType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}Signature" minOccurs="0"/>
+ * &lt;/sequence>
+ * &lt;attribute name="ResponseID" use="required" type="{urn:oasis:names:tc:SAML:1.0:assertion}IDType" />
+ * &lt;attribute name="InResponseTo" type="{urn:oasis:names:tc:SAML:1.0:assertion}IDReferenceType" />
+ * &lt;attribute name="MajorVersion" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
+ * &lt;attribute name="MinorVersion" use="required" type="{http://www.w3.org/2001/XMLSchema}integer" />
+ * &lt;attribute name="IssueInstant" use="required" type="{http://www.w3.org/2001/XMLSchema}dateTime" />
+ * &lt;attribute name="Recipient" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ResponseAbstractType", propOrder = {
+ "signature"
+})
+@XmlSeeAlso({
+ ResponseType.class
+})
+public abstract class ResponseAbstractType {
+
+ @XmlElement(name = "Signature", namespace = "http://www.w3.org/2000/09/xmldsig#")
+ protected SignatureType signature;
+ @XmlAttribute(name = "ResponseID", required = true)
+ protected String responseID;
+ @XmlAttribute(name = "InResponseTo")
+ protected String inResponseTo;
+ @XmlAttribute(name = "MajorVersion", required = true)
+ protected BigInteger majorVersion;
+ @XmlAttribute(name = "MinorVersion", required = true)
+ protected BigInteger minorVersion;
+ @XmlAttribute(name = "IssueInstant", required = true)
+ @XmlSchemaType(name = "dateTime")
+ protected XMLGregorianCalendar issueInstant;
+ @XmlAttribute(name = "Recipient")
+ @XmlSchemaType(name = "anyURI")
+ protected String recipient;
+
+ /**
+ * Gets the value of the signature property.
+ *
+ * @return
+ * possible object is
+ * {@link SignatureType }
+ *
+ */
+ public SignatureType getSignature() {
+ return signature;
+ }
+
+ /**
+ * Sets the value of the signature property.
+ *
+ * @param value
+ * allowed object is
+ * {@link SignatureType }
+ *
+ */
+ public void setSignature(SignatureType value) {
+ this.signature = value;
+ }
+
+ /**
+ * Gets the value of the responseID property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getResponseID() {
+ return responseID;
+ }
+
+ /**
+ * Sets the value of the responseID property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setResponseID(String value) {
+ this.responseID = value;
+ }
+
+ /**
+ * Gets the value of the inResponseTo property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getInResponseTo() {
+ return inResponseTo;
+ }
+
+ /**
+ * Sets the value of the inResponseTo property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setInResponseTo(String value) {
+ this.inResponseTo = value;
+ }
+
+ /**
+ * Gets the value of the majorVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link BigInteger }
+ *
+ */
+ public BigInteger getMajorVersion() {
+ return majorVersion;
+ }
+
+ /**
+ * Sets the value of the majorVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigInteger }
+ *
+ */
+ public void setMajorVersion(BigInteger value) {
+ this.majorVersion = value;
+ }
+
+ /**
+ * Gets the value of the minorVersion property.
+ *
+ * @return
+ * possible object is
+ * {@link BigInteger }
+ *
+ */
+ public BigInteger getMinorVersion() {
+ return minorVersion;
+ }
+
+ /**
+ * Sets the value of the minorVersion property.
+ *
+ * @param value
+ * allowed object is
+ * {@link BigInteger }
+ *
+ */
+ public void setMinorVersion(BigInteger value) {
+ this.minorVersion = value;
+ }
+
+ /**
+ * Gets the value of the issueInstant property.
+ *
+ * @return
+ * possible object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public XMLGregorianCalendar getIssueInstant() {
+ return issueInstant;
+ }
+
+ /**
+ * Sets the value of the issueInstant property.
+ *
+ * @param value
+ * allowed object is
+ * {@link XMLGregorianCalendar }
+ *
+ */
+ public void setIssueInstant(XMLGregorianCalendar value) {
+ this.issueInstant = value;
+ }
+
+ /**
+ * Gets the value of the recipient property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getRecipient() {
+ return recipient;
+ }
+
+ /**
+ * Sets the value of the recipient property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setRecipient(String value) {
+ this.recipient = value;
+ }
+
+}
diff --git a/src/main/java/at/gv/util/xsd/saml/protocol/ResponseType.java b/src/main/java/at/gv/util/xsd/saml/protocol/ResponseType.java
new file mode 100644
index 0000000..f69b0d5
--- /dev/null
+++ b/src/main/java/at/gv/util/xsd/saml/protocol/ResponseType.java
@@ -0,0 +1,101 @@
+
+package at.gv.util.xsd.saml.protocol;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+import at.gv.util.xsd.saml.assertion.AssertionType;
+
+
+/**
+ * <p>Java class for ResponseType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="ResponseType">
+ * &lt;complexContent>
+ * &lt;extension base="{urn:oasis:names:tc:SAML:1.0:protocol}ResponseAbstractType">
+ * &lt;sequence>
+ * &lt;element ref="{urn:oasis:names:tc:SAML:1.0:protocol}Status"/>
+ * &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}Assertion" maxOccurs="unbounded" minOccurs="0"/>
+ * &lt;/sequence>
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "ResponseType", propOrder = {
+ "status",
+ "assertion"
+})
+public class ResponseType
+ extends ResponseAbstractType
+{
+
+ @XmlElement(name = "Status", required = true)
+ protected StatusType status;
+ @XmlElement(name = "Assertion", namespace = "urn:oasis:names:tc:SAML:1.0:assertion")
+ protected List<AssertionType> assertion;
+
+ /**
+ * Gets the value of the status property.
+ *
+ * @return
+ * possible object is
+ * {@link StatusType }
+ *
+ */
+ public StatusType getStatus() {
+ return status;
+ }
+
+ /**
+ * Sets the value of the status property.
+ *
+ * @param value
+ * allowed object is
+ * {@link StatusType }
+ *
+ */
+ public void setStatus(StatusType value) {
+ this.status = value;
+ }
+
+ /**
+ * Gets the value of the assertion property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the assertion property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getAssertion().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link AssertionType }
+ *
+ *
+ */
+ public List<AssertionType> getAssertion() {
+ if (assertion == null) {
+ assertion = new ArrayList<AssertionType>();
+ }
+ return this.assertion;
+ }
+
+}
diff --git a/src/main/java/at/gv/util/xsd/saml/protocol/StatusCodeType.java b/src/main/java/at/gv/util/xsd/saml/protocol/StatusCodeType.java
new file mode 100644
index 0000000..7ec76d6
--- /dev/null
+++ b/src/main/java/at/gv/util/xsd/saml/protocol/StatusCodeType.java
@@ -0,0 +1,91 @@
+
+package at.gv.util.xsd.saml.protocol;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.namespace.QName;
+
+
+/**
+ * <p>Java class for StatusCodeType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="StatusCodeType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element ref="{urn:oasis:names:tc:SAML:1.0:protocol}StatusCode" minOccurs="0"/>
+ * &lt;/sequence>
+ * &lt;attribute name="Value" use="required" type="{http://www.w3.org/2001/XMLSchema}QName" />
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "StatusCodeType", propOrder = {
+ "statusCode"
+})
+public class StatusCodeType {
+
+ @XmlElement(name = "StatusCode")
+ protected StatusCodeType statusCode;
+ @XmlAttribute(name = "Value", required = true)
+ protected QName value;
+
+ /**
+ * Gets the value of the statusCode property.
+ *
+ * @return
+ * possible object is
+ * {@link StatusCodeType }
+ *
+ */
+ public StatusCodeType getStatusCode() {
+ return statusCode;
+ }
+
+ /**
+ * Sets the value of the statusCode property.
+ *
+ * @param value
+ * allowed object is
+ * {@link StatusCodeType }
+ *
+ */
+ public void setStatusCode(StatusCodeType value) {
+ this.statusCode = value;
+ }
+
+ /**
+ * Gets the value of the value property.
+ *
+ * @return
+ * possible object is
+ * {@link QName }
+ *
+ */
+ public QName getValue() {
+ return value;
+ }
+
+ /**
+ * Sets the value of the value property.
+ *
+ * @param value
+ * allowed object is
+ * {@link QName }
+ *
+ */
+ public void setValue(QName value) {
+ this.value = value;
+ }
+
+}
diff --git a/src/main/java/at/gv/util/xsd/saml/protocol/StatusDetailType.java b/src/main/java/at/gv/util/xsd/saml/protocol/StatusDetailType.java
new file mode 100644
index 0000000..635afd8
--- /dev/null
+++ b/src/main/java/at/gv/util/xsd/saml/protocol/StatusDetailType.java
@@ -0,0 +1,71 @@
+
+package at.gv.util.xsd.saml.protocol;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAnyElement;
+import javax.xml.bind.annotation.XmlType;
+import org.w3c.dom.Element;
+
+
+/**
+ * <p>Java class for StatusDetailType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="StatusDetailType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;any processContents='lax' maxOccurs="unbounded" minOccurs="0"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "StatusDetailType", propOrder = {
+ "any"
+})
+public class StatusDetailType {
+
+ @XmlAnyElement(lax = true)
+ protected List<Object> any;
+
+ /**
+ * Gets the value of the any property.
+ *
+ * <p>
+ * This accessor method returns a reference to the live list,
+ * not a snapshot. Therefore any modification you make to the
+ * returned list will be present inside the JAXB object.
+ * This is why there is not a <CODE>set</CODE> method for the any property.
+ *
+ * <p>
+ * For example, to add a new item, do as follows:
+ * <pre>
+ * getAny().add(newItem);
+ * </pre>
+ *
+ *
+ * <p>
+ * Objects of the following type(s) are allowed in the list
+ * {@link Element }
+ * {@link Object }
+ *
+ *
+ */
+ public List<Object> getAny() {
+ if (any == null) {
+ any = new ArrayList<Object>();
+ }
+ return this.any;
+ }
+
+}
diff --git a/src/main/java/at/gv/util/xsd/saml/protocol/StatusType.java b/src/main/java/at/gv/util/xsd/saml/protocol/StatusType.java
new file mode 100644
index 0000000..efad7bb
--- /dev/null
+++ b/src/main/java/at/gv/util/xsd/saml/protocol/StatusType.java
@@ -0,0 +1,118 @@
+
+package at.gv.util.xsd.saml.protocol;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for StatusType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="StatusType">
+ * &lt;complexContent>
+ * &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ * &lt;sequence>
+ * &lt;element ref="{urn:oasis:names:tc:SAML:1.0:protocol}StatusCode"/>
+ * &lt;element ref="{urn:oasis:names:tc:SAML:1.0:protocol}StatusMessage" minOccurs="0"/>
+ * &lt;element ref="{urn:oasis:names:tc:SAML:1.0:protocol}StatusDetail" minOccurs="0"/>
+ * &lt;/sequence>
+ * &lt;/restriction>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "StatusType", propOrder = {
+ "statusCode",
+ "statusMessage",
+ "statusDetail"
+})
+public class StatusType {
+
+ @XmlElement(name = "StatusCode", required = true)
+ protected StatusCodeType statusCode;
+ @XmlElement(name = "StatusMessage")
+ protected String statusMessage;
+ @XmlElement(name = "StatusDetail")
+ protected StatusDetailType statusDetail;
+
+ /**
+ * Gets the value of the statusCode property.
+ *
+ * @return
+ * possible object is
+ * {@link StatusCodeType }
+ *
+ */
+ public StatusCodeType getStatusCode() {
+ return statusCode;
+ }
+
+ /**
+ * Sets the value of the statusCode property.
+ *
+ * @param value
+ * allowed object is
+ * {@link StatusCodeType }
+ *
+ */
+ public void setStatusCode(StatusCodeType value) {
+ this.statusCode = value;
+ }
+
+ /**
+ * Gets the value of the statusMessage property.
+ *
+ * @return
+ * possible object is
+ * {@link String }
+ *
+ */
+ public String getStatusMessage() {
+ return statusMessage;
+ }
+
+ /**
+ * Sets the value of the statusMessage property.
+ *
+ * @param value
+ * allowed object is
+ * {@link String }
+ *
+ */
+ public void setStatusMessage(String value) {
+ this.statusMessage = value;
+ }
+
+ /**
+ * Gets the value of the statusDetail property.
+ *
+ * @return
+ * possible object is
+ * {@link StatusDetailType }
+ *
+ */
+ public StatusDetailType getStatusDetail() {
+ return statusDetail;
+ }
+
+ /**
+ * Sets the value of the statusDetail property.
+ *
+ * @param value
+ * allowed object is
+ * {@link StatusDetailType }
+ *
+ */
+ public void setStatusDetail(StatusDetailType value) {
+ this.statusDetail = value;
+ }
+
+}
diff --git a/src/main/java/at/gv/util/xsd/saml/protocol/SubjectQueryAbstractType.java b/src/main/java/at/gv/util/xsd/saml/protocol/SubjectQueryAbstractType.java
new file mode 100644
index 0000000..9cb28cb
--- /dev/null
+++ b/src/main/java/at/gv/util/xsd/saml/protocol/SubjectQueryAbstractType.java
@@ -0,0 +1,72 @@
+
+package at.gv.util.xsd.saml.protocol;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.bind.annotation.XmlType;
+
+import at.gv.util.xsd.saml.assertion.SubjectType;
+
+
+/**
+ * <p>Java class for SubjectQueryAbstractType complex type.
+ *
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ *
+ * <pre>
+ * &lt;complexType name="SubjectQueryAbstractType">
+ * &lt;complexContent>
+ * &lt;extension base="{urn:oasis:names:tc:SAML:1.0:protocol}QueryAbstractType">
+ * &lt;sequence>
+ * &lt;element ref="{urn:oasis:names:tc:SAML:1.0:assertion}Subject"/>
+ * &lt;/sequence>
+ * &lt;/extension>
+ * &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ *
+ *
+ */
+@XmlAccessorType(XmlAccessType.FIELD)
+@XmlType(name = "SubjectQueryAbstractType", propOrder = {
+ "subject"
+})
+@XmlSeeAlso({
+ AuthorizationDecisionQueryType.class,
+ AuthenticationQueryType.class,
+ AttributeQueryType.class
+})
+public abstract class SubjectQueryAbstractType
+ extends QueryAbstractType
+{
+
+ @XmlElement(name = "Subject", namespace = "urn:oasis:names:tc:SAML:1.0:assertion", required = true)
+ protected SubjectType subject;
+
+ /**
+ * Gets the value of the subject property.
+ *
+ * @return
+ * possible object is
+ * {@link SubjectType }
+ *
+ */
+ public SubjectType getSubject() {
+ return subject;
+ }
+
+ /**
+ * Sets the value of the subject property.
+ *
+ * @param value
+ * allowed object is
+ * {@link SubjectType }
+ *
+ */
+ public void setSubject(SubjectType value) {
+ this.subject = value;
+ }
+
+}
diff --git a/src/main/java/at/gv/util/xsd/saml/protocol/package-info.java b/src/main/java/at/gv/util/xsd/saml/protocol/package-info.java
new file mode 100644
index 0000000..195a8cf
--- /dev/null
+++ b/src/main/java/at/gv/util/xsd/saml/protocol/package-info.java
@@ -0,0 +1,2 @@
+@javax.xml.bind.annotation.XmlSchema(namespace = "urn:oasis:names:tc:SAML:1.0:protocol", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+package at.gv.util.xsd.saml.protocol;