[jboss-identity-commits] JBoss Identity SVN: r204 - in xmlkey/trunk: assembly and 36 other directories.

jboss-identity-commits at lists.jboss.org jboss-identity-commits at lists.jboss.org
Wed Jan 7 16:08:35 EST 2009


Author: anil.saldhana at jboss.com
Date: 2009-01-07 16:08:34 -0500 (Wed, 07 Jan 2009)
New Revision: 204

Added:
   xmlkey/trunk/assembly/
   xmlkey/trunk/assembly/bin.xml
   xmlkey/trunk/assembly/pom.xml
   xmlkey/trunk/assembly/sources.xml
   xmlkey/trunk/common/
   xmlkey/trunk/common/.classpath
   xmlkey/trunk/common/.project
   xmlkey/trunk/common/pom.xml
   xmlkey/trunk/common/src/
   xmlkey/trunk/common/src/main/
   xmlkey/trunk/common/src/main/java/
   xmlkey/trunk/common/src/main/java/org/
   xmlkey/trunk/common/src/main/java/org/jboss/
   xmlkey/trunk/common/src/main/java/org/jboss/identity/
   xmlkey/trunk/common/src/main/java/org/jboss/identity/xmlkey/
   xmlkey/trunk/common/src/main/java/org/jboss/identity/xmlkey/common/
   xmlkey/trunk/common/src/main/java/org/jboss/identity/xmlkey/common/JBossJAXBUtil.java
   xmlkey/trunk/common/src/main/java/org/jboss/identity/xmlkey/common/SecurityActions.java
   xmlkey/trunk/common/src/main/resources/
   xmlkey/trunk/parent/
   xmlkey/trunk/parent/pom.xml
   xmlkey/trunk/pom.xml
   xmlkey/trunk/skms/
   xmlkey/trunk/skms/.classpath
   xmlkey/trunk/skms/.project
   xmlkey/trunk/skms/pom.xml
   xmlkey/trunk/skms/src/
   xmlkey/trunk/skms/src/main/
   xmlkey/trunk/skms/src/main/java/
   xmlkey/trunk/skms/src/main/resources/
   xmlkey/trunk/skms/src/test/
   xmlkey/trunk/skms/src/test/java/
   xmlkey/trunk/skms/src/test/resources/
   xmlkey/trunk/xkms/
   xmlkey/trunk/xkms/.classpath
   xmlkey/trunk/xkms/.project
   xmlkey/trunk/xkms/pom.xml
   xmlkey/trunk/xkms/src/
   xmlkey/trunk/xkms/src/main/
   xmlkey/trunk/xkms/src/main/java/
   xmlkey/trunk/xkms/src/main/java/org/
   xmlkey/trunk/xkms/src/main/java/org/jboss/
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/AuthenticationType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/CompoundRequestType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/CompoundResultType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/KeyBindingAbstractType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/KeyBindingAuthenticationType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/KeyBindingType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/LocateRequestType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/LocateResultType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/MessageAbstractType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/MessageExtensionAbstractType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/NotBoundAuthenticationType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ObjectFactory.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/OpaqueClientDataType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/PendingNotificationType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/PendingRequestType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/PrivateKeyType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ProofOfPossessionType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/PrototypeKeyBindingType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/QueryKeyBindingType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RSAKeyPairType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RecoverRequestType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RecoverResultType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RegisterRequestType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RegisterResultType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ReissueRequestType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ReissueResultType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RequestAbstractType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ResultType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RevokeRequestType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RevokeResultType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/StatusRequestType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/StatusResultType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/StatusType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/TimeInstantType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/UnverifiedKeyBindingType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/UseKeyWithType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ValidateRequestType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ValidateResultType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ValidityIntervalType.java
   xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/package-info.java
   xmlkey/trunk/xkms/src/main/resources/
   xmlkey/trunk/xkms/src/main/resources/schema/
   xmlkey/trunk/xkms/src/main/resources/schema/v2/
   xmlkey/trunk/xkms/src/main/resources/schema/v2/xenc-schema.xsd
   xmlkey/trunk/xkms/src/main/resources/schema/v2/xkms.xsd
   xmlkey/trunk/xkms/src/main/resources/schema/v2/xmldsig-core-schema.xsd
   xmlkey/trunk/xkms/src/test/
   xmlkey/trunk/xkms/src/test/java/
   xmlkey/trunk/xkms/src/test/java/org/
   xmlkey/trunk/xkms/src/test/java/org/jboss/
   xmlkey/trunk/xkms/src/test/java/org/jboss/test/
   xmlkey/trunk/xkms/src/test/java/org/jboss/test/identity/
   xmlkey/trunk/xkms/src/test/java/org/jboss/test/identity/xkms/
   xmlkey/trunk/xkms/src/test/java/org/jboss/test/identity/xkms/v2/
   xmlkey/trunk/xkms/src/test/java/org/jboss/test/identity/xkms/v2/model/
   xmlkey/trunk/xkms/src/test/java/org/jboss/test/identity/xkms/v2/model/LocateRequestUnitTest.java
   xmlkey/trunk/xkms/src/test/resources/
Log:
xkms 

Added: xmlkey/trunk/assembly/bin.xml
===================================================================
--- xmlkey/trunk/assembly/bin.xml	                        (rev 0)
+++ xmlkey/trunk/assembly/bin.xml	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,20 @@
+<assembly>
+  <formats>
+    <format>jar</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <fileSets>
+    <fileSet>
+      <directory>${basedir}/../common/target/classes</directory>
+      <outputDirectory>/</outputDirectory>
+    </fileSet>
+    <fileSet>
+      <directory>${basedir}/../xkms/target/classes</directory>
+      <outputDirectory>/</outputDirectory>
+    </fileSet>
+    <fileSet>
+      <directory>${basedir}/../skms/target/classes</directory>
+      <outputDirectory>/</outputDirectory>
+    </fileSet>
+  </fileSets>
+</assembly>

Added: xmlkey/trunk/assembly/pom.xml
===================================================================
--- xmlkey/trunk/assembly/pom.xml	                        (rev 0)
+++ xmlkey/trunk/assembly/pom.xml	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,63 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <parent>
+    <groupId>org.jboss.identity</groupId>
+    <artifactId>jboss-xmlkey-parent</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+    <relativePath>../parent</relativePath>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.jboss.identity</groupId>
+  <artifactId>jboss-xmlkey</artifactId>
+  <packaging>pom</packaging>
+  <name>JBoss XMLKey- Assembly</name>
+  <url>http://labs.jboss.org/portal/jbosssecurity/</url>
+  <description>JBoss XMLKey</description>
+  <licenses>
+    <license>
+      <name>lgpl</name>
+      <url>http://repository.jboss.com/licenses/lgpl.txt</url>
+    </license>
+  </licenses>
+  <organization>
+    <name>JBoss Inc.</name>
+    <url>http://www.jboss.org</url>
+  </organization>
+    
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <version>2.1</version>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>attached</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <archive>
+            <manifestEntries>
+              <Specification-Title>JBoss Identity</Specification-Title>
+              <Specification-Version>${project.version}</Specification-Version>
+              <Specification-Vendor>Red Hat Middleware LLC</Specification-Vendor>
+              <Implementation-Title>JBoss Identity</Implementation-Title>
+              <Implementation-Version>${project.version}</Implementation-Version>
+              <Implementation-VendorId>org.jboss.security</Implementation-VendorId>
+              <Implementation-Vendor>Red Hat Middleware LLC</Implementation-Vendor>
+              <Implementation-URL>http://labs.jboss.org/portal/jbosssecurity/</Implementation-URL>
+            </manifestEntries>
+          </archive>
+          <descriptors>
+            <descriptor>bin.xml</descriptor>
+            <descriptor>sources.xml</descriptor>
+          </descriptors>
+        </configuration>
+        <inherited>false</inherited>
+      </plugin>
+    </plugins>
+  </build>
+  
+</project>

Added: xmlkey/trunk/assembly/sources.xml
===================================================================
--- xmlkey/trunk/assembly/sources.xml	                        (rev 0)
+++ xmlkey/trunk/assembly/sources.xml	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,22 @@
+<assembly>
+  <id>sources</id>
+  <formats>
+    <format>jar</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <fileSets>
+    <fileSet>
+      <directory>${basedir}/../common/src/main/java</directory>
+      <outputDirectory>/</outputDirectory>
+    </fileSet>
+    <fileSet>
+      <directory>${basedir}/../xkms/src/main/java</directory>
+      <outputDirectory>/</outputDirectory>
+    </fileSet>
+    <fileSet>
+      <directory>${basedir}/../skms/src/main/java</directory>
+      <outputDirectory>/</outputDirectory>
+    </fileSet>
+  </fileSets>
+
+</assembly>

Added: xmlkey/trunk/common/.classpath
===================================================================
--- xmlkey/trunk/common/.classpath	                        (rev 0)
+++ xmlkey/trunk/common/.classpath	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src/main/resources"/>
+	<classpathentry kind="src" path="src/main/java"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="var" path="M2_REPO/sun-jaxb/jaxb-impl/2.1.9/jaxb-impl-2.1.9.jar"/>
+	<classpathentry kind="var" path="M2_REPO/sun-jaxb/jaxb-api/2.1.9/jaxb-api-2.1.9.jar"/>
+	<classpathentry kind="output" path="target-eclipse"/>
+</classpath>

Added: xmlkey/trunk/common/.project
===================================================================
--- xmlkey/trunk/common/.project	                        (rev 0)
+++ xmlkey/trunk/common/.project	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>common</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>

Added: xmlkey/trunk/common/pom.xml
===================================================================
--- xmlkey/trunk/common/pom.xml	                        (rev 0)
+++ xmlkey/trunk/common/pom.xml	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,86 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+   <parent>
+      <groupId>org.jboss.identity</groupId>
+      <artifactId>jboss-xmlkey-parent</artifactId>
+      <version>1.0.0-SNAPSHOT</version>
+      <relativePath>../parent</relativePath>
+   </parent>
+   <modelVersion>4.0.0</modelVersion>
+   <artifactId>jboss-xmlkey-common</artifactId>
+   <packaging>jar</packaging>
+   <name>JBoss xmlkey-common </name>
+   <url>http://labs.jboss.org/portal/jbosssecurity/</url>
+   <description>JBoss XKMS.</description>
+   <licenses>
+      <license>
+         <name>lgpl</name>
+         <url>http://repository.jboss.com/licenses/lgpl.txt</url>
+      </license>
+   </licenses>
+   <organization>
+      <name>JBoss Inc.</name>
+      <url>http://www.jboss.org</url>
+   </organization>
+   <scm>
+      <connection>scm:svn:http://anonsvn.jboss.org/repos/jbossidentity/xmlkey/trunk</connection>
+      <developerConnection>scm:svn:https://svn.jboss.org/jbossidentity/xmlkey/trunk</developerConnection>
+      <url>http://viewvc.jboss.org/cgi-bin/viewvc.cgi/jbossidentity/xmlkey/trunk</url>
+   </scm>
+   <build>
+     <plugins>
+       <plugin>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>2.4.3</version>
+          <configuration>
+            <printSummary>true</printSummary>
+            <disableXmlReport>false</disableXmlReport>
+            <testFailureIgnore>false</testFailureIgnore>
+            <includes>
+              <include>**/**TestCase.java</include>
+            </includes>
+            <forkMode>pertest</forkMode>
+            <argLine>-Djava.endorsed.dirs=${basedir}/src/test/resources/endorsed</argLine>
+            <useFile>false</useFile>
+            <trimStackTrace>false</trimStackTrace>
+           </configuration>
+        </plugin>
+     </plugins>
+  </build>
+
+   <dependencies>
+      <dependency>
+         <groupId>apache-log4j</groupId>
+         <artifactId>log4j</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>apache-xmlsec</groupId>
+         <artifactId>xmlsec</artifactId>
+      </dependency>
+      <dependency>
+        <groupId>sun-jaxb</groupId>
+        <artifactId>jaxb-api</artifactId>
+      </dependency>
+      <dependency>
+        <groupId>stax</groupId>
+        <artifactId>stax-api</artifactId>
+        <version>1.0</version>
+      </dependency>
+      <dependency>
+        <groupId>sun-jaf</groupId>
+        <artifactId>activation</artifactId>
+        <version>1.1</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>codehaus-stax</groupId>
+        <artifactId>stax</artifactId>
+        <version>1.1.1</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit</artifactId>
+         <scope>test</scope>
+      </dependency>
+   </dependencies>
+</project>

Added: xmlkey/trunk/common/src/main/java/org/jboss/identity/xmlkey/common/JBossJAXBUtil.java
===================================================================
--- xmlkey/trunk/common/src/main/java/org/jboss/identity/xmlkey/common/JBossJAXBUtil.java	                        (rev 0)
+++ xmlkey/trunk/common/src/main/java/org/jboss/identity/xmlkey/common/JBossJAXBUtil.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,95 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors. 
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.identity.xmlkey.common;
+
+import java.net.URL;
+
+import javax.xml.XMLConstants;
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.validation.Schema;
+import javax.xml.validation.SchemaFactory;
+
+/**
+ * Utility for JAXB2
+ * @author Anil.Saldhana at redhat.com
+ * @since Jan 7, 2009
+ */
+public class JBossJAXBUtil
+{
+   /**
+    * Get the JAXB Marshaller
+    * @param pkgName The package name for the jaxb context
+    * @param schemaLocation location of the schema to validate against 
+    * @return Marshaller
+    * @throws Exception
+    */
+   public static Marshaller getValidatingMarshaller(String pkgName, String schemaLocation)
+   throws Exception
+   {
+      if(pkgName == null)
+         throw new IllegalArgumentException("pkgName is null");
+      
+      JAXBContext jc = JAXBContext.newInstance(pkgName);
+      Marshaller marshaller = jc.createMarshaller();
+      marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8");
+      //Validate against schema
+      ClassLoader tcl = SecurityActions.getContextClassLoader();
+      URL schemaURL = tcl.getResource(schemaLocation);
+      if(schemaURL == null)
+         throw new IllegalStateException("Schema URL is null:" + schemaLocation);
+      SchemaFactory scFact = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
+      Schema schema = scFact.newSchema(schemaURL);
+      marshaller.setSchema(schema); 
+ 
+      return marshaller;
+   }
+   
+   /**
+    * Get the JAXB Unmarshaller
+    * @param pkgName The package name for the jaxb context
+    * @param schemaLocation location of the schema to validate against
+    * @param schemaValidating need a validating schema unmarshaller?
+    * @return unmarshaller
+    * @throws Exception
+    */
+   public static Unmarshaller getValidatingUnmarshaller(String pkgName, String schemaLocation)
+   throws Exception
+   {
+      if(pkgName == null)
+         throw new IllegalArgumentException("pkgName is null");
+      
+      JAXBContext jc = JAXBContext.newInstance(pkgName);
+      Unmarshaller unmarshaller = jc.createUnmarshaller(); 
+      //Validate against schema
+      ClassLoader tcl = SecurityActions.getContextClassLoader();
+      URL schemaURL = tcl.getResource(schemaLocation);
+      if(schemaURL == null)
+         throw new IllegalStateException("Schema URL is null:" + schemaLocation);
+      SchemaFactory scFact = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
+      Schema schema = scFact.newSchema(schemaURL);
+      unmarshaller.setSchema(schema); 
+ 
+      return unmarshaller;
+   }
+}
\ No newline at end of file

Added: xmlkey/trunk/common/src/main/java/org/jboss/identity/xmlkey/common/SecurityActions.java
===================================================================
--- xmlkey/trunk/common/src/main/java/org/jboss/identity/xmlkey/common/SecurityActions.java	                        (rev 0)
+++ xmlkey/trunk/common/src/main/java/org/jboss/identity/xmlkey/common/SecurityActions.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,48 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors. 
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.identity.xmlkey.common;
+
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
+/**
+ * Privileged Blocks
+ * @author Anil.Saldhana at redhat.com
+ * @since Dec 9, 2008
+ */
+class SecurityActions
+{
+   /**
+    * Get the Thread Context ClassLoader
+    * @return
+    */
+   static ClassLoader getContextClassLoader()
+   {
+      return AccessController.doPrivileged(new PrivilegedAction<ClassLoader>()
+      {
+         public ClassLoader run()
+         {
+            return Thread.currentThread().getContextClassLoader();
+         }
+      });
+   }
+}

Added: xmlkey/trunk/parent/pom.xml
===================================================================
--- xmlkey/trunk/parent/pom.xml	                        (rev 0)
+++ xmlkey/trunk/parent/pom.xml	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,110 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+   <parent>
+      <groupId>org.jboss</groupId>
+      <artifactId>jboss-parent</artifactId>
+      <version>4</version>
+   </parent>
+   <modelVersion>4.0.0</modelVersion>
+   <groupId>org.jboss.identity</groupId>
+   <artifactId>jboss-xmlkey-parent</artifactId>
+   <packaging>pom</packaging>
+   <version>1.0.0-SNAPSHOT</version>
+   <name>JBoss XMLKey Federation- Parent</name>
+   <url>http://labs.jboss.org/portal/jbosssecurity/</url>
+   <description>JBoss XMLKey is an implementation of XML Based Key Management</description>
+   <licenses>
+      <license>
+         <name>lgpl</name>
+         <url>http://repository.jboss.com/licenses/lgpl.txt</url>
+      </license>
+   </licenses>
+   <organization>
+      <name>JBoss Inc.</name>
+      <url>http://www.jboss.org</url>
+   </organization>
+   <scm>
+      <connection>scm:svn:http://anonsvn.jboss.org/repos/jbossidentity/xmlkey/trunk</connection>
+      <developerConnection>scm:svn:https://svn.jboss.org/repos/jbossidentity/xmlkey/trunk</developerConnection>
+   </scm>
+  
+   <build>
+     <plugins>
+        <plugin>
+          <artifactId>maven-release-plugin</artifactId>
+          <configuration>
+            <tagBase>https://svn.jboss.org/repos/jbossidentity/xmlkey/tags</tagBase>
+          </configuration>
+        </plugin>
+     </plugins>
+     <pluginManagement>
+       <plugins>
+          <plugin>
+             <artifactId>maven-surefire-plugin</artifactId>
+             <configuration>
+               <printSummary>true</printSummary>
+               <disableXmlReport>false</disableXmlReport>
+               <testFailureIgnore>true</testFailureIgnore>
+               <includes>
+                 <include>**/**TestCase.java</include>
+               </includes>
+               <forkMode>pertest</forkMode>
+               <argLine>${surefire.jvm.args}</argLine>
+               <useFile>false</useFile>
+               <trimStackTrace>false</trimStackTrace>
+             </configuration>
+          </plugin>
+       </plugins>
+     </pluginManagement>
+   </build>
+  
+   <repositories>
+    <repository>
+      <id>repository.jboss.org</id>
+      <name>JBoss Repository</name>
+      <layout>default</layout>
+      <url>http://repository.jboss.org/maven2/</url>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+    </repository>
+
+    <repository>
+      <id>snapshots.jboss.org</id>
+      <name>JBoss Snapshots Repository</name>
+      <layout>default</layout>
+      <url>http://snapshots.jboss.org/maven2/</url>
+      <snapshots>
+         <enabled>true</enabled>
+      </snapshots>
+      <releases>
+         <enabled>false</enabled>
+      </releases>
+    </repository>
+  </repositories>
+  
+  <dependencyManagement>
+   <dependencies>
+      <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit</artifactId>
+         <version>4.4</version>
+         <scope>test</scope>
+      </dependency>
+      <dependency>
+         <groupId>apache-log4j</groupId>
+         <artifactId>log4j</artifactId>
+         <version>1.2.14</version>
+      </dependency>
+      <dependency>
+        <groupId>sun-jaxb</groupId>
+        <artifactId>jaxb-api</artifactId>
+        <version>2.1.9</version>
+      </dependency>
+      <dependency>
+        <groupId>apache-xmlsec</groupId>
+        <artifactId>xmlsec</artifactId>
+        <version>1.3.0</version>
+      </dependency>
+   </dependencies>
+  </dependencyManagement>
+</project>

Added: xmlkey/trunk/pom.xml
===================================================================
--- xmlkey/trunk/pom.xml	                        (rev 0)
+++ xmlkey/trunk/pom.xml	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,23 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+   <parent>
+      <groupId>org.jboss.identity</groupId>
+      <artifactId>jboss-xmlkey-parent</artifactId>
+      <version>1.0.0-SNAPSHOT</version>
+      <relativePath>parent</relativePath>
+   </parent>
+   <modelVersion>4.0.0</modelVersion>
+   <groupId>org.jboss.identity</groupId>
+   <artifactId>jboss-xmlkey-pom</artifactId>
+   <packaging>pom</packaging>
+   <name>JBoss XMLKey- Aggregator</name>
+   <url>http://labs.jboss.org/portal/jbosssecurity/</url>
+   <description>JBoss XMLKey is a project for XML Based Key Management</description>
+
+   <modules>
+     <module>parent</module>
+     <module>common</module>
+     <module>xkms</module>
+     <module>skms</module>
+     <module>assembly</module>
+   </modules>
+</project>

Added: xmlkey/trunk/skms/.classpath
===================================================================
--- xmlkey/trunk/skms/.classpath	                        (rev 0)
+++ xmlkey/trunk/skms/.classpath	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src/main/java"/>
+	<classpathentry kind="src" path="src/test/resources"/>
+	<classpathentry kind="src" path="src/test/java"/>
+	<classpathentry kind="src" path="src/main/resources"/>
+	<classpathentry kind="lib" path="target/jboss-skms-1.0.0-SNAPSHOT-sources.jar"/>
+	<classpathentry kind="lib" path="target/jboss-skms-1.0.0-SNAPSHOT.jar"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/common"/>
+	<classpathentry kind="output" path="target-eclipse"/>
+</classpath>

Added: xmlkey/trunk/skms/.project
===================================================================
--- xmlkey/trunk/skms/.project	                        (rev 0)
+++ xmlkey/trunk/skms/.project	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>skms</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>

Added: xmlkey/trunk/skms/pom.xml
===================================================================
--- xmlkey/trunk/skms/pom.xml	                        (rev 0)
+++ xmlkey/trunk/skms/pom.xml	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,91 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+   <parent>
+      <groupId>org.jboss.identity</groupId>
+      <artifactId>jboss-xmlkey-parent</artifactId>
+      <version>1.0.0-SNAPSHOT</version>
+      <relativePath>../parent</relativePath>
+   </parent>
+   <modelVersion>4.0.0</modelVersion>
+   <artifactId>jboss-skms</artifactId>
+   <packaging>jar</packaging>
+   <name>JBoss skms </name>
+   <url>http://labs.jboss.org/portal/jbosssecurity/</url>
+   <description>JBoss SKMS.</description>
+   <licenses>
+      <license>
+         <name>lgpl</name>
+         <url>http://repository.jboss.com/licenses/lgpl.txt</url>
+      </license>
+   </licenses>
+   <organization>
+      <name>JBoss Inc.</name>
+      <url>http://www.jboss.org</url>
+   </organization>
+   <scm>
+      <connection>scm:svn:http://anonsvn.jboss.org/repos/jbossidentity/xmlkey/trunk</connection>
+      <developerConnection>scm:svn:https://svn.jboss.org/jbossidentity/xmlkey/trunk</developerConnection>
+      <url>http://viewvc.jboss.org/cgi-bin/viewvc.cgi/jbossidentity/xmlkey/trunk</url>
+   </scm>
+   <build>
+     <plugins>
+       <plugin>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>2.4.3</version>
+          <configuration>
+            <printSummary>true</printSummary>
+            <disableXmlReport>false</disableXmlReport>
+            <testFailureIgnore>false</testFailureIgnore>
+            <includes>
+              <include>**/**TestCase.java</include>
+            </includes>
+            <forkMode>pertest</forkMode>
+            <argLine>-Djava.endorsed.dirs=${basedir}/src/test/resources/endorsed</argLine>
+            <useFile>false</useFile>
+            <trimStackTrace>false</trimStackTrace>
+           </configuration>
+        </plugin>
+     </plugins>
+  </build>
+
+   <dependencies>
+      <dependency>
+         <groupId>org.jboss.identity</groupId>
+         <artifactId>jboss-identity-xmlsec-model</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>apache-log4j</groupId>
+         <artifactId>log4j</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>apache-xmlsec</groupId>
+         <artifactId>xmlsec</artifactId>
+      </dependency>
+      <dependency>
+        <groupId>sun-jaxb</groupId>
+        <artifactId>jaxb-api</artifactId>
+      </dependency>
+      <dependency>
+        <groupId>stax</groupId>
+        <artifactId>stax-api</artifactId>
+        <version>1.0</version>
+      </dependency>
+      <dependency>
+        <groupId>sun-jaf</groupId>
+        <artifactId>activation</artifactId>
+        <version>1.1</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>codehaus-stax</groupId>
+        <artifactId>stax</artifactId>
+        <version>1.1.1</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit</artifactId>
+         <scope>test</scope>
+      </dependency>
+   </dependencies>
+</project>

Added: xmlkey/trunk/xkms/.classpath
===================================================================
--- xmlkey/trunk/xkms/.classpath	                        (rev 0)
+++ xmlkey/trunk/xkms/.classpath	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src/main/resources"/>
+	<classpathentry kind="src" path="src/test/resources"/>
+	<classpathentry kind="src" path="src/test/java"/>
+	<classpathentry kind="src" path="src/main/java"/>
+	<classpathentry kind="lib" path="target/jboss-xkms-1.0.0-SNAPSHOT-sources.jar"/>
+	<classpathentry kind="lib" path="target/jboss-xkms-1.0.0-SNAPSHOT.jar"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="var" path="M2_REPO/sun-jaxb/jaxb-api/2.1.9/jaxb-api-2.1.9.jar"/>
+	<classpathentry kind="var" path="M2_REPO/sun-jaxb/jaxb-impl/2.1.9/jaxb-impl-2.1.9.jar"/>
+	<classpathentry kind="var" path="M2_REPO/org/jboss/identity/jboss-identity-xmlsec-model/1.0.0-SNAPSHOT/jboss-identity-xmlsec-model-1.0.0-SNAPSHOT.jar"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/common"/>
+	<classpathentry kind="var" path="M2_REPO/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar"/>
+	<classpathentry kind="var" path="M2_REPO/sun-jaf/activation/1.1/activation-1.1.jar"/>
+	<classpathentry kind="output" path="target-eclipse"/>
+</classpath>

Added: xmlkey/trunk/xkms/.project
===================================================================
--- xmlkey/trunk/xkms/.project	                        (rev 0)
+++ xmlkey/trunk/xkms/.project	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>xkms</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>

Added: xmlkey/trunk/xkms/pom.xml
===================================================================
--- xmlkey/trunk/xkms/pom.xml	                        (rev 0)
+++ xmlkey/trunk/xkms/pom.xml	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,96 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+   <parent>
+      <groupId>org.jboss.identity</groupId>
+      <artifactId>jboss-xmlkey-parent</artifactId>
+      <version>1.0.0-SNAPSHOT</version>
+      <relativePath>../parent</relativePath>
+   </parent>
+   <modelVersion>4.0.0</modelVersion>
+   <artifactId>jboss-xkms</artifactId>
+   <packaging>jar</packaging>
+   <name>JBoss xkms </name>
+   <url>http://labs.jboss.org/portal/jbosssecurity/</url>
+   <description>JBoss XKMS.</description>
+   <licenses>
+      <license>
+         <name>lgpl</name>
+         <url>http://repository.jboss.com/licenses/lgpl.txt</url>
+      </license>
+   </licenses>
+   <organization>
+      <name>JBoss Inc.</name>
+      <url>http://www.jboss.org</url>
+   </organization>
+   <scm>
+      <connection>scm:svn:http://anonsvn.jboss.org/repos/jbossidentity/xmlkey/trunk</connection>
+      <developerConnection>scm:svn:https://svn.jboss.org/jbossidentity/xmlkey/trunk</developerConnection>
+      <url>http://viewvc.jboss.org/cgi-bin/viewvc.cgi/jbossidentity/xkms/trunk</url>
+   </scm>
+   <build>
+     <plugins>
+       <plugin>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>2.4.3</version>
+          <configuration>
+            <printSummary>true</printSummary>
+            <disableXmlReport>false</disableXmlReport>
+            <testFailureIgnore>false</testFailureIgnore>
+            <includes>
+              <include>**/**TestCase.java</include>
+            </includes>
+            <forkMode>pertest</forkMode>
+            <argLine>-Djava.endorsed.dirs=${basedir}/src/test/resources/endorsed</argLine>
+            <useFile>false</useFile>
+            <trimStackTrace>false</trimStackTrace>
+           </configuration>
+        </plugin>
+     </plugins>
+  </build>
+
+   <dependencies>
+      <dependency>
+         <groupId>org.jboss.identity</groupId>
+         <artifactId>jboss-identity-xmlsec-model</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.jboss.identity</groupId>
+         <artifactId>jboss-xmlkey-common</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>apache-log4j</groupId>
+         <artifactId>log4j</artifactId>
+      </dependency>
+      <dependency>
+         <groupId>apache-xmlsec</groupId>
+         <artifactId>xmlsec</artifactId>
+      </dependency>
+      <dependency>
+        <groupId>sun-jaxb</groupId>
+        <artifactId>jaxb-api</artifactId>
+      </dependency>
+      <dependency>
+        <groupId>stax</groupId>
+        <artifactId>stax-api</artifactId>
+        <version>1.0</version>
+      </dependency>
+      <dependency>
+        <groupId>sun-jaf</groupId>
+        <artifactId>activation</artifactId>
+        <version>1.1</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+        <groupId>codehaus-stax</groupId>
+        <artifactId>stax</artifactId>
+        <version>1.1.1</version>
+        <scope>test</scope>
+      </dependency>
+      <dependency>
+         <groupId>junit</groupId>
+         <artifactId>junit</artifactId>
+         <scope>test</scope>
+      </dependency>
+   </dependencies>
+</project>

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/AuthenticationType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/AuthenticationType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/AuthenticationType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,97 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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 AuthenticationType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="AuthenticationType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}KeyBindingAuthentication" minOccurs="0"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}NotBoundAuthentication" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "AuthenticationType", propOrder = {
+    "keyBindingAuthentication",
+    "notBoundAuthentication"
+})
+public class AuthenticationType {
+
+    @XmlElement(name = "KeyBindingAuthentication")
+    protected KeyBindingAuthenticationType keyBindingAuthentication;
+    @XmlElement(name = "NotBoundAuthentication")
+    protected NotBoundAuthenticationType notBoundAuthentication;
+
+    /**
+     * Gets the value of the keyBindingAuthentication property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link KeyBindingAuthenticationType }
+     *     
+     */
+    public KeyBindingAuthenticationType getKeyBindingAuthentication() {
+        return keyBindingAuthentication;
+    }
+
+    /**
+     * Sets the value of the keyBindingAuthentication property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link KeyBindingAuthenticationType }
+     *     
+     */
+    public void setKeyBindingAuthentication(KeyBindingAuthenticationType value) {
+        this.keyBindingAuthentication = value;
+    }
+
+    /**
+     * Gets the value of the notBoundAuthentication property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link NotBoundAuthenticationType }
+     *     
+     */
+    public NotBoundAuthenticationType getNotBoundAuthentication() {
+        return notBoundAuthentication;
+    }
+
+    /**
+     * Sets the value of the notBoundAuthentication property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link NotBoundAuthenticationType }
+     *     
+     */
+    public void setNotBoundAuthentication(NotBoundAuthenticationType value) {
+        this.notBoundAuthentication = value;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/CompoundRequestType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/CompoundRequestType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/CompoundRequestType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,96 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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.XmlElements;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for CompoundRequestType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="CompoundRequestType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://www.w3.org/2002/03/xkms#}RequestAbstractType">
+ *       &lt;choice maxOccurs="unbounded">
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}LocateRequest"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}ValidateRequest"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}RegisterRequest"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}ReissueRequest"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}RecoverRequest"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}RevokeRequest"/>
+ *       &lt;/choice>
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "CompoundRequestType", propOrder = {
+    "locateRequestOrValidateRequestOrRegisterRequest"
+})
+public class CompoundRequestType
+    extends RequestAbstractType
+{
+
+    @XmlElements({
+        @XmlElement(name = "RecoverRequest", type = RecoverRequestType.class),
+        @XmlElement(name = "RegisterRequest", type = RegisterRequestType.class),
+        @XmlElement(name = "ValidateRequest", type = ValidateRequestType.class),
+        @XmlElement(name = "LocateRequest", type = LocateRequestType.class),
+        @XmlElement(name = "RevokeRequest", type = RevokeRequestType.class),
+        @XmlElement(name = "ReissueRequest", type = ReissueRequestType.class)
+    })
+    protected List<RequestAbstractType> locateRequestOrValidateRequestOrRegisterRequest;
+
+    /**
+     * Gets the value of the locateRequestOrValidateRequestOrRegisterRequest 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 locateRequestOrValidateRequestOrRegisterRequest property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getLocateRequestOrValidateRequestOrRegisterRequest().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link RecoverRequestType }
+     * {@link RegisterRequestType }
+     * {@link ValidateRequestType }
+     * {@link LocateRequestType }
+     * {@link RevokeRequestType }
+     * {@link ReissueRequestType }
+     * 
+     * 
+     */
+    public List<RequestAbstractType> getLocateRequestOrValidateRequestOrRegisterRequest() {
+        if (locateRequestOrValidateRequestOrRegisterRequest == null) {
+            locateRequestOrValidateRequestOrRegisterRequest = new ArrayList<RequestAbstractType>();
+        }
+        return this.locateRequestOrValidateRequestOrRegisterRequest;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/CompoundResultType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/CompoundResultType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/CompoundResultType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,96 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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.XmlElements;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for CompoundResultType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="CompoundResultType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://www.w3.org/2002/03/xkms#}ResultType">
+ *       &lt;choice maxOccurs="unbounded" minOccurs="0">
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}LocateResult"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}ValidateResult"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}RegisterResult"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}ReissueResult"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}RecoverResult"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}RevokeResult"/>
+ *       &lt;/choice>
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "CompoundResultType", propOrder = {
+    "locateResultOrValidateResultOrRegisterResult"
+})
+public class CompoundResultType
+    extends ResultType
+{
+
+    @XmlElements({
+        @XmlElement(name = "RecoverResult", type = RecoverResultType.class),
+        @XmlElement(name = "LocateResult", type = LocateResultType.class),
+        @XmlElement(name = "RegisterResult", type = RegisterResultType.class),
+        @XmlElement(name = "ReissueResult", type = ReissueResultType.class),
+        @XmlElement(name = "RevokeResult", type = RevokeResultType.class),
+        @XmlElement(name = "ValidateResult", type = ValidateResultType.class)
+    })
+    protected List<ResultType> locateResultOrValidateResultOrRegisterResult;
+
+    /**
+     * Gets the value of the locateResultOrValidateResultOrRegisterResult 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 locateResultOrValidateResultOrRegisterResult property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getLocateResultOrValidateResultOrRegisterResult().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link RecoverResultType }
+     * {@link LocateResultType }
+     * {@link RegisterResultType }
+     * {@link ReissueResultType }
+     * {@link RevokeResultType }
+     * {@link ValidateResultType }
+     * 
+     * 
+     */
+    public List<ResultType> getLocateResultOrValidateResultOrRegisterResult() {
+        if (locateResultOrValidateResultOrRegisterResult == null) {
+            locateResultOrValidateResultOrRegisterResult = new ArrayList<ResultType>();
+        }
+        return this.locateResultOrValidateResultOrRegisterResult;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/KeyBindingAbstractType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/KeyBindingAbstractType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/KeyBindingAbstractType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,181 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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.XmlID;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+import org.jboss.identity.xmlsec.w3.xmldsig.KeyInfoType;
+
+
+/**
+ * <p>Java class for KeyBindingAbstractType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="KeyBindingAbstractType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element ref="{http://www.w3.org/2000/09/xmldsig#}KeyInfo" minOccurs="0"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}KeyUsage" maxOccurs="3" minOccurs="0"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}UseKeyWith" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="Id" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "KeyBindingAbstractType", propOrder = {
+    "keyInfo",
+    "keyUsage",
+    "useKeyWith"
+})
+ at XmlSeeAlso({
+    QueryKeyBindingType.class,
+    PrototypeKeyBindingType.class,
+    UnverifiedKeyBindingType.class
+})
+public abstract class KeyBindingAbstractType {
+
+    @XmlElement(name = "KeyInfo", namespace = "http://www.w3.org/2000/09/xmldsig#")
+    protected KeyInfoType keyInfo;
+    @XmlElement(name = "KeyUsage")
+    protected List<String> keyUsage;
+    @XmlElement(name = "UseKeyWith")
+    protected List<UseKeyWithType> useKeyWith;
+    @XmlAttribute(name = "Id")
+    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+    @XmlID
+    @XmlSchemaType(name = "ID")
+    protected String id;
+
+    /**
+     * Gets the value of the keyInfo property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link KeyInfoType }
+     *     
+     */
+    public KeyInfoType getKeyInfo() {
+        return keyInfo;
+    }
+
+    /**
+     * Sets the value of the keyInfo property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link KeyInfoType }
+     *     
+     */
+    public void setKeyInfo(KeyInfoType value) {
+        this.keyInfo = value;
+    }
+
+    /**
+     * Gets the value of the keyUsage 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 keyUsage property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getKeyUsage().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link String }
+     * 
+     * 
+     */
+    public List<String> getKeyUsage() {
+        if (keyUsage == null) {
+            keyUsage = new ArrayList<String>();
+        }
+        return this.keyUsage;
+    }
+
+    /**
+     * Gets the value of the useKeyWith 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 useKeyWith property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getUseKeyWith().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link UseKeyWithType }
+     * 
+     * 
+     */
+    public List<UseKeyWithType> getUseKeyWith() {
+        if (useKeyWith == null) {
+            useKeyWith = new ArrayList<UseKeyWithType>();
+        }
+        return this.useKeyWith;
+    }
+
+    /**
+     * Gets the value of the id property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * Sets the value of the id property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setId(String value) {
+        this.id = value;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/KeyBindingAuthenticationType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/KeyBindingAuthenticationType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/KeyBindingAuthenticationType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,71 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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 org.jboss.identity.xmlsec.w3.xmldsig.SignatureType;
+
+
+/**
+ * <p>Java class for KeyBindingAuthenticationType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="KeyBindingAuthenticationType">
+ *   &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"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "KeyBindingAuthenticationType", propOrder = {
+    "signature"
+})
+public class KeyBindingAuthenticationType {
+
+    @XmlElement(name = "Signature", namespace = "http://www.w3.org/2000/09/xmldsig#", required = true)
+    protected SignatureType signature;
+
+    /**
+     * 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;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/KeyBindingType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/KeyBindingType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/KeyBindingType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,71 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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 KeyBindingType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="KeyBindingType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://www.w3.org/2002/03/xkms#}UnverifiedKeyBindingType">
+ *       &lt;sequence>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}Status"/>
+ *       &lt;/sequence>
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "KeyBindingType", propOrder = {
+    "status"
+})
+public class KeyBindingType
+    extends UnverifiedKeyBindingType
+{
+
+    @XmlElement(name = "Status", required = true)
+    protected StatusType status;
+
+    /**
+     * 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;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/LocateRequestType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/LocateRequestType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/LocateRequestType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,71 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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 LocateRequestType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="LocateRequestType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://www.w3.org/2002/03/xkms#}RequestAbstractType">
+ *       &lt;sequence>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}QueryKeyBinding"/>
+ *       &lt;/sequence>
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "LocateRequestType", propOrder = {
+    "queryKeyBinding"
+})
+public class LocateRequestType
+    extends RequestAbstractType
+{
+
+    @XmlElement(name = "QueryKeyBinding", required = true)
+    protected QueryKeyBindingType queryKeyBinding;
+
+    /**
+     * Gets the value of the queryKeyBinding property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link QueryKeyBindingType }
+     *     
+     */
+    public QueryKeyBindingType getQueryKeyBinding() {
+        return queryKeyBinding;
+    }
+
+    /**
+     * Sets the value of the queryKeyBinding property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link QueryKeyBindingType }
+     *     
+     */
+    public void setQueryKeyBinding(QueryKeyBindingType value) {
+        this.queryKeyBinding = value;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/LocateResultType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/LocateResultType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/LocateResultType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,78 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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 LocateResultType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="LocateResultType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://www.w3.org/2002/03/xkms#}ResultType">
+ *       &lt;sequence>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}UnverifiedKeyBinding" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "LocateResultType", propOrder = {
+    "unverifiedKeyBinding"
+})
+public class LocateResultType
+    extends ResultType
+{
+
+    @XmlElement(name = "UnverifiedKeyBinding")
+    protected List<UnverifiedKeyBindingType> unverifiedKeyBinding;
+
+    /**
+     * Gets the value of the unverifiedKeyBinding 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 unverifiedKeyBinding property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getUnverifiedKeyBinding().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link UnverifiedKeyBindingType }
+     * 
+     * 
+     */
+    public List<UnverifiedKeyBindingType> getUnverifiedKeyBinding() {
+        if (unverifiedKeyBinding == null) {
+            unverifiedKeyBinding = new ArrayList<UnverifiedKeyBindingType>();
+        }
+        return this.unverifiedKeyBinding;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/MessageAbstractType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/MessageAbstractType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/MessageAbstractType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,227 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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.XmlID;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; 
+
+import org.jboss.identity.xmlsec.w3.xmldsig.SignatureType;
+
+
+/**
+ * <p>Java class for MessageAbstractType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="MessageAbstractType">
+ *   &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;element ref="{http://www.w3.org/2002/03/xkms#}MessageExtension" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}OpaqueClientData" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="Id" use="required" type="{http://www.w3.org/2001/XMLSchema}ID" />
+ *       &lt;attribute name="Service" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ *       &lt;attribute name="Nonce" type="{http://www.w3.org/2001/XMLSchema}base64Binary" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "MessageAbstractType", propOrder = {
+    "signature",
+    "messageExtension",
+    "opaqueClientData"
+})
+ at XmlSeeAlso({
+    ResultType.class,
+    RequestAbstractType.class
+})
+public abstract class MessageAbstractType {
+
+    @XmlElement(name = "Signature", namespace = "http://www.w3.org/2000/09/xmldsig#")
+    protected SignatureType signature;
+    @XmlElement(name = "MessageExtension")
+    protected List<MessageExtensionAbstractType> messageExtension;
+    @XmlElement(name = "OpaqueClientData")
+    protected OpaqueClientDataType opaqueClientData;
+    @XmlAttribute(name = "Id", required = true)
+    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+    @XmlID
+    @XmlSchemaType(name = "ID")
+    protected String id;
+    @XmlAttribute(name = "Service", required = true)
+    @XmlSchemaType(name = "anyURI")
+    protected String service;
+    @XmlAttribute(name = "Nonce")
+    protected byte[] nonce;
+
+    /**
+     * 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 messageExtension 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 messageExtension property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getMessageExtension().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link MessageExtensionAbstractType }
+     * 
+     * 
+     */
+    public List<MessageExtensionAbstractType> getMessageExtension() {
+        if (messageExtension == null) {
+            messageExtension = new ArrayList<MessageExtensionAbstractType>();
+        }
+        return this.messageExtension;
+    }
+
+    /**
+     * Gets the value of the opaqueClientData property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link OpaqueClientDataType }
+     *     
+     */
+    public OpaqueClientDataType getOpaqueClientData() {
+        return opaqueClientData;
+    }
+
+    /**
+     * Sets the value of the opaqueClientData property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link OpaqueClientDataType }
+     *     
+     */
+    public void setOpaqueClientData(OpaqueClientDataType value) {
+        this.opaqueClientData = value;
+    }
+
+    /**
+     * Gets the value of the id property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getId() {
+        return id;
+    }
+
+    /**
+     * Sets the value of the id property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setId(String value) {
+        this.id = value;
+    }
+
+    /**
+     * Gets the value of the service property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getService() {
+        return service;
+    }
+
+    /**
+     * Sets the value of the service property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setService(String value) {
+        this.service = value;
+    }
+
+    /**
+     * Gets the value of the nonce property.
+     * 
+     * @return
+     *     possible object is
+     *     byte[]
+     */
+    public byte[] getNonce() {
+        return nonce;
+    }
+
+    /**
+     * Sets the value of the nonce property.
+     * 
+     * @param value
+     *     allowed object is
+     *     byte[]
+     */
+    public void setNonce(byte[] value) {
+        this.nonce = ((byte[]) value);
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/MessageExtensionAbstractType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/MessageExtensionAbstractType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/MessageExtensionAbstractType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,37 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for MessageExtensionAbstractType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="MessageExtensionAbstractType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "MessageExtensionAbstractType")
+public abstract class MessageExtensionAbstractType {
+
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/NotBoundAuthenticationType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/NotBoundAuthenticationType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/NotBoundAuthenticationType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,92 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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 NotBoundAuthenticationType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="NotBoundAuthenticationType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;attribute name="Protocol" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ *       &lt;attribute name="Value" use="required" type="{http://www.w3.org/2001/XMLSchema}base64Binary" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "NotBoundAuthenticationType")
+public class NotBoundAuthenticationType {
+
+    @XmlAttribute(name = "Protocol", required = true)
+    @XmlSchemaType(name = "anyURI")
+    protected String protocol;
+    @XmlAttribute(name = "Value", required = true)
+    protected byte[] value;
+
+    /**
+     * Gets the value of the protocol property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getProtocol() {
+        return protocol;
+    }
+
+    /**
+     * Sets the value of the protocol property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setProtocol(String value) {
+        this.protocol = value;
+    }
+
+    /**
+     * Gets the value of the value property.
+     * 
+     * @return
+     *     possible object is
+     *     byte[]
+     */
+    public byte[] getValue() {
+        return value;
+    }
+
+    /**
+     * Sets the value of the value property.
+     * 
+     * @param value
+     *     allowed object is
+     *     byte[]
+     */
+    public void setValue(byte[] value) {
+        this.value = ((byte[]) value);
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ObjectFactory.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ObjectFactory.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ObjectFactory.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,875 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.annotation.XmlElementDecl;
+import javax.xml.bind.annotation.XmlRegistry;
+import javax.xml.namespace.QName; 
+
+import org.jboss.identity.xmlsec.w3.xmldsig.SignatureValueType;
+
+/**
+ * This object contains factory methods for each 
+ * Java content interface and Java element interface 
+ * generated in the org.w3._2002._03.xkms_ 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.
+ * 
+ */
+ at XmlRegistry
+public class ObjectFactory {
+
+    private final static QName _ValidReason_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "ValidReason");
+    private final static QName _UseKeyWith_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "UseKeyWith");
+    private final static QName _ReissueRequest_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "ReissueRequest");
+    private final static QName _RegisterRequest_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "RegisterRequest");
+    private final static QName _D_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "D");
+    private final static QName _ResponseMechanism_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "ResponseMechanism");
+    private final static QName _CompoundResult_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "CompoundResult");
+    private final static QName _ValidateResult_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "ValidateResult");
+    private final static QName _KeyUsage_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "KeyUsage");
+    private final static QName _ValidityInterval_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "ValidityInterval");
+    private final static QName _DQ_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "DQ");
+    private final static QName _Authentication_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "Authentication");
+    private final static QName _RevokeKeyBinding_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "RevokeKeyBinding");
+    private final static QName _PrototypeKeyBinding_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "PrototypeKeyBinding");
+    private final static QName _ProofOfPossession_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "ProofOfPossession");
+    private final static QName _ValidateRequest_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "ValidateRequest");
+    private final static QName _DP_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "DP");
+    private final static QName _IndeterminateReason_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "IndeterminateReason");
+    private final static QName _RevokeResult_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "RevokeResult");
+    private final static QName _PrivateKey_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "PrivateKey");
+    private final static QName _OpaqueClientData_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "OpaqueClientData");
+    private final static QName _Exponent_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "Exponent");
+    private final static QName _RegisterResult_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "RegisterResult");
+    private final static QName _MessageExtension_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "MessageExtension");
+    private final static QName _PendingNotification_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "PendingNotification");
+    private final static QName _RevokeRequest_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "RevokeRequest");
+    private final static QName _ReissueKeyBinding_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "ReissueKeyBinding");
+    private final static QName _RSAKeyPair_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "RSAKeyPair");
+    private final static QName _RecoverKeyBinding_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "RecoverKeyBinding");
+    private final static QName _RevocationCode_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "RevocationCode");
+    private final static QName _RespondWith_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "RespondWith");
+    private final static QName _KeyBindingAuthentication_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "KeyBindingAuthentication");
+    private final static QName _LocateRequest_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "LocateRequest");
+    private final static QName _RecoverResult_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "RecoverResult");
+    private final static QName _QueryKeyBinding_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "QueryKeyBinding");
+    private final static QName _CompoundRequest_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "CompoundRequest");
+    private final static QName _LocateResult_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "LocateResult");
+    private final static QName _OpaqueData_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "OpaqueData");
+    private final static QName _PendingRequest_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "PendingRequest");
+    private final static QName _RequestSignatureValue_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "RequestSignatureValue");
+    private final static QName _Q_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "Q");
+    private final static QName _InvalidReason_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "InvalidReason");
+    private final static QName _RevocationCodeIdentifier_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "RevocationCodeIdentifier");
+    private final static QName _UnverifiedKeyBinding_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "UnverifiedKeyBinding");
+    private final static QName _P_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "P");
+    private final static QName _ReissueResult_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "ReissueResult");
+    private final static QName _NotBoundAuthentication_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "NotBoundAuthentication");
+    private final static QName _TimeInstant_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "TimeInstant");
+    private final static QName _StatusRequest_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "StatusRequest");
+    private final static QName _InverseQ_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "InverseQ");
+    private final static QName _Status_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "Status");
+    private final static QName _KeyBinding_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "KeyBinding");
+    private final static QName _RecoverRequest_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "RecoverRequest");
+    private final static QName _Result_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "Result");
+    private final static QName _Modulus_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "Modulus");
+    private final static QName _StatusResult_QNAME = new QName("http://www.w3.org/2002/03/xkms#", "StatusResult");
+
+    /**
+     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: org.w3._2002._03.xkms_
+     * 
+     */
+    public ObjectFactory() {
+    }
+
+    /**
+     * Create an instance of {@link ReissueResultType }
+     * 
+     */
+    public ReissueResultType createReissueResultType() {
+        return new ReissueResultType();
+    }
+
+    /**
+     * Create an instance of {@link CompoundRequestType }
+     * 
+     */
+    public CompoundRequestType createCompoundRequestType() {
+        return new CompoundRequestType();
+    }
+
+    /**
+     * Create an instance of {@link ResultType }
+     * 
+     */
+    public ResultType createResultType() {
+        return new ResultType();
+    }
+
+    /**
+     * Create an instance of {@link RegisterResultType }
+     * 
+     */
+    public RegisterResultType createRegisterResultType() {
+        return new RegisterResultType();
+    }
+
+    /**
+     * Create an instance of {@link RecoverRequestType }
+     * 
+     */
+    public RecoverRequestType createRecoverRequestType() {
+        return new RecoverRequestType();
+    }
+
+    /**
+     * Create an instance of {@link RSAKeyPairType }
+     * 
+     */
+    public RSAKeyPairType createRSAKeyPairType() {
+        return new RSAKeyPairType();
+    }
+
+    /**
+     * Create an instance of {@link OpaqueClientDataType }
+     * 
+     */
+    public OpaqueClientDataType createOpaqueClientDataType() {
+        return new OpaqueClientDataType();
+    }
+
+    /**
+     * Create an instance of {@link RegisterRequestType }
+     * 
+     */
+    public RegisterRequestType createRegisterRequestType() {
+        return new RegisterRequestType();
+    }
+
+    /**
+     * Create an instance of {@link StatusRequestType }
+     * 
+     */
+    public StatusRequestType createStatusRequestType() {
+        return new StatusRequestType();
+    }
+
+    /**
+     * Create an instance of {@link PendingNotificationType }
+     * 
+     */
+    public PendingNotificationType createPendingNotificationType() {
+        return new PendingNotificationType();
+    }
+
+    /**
+     * Create an instance of {@link UnverifiedKeyBindingType }
+     * 
+     */
+    public UnverifiedKeyBindingType createUnverifiedKeyBindingType() {
+        return new UnverifiedKeyBindingType();
+    }
+
+    /**
+     * Create an instance of {@link ValidateRequestType }
+     * 
+     */
+    public ValidateRequestType createValidateRequestType() {
+        return new ValidateRequestType();
+    }
+
+    /**
+     * Create an instance of {@link AuthenticationType }
+     * 
+     */
+    public AuthenticationType createAuthenticationType() {
+        return new AuthenticationType();
+    }
+
+    /**
+     * Create an instance of {@link ProofOfPossessionType }
+     * 
+     */
+    public ProofOfPossessionType createProofOfPossessionType() {
+        return new ProofOfPossessionType();
+    }
+
+    /**
+     * Create an instance of {@link KeyBindingType }
+     * 
+     */
+    public KeyBindingType createKeyBindingType() {
+        return new KeyBindingType();
+    }
+
+    /**
+     * Create an instance of {@link LocateRequestType }
+     * 
+     */
+    public LocateRequestType createLocateRequestType() {
+        return new LocateRequestType();
+    }
+
+    /**
+     * Create an instance of {@link PendingRequestType }
+     * 
+     */
+    public PendingRequestType createPendingRequestType() {
+        return new PendingRequestType();
+    }
+
+    /**
+     * Create an instance of {@link RevokeRequestType }
+     * 
+     */
+    public RevokeRequestType createRevokeRequestType() {
+        return new RevokeRequestType();
+    }
+
+    /**
+     * Create an instance of {@link QueryKeyBindingType }
+     * 
+     */
+    public QueryKeyBindingType createQueryKeyBindingType() {
+        return new QueryKeyBindingType();
+    }
+
+    /**
+     * Create an instance of {@link CompoundResultType }
+     * 
+     */
+    public CompoundResultType createCompoundResultType() {
+        return new CompoundResultType();
+    }
+
+    /**
+     * Create an instance of {@link RevokeResultType }
+     * 
+     */
+    public RevokeResultType createRevokeResultType() {
+        return new RevokeResultType();
+    }
+
+    /**
+     * Create an instance of {@link StatusResultType }
+     * 
+     */
+    public StatusResultType createStatusResultType() {
+        return new StatusResultType();
+    }
+
+    /**
+     * Create an instance of {@link KeyBindingAuthenticationType }
+     * 
+     */
+    public KeyBindingAuthenticationType createKeyBindingAuthenticationType() {
+        return new KeyBindingAuthenticationType();
+    }
+
+    /**
+     * Create an instance of {@link RecoverResultType }
+     * 
+     */
+    public RecoverResultType createRecoverResultType() {
+        return new RecoverResultType();
+    }
+
+    /**
+     * Create an instance of {@link UseKeyWithType }
+     * 
+     */
+    public UseKeyWithType createUseKeyWithType() {
+        return new UseKeyWithType();
+    }
+
+    /**
+     * Create an instance of {@link StatusType }
+     * 
+     */
+    public StatusType createStatusType() {
+        return new StatusType();
+    }
+
+    /**
+     * Create an instance of {@link ValidateResultType }
+     * 
+     */
+    public ValidateResultType createValidateResultType() {
+        return new ValidateResultType();
+    }
+
+    /**
+     * Create an instance of {@link ValidityIntervalType }
+     * 
+     */
+    public ValidityIntervalType createValidityIntervalType() {
+        return new ValidityIntervalType();
+    }
+
+    /**
+     * Create an instance of {@link PrototypeKeyBindingType }
+     * 
+     */
+    public PrototypeKeyBindingType createPrototypeKeyBindingType() {
+        return new PrototypeKeyBindingType();
+    }
+
+    /**
+     * Create an instance of {@link LocateResultType }
+     * 
+     */
+    public LocateResultType createLocateResultType() {
+        return new LocateResultType();
+    }
+
+    /**
+     * Create an instance of {@link ReissueRequestType }
+     * 
+     */
+    public ReissueRequestType createReissueRequestType() {
+        return new ReissueRequestType();
+    }
+
+    /**
+     * Create an instance of {@link NotBoundAuthenticationType }
+     * 
+     */
+    public NotBoundAuthenticationType createNotBoundAuthenticationType() {
+        return new NotBoundAuthenticationType();
+    }
+
+    /**
+     * Create an instance of {@link PrivateKeyType }
+     * 
+     */
+    public PrivateKeyType createPrivateKeyType() {
+        return new PrivateKeyType();
+    }
+
+    /**
+     * Create an instance of {@link TimeInstantType }
+     * 
+     */
+    public TimeInstantType createTimeInstantType() {
+        return new TimeInstantType();
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "ValidReason")
+    public JAXBElement<String> createValidReason(String value) {
+        return new JAXBElement<String>(_ValidReason_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link UseKeyWithType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "UseKeyWith")
+    public JAXBElement<UseKeyWithType> createUseKeyWith(UseKeyWithType value) {
+        return new JAXBElement<UseKeyWithType>(_UseKeyWith_QNAME, UseKeyWithType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link ReissueRequestType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "ReissueRequest")
+    public JAXBElement<ReissueRequestType> createReissueRequest(ReissueRequestType value) {
+        return new JAXBElement<ReissueRequestType>(_ReissueRequest_QNAME, ReissueRequestType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link RegisterRequestType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "RegisterRequest")
+    public JAXBElement<RegisterRequestType> createRegisterRequest(RegisterRequestType value) {
+        return new JAXBElement<RegisterRequestType>(_RegisterRequest_QNAME, RegisterRequestType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "D")
+    public JAXBElement<byte[]> createD(byte[] value) {
+        return new JAXBElement<byte[]>(_D_QNAME, byte[].class, null, ((byte[]) value));
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "ResponseMechanism")
+    public JAXBElement<String> createResponseMechanism(String value) {
+        return new JAXBElement<String>(_ResponseMechanism_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link CompoundResultType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "CompoundResult")
+    public JAXBElement<CompoundResultType> createCompoundResult(CompoundResultType value) {
+        return new JAXBElement<CompoundResultType>(_CompoundResult_QNAME, CompoundResultType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link ValidateResultType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "ValidateResult")
+    public JAXBElement<ValidateResultType> createValidateResult(ValidateResultType value) {
+        return new JAXBElement<ValidateResultType>(_ValidateResult_QNAME, ValidateResultType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "KeyUsage")
+    public JAXBElement<String> createKeyUsage(String value) {
+        return new JAXBElement<String>(_KeyUsage_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link ValidityIntervalType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "ValidityInterval")
+    public JAXBElement<ValidityIntervalType> createValidityInterval(ValidityIntervalType value) {
+        return new JAXBElement<ValidityIntervalType>(_ValidityInterval_QNAME, ValidityIntervalType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "DQ")
+    public JAXBElement<byte[]> createDQ(byte[] value) {
+        return new JAXBElement<byte[]>(_DQ_QNAME, byte[].class, null, ((byte[]) value));
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link AuthenticationType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "Authentication")
+    public JAXBElement<AuthenticationType> createAuthentication(AuthenticationType value) {
+        return new JAXBElement<AuthenticationType>(_Authentication_QNAME, AuthenticationType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link KeyBindingType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "RevokeKeyBinding")
+    public JAXBElement<KeyBindingType> createRevokeKeyBinding(KeyBindingType value) {
+        return new JAXBElement<KeyBindingType>(_RevokeKeyBinding_QNAME, KeyBindingType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link PrototypeKeyBindingType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "PrototypeKeyBinding")
+    public JAXBElement<PrototypeKeyBindingType> createPrototypeKeyBinding(PrototypeKeyBindingType value) {
+        return new JAXBElement<PrototypeKeyBindingType>(_PrototypeKeyBinding_QNAME, PrototypeKeyBindingType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link ProofOfPossessionType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "ProofOfPossession")
+    public JAXBElement<ProofOfPossessionType> createProofOfPossession(ProofOfPossessionType value) {
+        return new JAXBElement<ProofOfPossessionType>(_ProofOfPossession_QNAME, ProofOfPossessionType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link ValidateRequestType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "ValidateRequest")
+    public JAXBElement<ValidateRequestType> createValidateRequest(ValidateRequestType value) {
+        return new JAXBElement<ValidateRequestType>(_ValidateRequest_QNAME, ValidateRequestType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "DP")
+    public JAXBElement<byte[]> createDP(byte[] value) {
+        return new JAXBElement<byte[]>(_DP_QNAME, byte[].class, null, ((byte[]) value));
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "IndeterminateReason")
+    public JAXBElement<String> createIndeterminateReason(String value) {
+        return new JAXBElement<String>(_IndeterminateReason_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link RevokeResultType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "RevokeResult")
+    public JAXBElement<RevokeResultType> createRevokeResult(RevokeResultType value) {
+        return new JAXBElement<RevokeResultType>(_RevokeResult_QNAME, RevokeResultType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link PrivateKeyType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "PrivateKey")
+    public JAXBElement<PrivateKeyType> createPrivateKey(PrivateKeyType value) {
+        return new JAXBElement<PrivateKeyType>(_PrivateKey_QNAME, PrivateKeyType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link OpaqueClientDataType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "OpaqueClientData")
+    public JAXBElement<OpaqueClientDataType> createOpaqueClientData(OpaqueClientDataType value) {
+        return new JAXBElement<OpaqueClientDataType>(_OpaqueClientData_QNAME, OpaqueClientDataType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "Exponent")
+    public JAXBElement<byte[]> createExponent(byte[] value) {
+        return new JAXBElement<byte[]>(_Exponent_QNAME, byte[].class, null, ((byte[]) value));
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link RegisterResultType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "RegisterResult")
+    public JAXBElement<RegisterResultType> createRegisterResult(RegisterResultType value) {
+        return new JAXBElement<RegisterResultType>(_RegisterResult_QNAME, RegisterResultType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link MessageExtensionAbstractType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "MessageExtension")
+    public JAXBElement<MessageExtensionAbstractType> createMessageExtension(MessageExtensionAbstractType value) {
+        return new JAXBElement<MessageExtensionAbstractType>(_MessageExtension_QNAME, MessageExtensionAbstractType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link PendingNotificationType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "PendingNotification")
+    public JAXBElement<PendingNotificationType> createPendingNotification(PendingNotificationType value) {
+        return new JAXBElement<PendingNotificationType>(_PendingNotification_QNAME, PendingNotificationType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link RevokeRequestType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "RevokeRequest")
+    public JAXBElement<RevokeRequestType> createRevokeRequest(RevokeRequestType value) {
+        return new JAXBElement<RevokeRequestType>(_RevokeRequest_QNAME, RevokeRequestType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link KeyBindingType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "ReissueKeyBinding")
+    public JAXBElement<KeyBindingType> createReissueKeyBinding(KeyBindingType value) {
+        return new JAXBElement<KeyBindingType>(_ReissueKeyBinding_QNAME, KeyBindingType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link RSAKeyPairType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "RSAKeyPair")
+    public JAXBElement<RSAKeyPairType> createRSAKeyPair(RSAKeyPairType value) {
+        return new JAXBElement<RSAKeyPairType>(_RSAKeyPair_QNAME, RSAKeyPairType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link KeyBindingType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "RecoverKeyBinding")
+    public JAXBElement<KeyBindingType> createRecoverKeyBinding(KeyBindingType value) {
+        return new JAXBElement<KeyBindingType>(_RecoverKeyBinding_QNAME, KeyBindingType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "RevocationCode")
+    public JAXBElement<byte[]> createRevocationCode(byte[] value) {
+        return new JAXBElement<byte[]>(_RevocationCode_QNAME, byte[].class, null, ((byte[]) value));
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "RespondWith")
+    public JAXBElement<String> createRespondWith(String value) {
+        return new JAXBElement<String>(_RespondWith_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link KeyBindingAuthenticationType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "KeyBindingAuthentication")
+    public JAXBElement<KeyBindingAuthenticationType> createKeyBindingAuthentication(KeyBindingAuthenticationType value) {
+        return new JAXBElement<KeyBindingAuthenticationType>(_KeyBindingAuthentication_QNAME, KeyBindingAuthenticationType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link LocateRequestType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "LocateRequest")
+    public JAXBElement<LocateRequestType> createLocateRequest(LocateRequestType value) {
+        return new JAXBElement<LocateRequestType>(_LocateRequest_QNAME, LocateRequestType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link RecoverResultType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "RecoverResult")
+    public JAXBElement<RecoverResultType> createRecoverResult(RecoverResultType value) {
+        return new JAXBElement<RecoverResultType>(_RecoverResult_QNAME, RecoverResultType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link QueryKeyBindingType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "QueryKeyBinding")
+    public JAXBElement<QueryKeyBindingType> createQueryKeyBinding(QueryKeyBindingType value) {
+        return new JAXBElement<QueryKeyBindingType>(_QueryKeyBinding_QNAME, QueryKeyBindingType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link CompoundRequestType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "CompoundRequest")
+    public JAXBElement<CompoundRequestType> createCompoundRequest(CompoundRequestType value) {
+        return new JAXBElement<CompoundRequestType>(_CompoundRequest_QNAME, CompoundRequestType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link LocateResultType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "LocateResult")
+    public JAXBElement<LocateResultType> createLocateResult(LocateResultType value) {
+        return new JAXBElement<LocateResultType>(_LocateResult_QNAME, LocateResultType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "OpaqueData")
+    public JAXBElement<byte[]> createOpaqueData(byte[] value) {
+        return new JAXBElement<byte[]>(_OpaqueData_QNAME, byte[].class, null, ((byte[]) value));
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link PendingRequestType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "PendingRequest")
+    public JAXBElement<PendingRequestType> createPendingRequest(PendingRequestType value) {
+        return new JAXBElement<PendingRequestType>(_PendingRequest_QNAME, PendingRequestType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link SignatureValueType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "RequestSignatureValue")
+    public JAXBElement<SignatureValueType> createRequestSignatureValue(SignatureValueType value) {
+        return new JAXBElement<SignatureValueType>(_RequestSignatureValue_QNAME, SignatureValueType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "Q")
+    public JAXBElement<byte[]> createQ(byte[] value) {
+        return new JAXBElement<byte[]>(_Q_QNAME, byte[].class, null, ((byte[]) value));
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "InvalidReason")
+    public JAXBElement<String> createInvalidReason(String value) {
+        return new JAXBElement<String>(_InvalidReason_QNAME, String.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "RevocationCodeIdentifier")
+    public JAXBElement<byte[]> createRevocationCodeIdentifier(byte[] value) {
+        return new JAXBElement<byte[]>(_RevocationCodeIdentifier_QNAME, byte[].class, null, ((byte[]) value));
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link UnverifiedKeyBindingType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "UnverifiedKeyBinding")
+    public JAXBElement<UnverifiedKeyBindingType> createUnverifiedKeyBinding(UnverifiedKeyBindingType value) {
+        return new JAXBElement<UnverifiedKeyBindingType>(_UnverifiedKeyBinding_QNAME, UnverifiedKeyBindingType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "P")
+    public JAXBElement<byte[]> createP(byte[] value) {
+        return new JAXBElement<byte[]>(_P_QNAME, byte[].class, null, ((byte[]) value));
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link ReissueResultType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "ReissueResult")
+    public JAXBElement<ReissueResultType> createReissueResult(ReissueResultType value) {
+        return new JAXBElement<ReissueResultType>(_ReissueResult_QNAME, ReissueResultType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link NotBoundAuthenticationType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "NotBoundAuthentication")
+    public JAXBElement<NotBoundAuthenticationType> createNotBoundAuthentication(NotBoundAuthenticationType value) {
+        return new JAXBElement<NotBoundAuthenticationType>(_NotBoundAuthentication_QNAME, NotBoundAuthenticationType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link TimeInstantType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "TimeInstant")
+    public JAXBElement<TimeInstantType> createTimeInstant(TimeInstantType value) {
+        return new JAXBElement<TimeInstantType>(_TimeInstant_QNAME, TimeInstantType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link StatusRequestType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "StatusRequest")
+    public JAXBElement<StatusRequestType> createStatusRequest(StatusRequestType value) {
+        return new JAXBElement<StatusRequestType>(_StatusRequest_QNAME, StatusRequestType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "InverseQ")
+    public JAXBElement<byte[]> createInverseQ(byte[] value) {
+        return new JAXBElement<byte[]>(_InverseQ_QNAME, byte[].class, null, ((byte[]) value));
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link StatusType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", 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 KeyBindingType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "KeyBinding")
+    public JAXBElement<KeyBindingType> createKeyBinding(KeyBindingType value) {
+        return new JAXBElement<KeyBindingType>(_KeyBinding_QNAME, KeyBindingType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link RecoverRequestType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "RecoverRequest")
+    public JAXBElement<RecoverRequestType> createRecoverRequest(RecoverRequestType value) {
+        return new JAXBElement<RecoverRequestType>(_RecoverRequest_QNAME, RecoverRequestType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link ResultType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "Result")
+    public JAXBElement<ResultType> createResult(ResultType value) {
+        return new JAXBElement<ResultType>(_Result_QNAME, ResultType.class, null, value);
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link byte[]}{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "Modulus")
+    public JAXBElement<byte[]> createModulus(byte[] value) {
+        return new JAXBElement<byte[]>(_Modulus_QNAME, byte[].class, null, ((byte[]) value));
+    }
+
+    /**
+     * Create an instance of {@link JAXBElement }{@code <}{@link StatusResultType }{@code >}}
+     * 
+     */
+    @XmlElementDecl(namespace = "http://www.w3.org/2002/03/xkms#", name = "StatusResult")
+    public JAXBElement<StatusResultType> createStatusResult(StatusResultType value) {
+        return new JAXBElement<StatusResultType>(_StatusResult_QNAME, StatusResultType.class, null, value);
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/OpaqueClientDataType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/OpaqueClientDataType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/OpaqueClientDataType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,75 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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 OpaqueClientDataType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="OpaqueClientDataType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence maxOccurs="unbounded">
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}OpaqueData" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "OpaqueClientDataType", propOrder = {
+    "opaqueData"
+})
+public class OpaqueClientDataType {
+
+    @XmlElement(name = "OpaqueData")
+    protected List<byte[]> opaqueData;
+
+    /**
+     * Gets the value of the opaqueData 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 opaqueData property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getOpaqueData().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * byte[]
+     * 
+     */
+    public List<byte[]> getOpaqueData() {
+        if (opaqueData == null) {
+            opaqueData = new ArrayList<byte[]>();
+        }
+        return this.opaqueData;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/PendingNotificationType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/PendingNotificationType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/PendingNotificationType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,95 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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 PendingNotificationType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="PendingNotificationType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;attribute name="Mechanism" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ *       &lt;attribute name="Identifier" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "PendingNotificationType")
+public class PendingNotificationType {
+
+    @XmlAttribute(name = "Mechanism", required = true)
+    @XmlSchemaType(name = "anyURI")
+    protected String mechanism;
+    @XmlAttribute(name = "Identifier", required = true)
+    @XmlSchemaType(name = "anyURI")
+    protected String identifier;
+
+    /**
+     * Gets the value of the mechanism property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getMechanism() {
+        return mechanism;
+    }
+
+    /**
+     * Sets the value of the mechanism property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setMechanism(String value) {
+        this.mechanism = value;
+    }
+
+    /**
+     * Gets the value of the identifier property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getIdentifier() {
+        return identifier;
+    }
+
+    /**
+     * Sets the value of the identifier property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setIdentifier(String value) {
+        this.identifier = value;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/PendingRequestType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/PendingRequestType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/PendingRequestType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,76 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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.XmlSeeAlso;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+
+/**
+ * <p>Java class for PendingRequestType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="PendingRequestType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://www.w3.org/2002/03/xkms#}RequestAbstractType">
+ *       &lt;attribute name="ResponseId" use="required" type="{http://www.w3.org/2001/XMLSchema}NCName" />
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "PendingRequestType")
+ at XmlSeeAlso({
+    StatusRequestType.class
+})
+public class PendingRequestType
+    extends RequestAbstractType
+{
+
+    @XmlAttribute(name = "ResponseId", required = true)
+    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+    @XmlSchemaType(name = "NCName")
+    protected String responseId;
+
+    /**
+     * 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;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/PrivateKeyType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/PrivateKeyType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/PrivateKeyType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,71 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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 org.jboss.identity.xmlsec.w3.xmlenc.EncryptedDataType;
+
+
+/**
+ * <p>Java class for PrivateKeyType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="PrivateKeyType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element ref="{http://www.w3.org/2001/04/xmlenc#}EncryptedData"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "PrivateKeyType", propOrder = {
+    "encryptedData"
+})
+public class PrivateKeyType {
+
+    @XmlElement(name = "EncryptedData", namespace = "http://www.w3.org/2001/04/xmlenc#", required = true)
+    protected EncryptedDataType encryptedData;
+
+    /**
+     * Gets the value of the encryptedData property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link EncryptedDataType }
+     *     
+     */
+    public EncryptedDataType getEncryptedData() {
+        return encryptedData;
+    }
+
+    /**
+     * Sets the value of the encryptedData property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link EncryptedDataType }
+     *     
+     */
+    public void setEncryptedData(EncryptedDataType value) {
+        this.encryptedData = value;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ProofOfPossessionType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ProofOfPossessionType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ProofOfPossessionType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,71 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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 org.jboss.identity.xmlsec.w3.xmldsig.SignatureType;
+
+
+/**
+ * <p>Java class for ProofOfPossessionType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="ProofOfPossessionType">
+ *   &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"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "ProofOfPossessionType", propOrder = {
+    "signature"
+})
+public class ProofOfPossessionType {
+
+    @XmlElement(name = "Signature", namespace = "http://www.w3.org/2000/09/xmldsig#", required = true)
+    protected SignatureType signature;
+
+    /**
+     * 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;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/PrototypeKeyBindingType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/PrototypeKeyBindingType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/PrototypeKeyBindingType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,97 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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 PrototypeKeyBindingType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="PrototypeKeyBindingType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://www.w3.org/2002/03/xkms#}KeyBindingAbstractType">
+ *       &lt;sequence>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}ValidityInterval" minOccurs="0"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}RevocationCodeIdentifier" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "PrototypeKeyBindingType", propOrder = {
+    "validityInterval",
+    "revocationCodeIdentifier"
+})
+public class PrototypeKeyBindingType
+    extends KeyBindingAbstractType
+{
+
+    @XmlElement(name = "ValidityInterval")
+    protected ValidityIntervalType validityInterval;
+    @XmlElement(name = "RevocationCodeIdentifier")
+    protected byte[] revocationCodeIdentifier;
+
+    /**
+     * Gets the value of the validityInterval property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link ValidityIntervalType }
+     *     
+     */
+    public ValidityIntervalType getValidityInterval() {
+        return validityInterval;
+    }
+
+    /**
+     * Sets the value of the validityInterval property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link ValidityIntervalType }
+     *     
+     */
+    public void setValidityInterval(ValidityIntervalType value) {
+        this.validityInterval = value;
+    }
+
+    /**
+     * Gets the value of the revocationCodeIdentifier property.
+     * 
+     * @return
+     *     possible object is
+     *     byte[]
+     */
+    public byte[] getRevocationCodeIdentifier() {
+        return revocationCodeIdentifier;
+    }
+
+    /**
+     * Sets the value of the revocationCodeIdentifier property.
+     * 
+     * @param value
+     *     allowed object is
+     *     byte[]
+     */
+    public void setRevocationCodeIdentifier(byte[] value) {
+        this.revocationCodeIdentifier = ((byte[]) value);
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/QueryKeyBindingType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/QueryKeyBindingType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/QueryKeyBindingType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,71 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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 QueryKeyBindingType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="QueryKeyBindingType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://www.w3.org/2002/03/xkms#}KeyBindingAbstractType">
+ *       &lt;sequence>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}TimeInstant" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "QueryKeyBindingType", propOrder = {
+    "timeInstant"
+})
+public class QueryKeyBindingType
+    extends KeyBindingAbstractType
+{
+
+    @XmlElement(name = "TimeInstant")
+    protected TimeInstantType timeInstant;
+
+    /**
+     * Gets the value of the timeInstant property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link TimeInstantType }
+     *     
+     */
+    public TimeInstantType getTimeInstant() {
+        return timeInstant;
+    }
+
+    /**
+     * Sets the value of the timeInstant property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link TimeInstantType }
+     *     
+     */
+    public void setTimeInstant(TimeInstantType value) {
+        this.timeInstant = value;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RSAKeyPairType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RSAKeyPairType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RSAKeyPairType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,249 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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 RSAKeyPairType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="RSAKeyPairType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}Modulus"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}Exponent"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}P"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}Q"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}DP"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}DQ"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}InverseQ"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}D"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "RSAKeyPairType", propOrder = {
+    "modulus",
+    "exponent",
+    "p",
+    "q",
+    "dp",
+    "dq",
+    "inverseQ",
+    "d"
+})
+public class RSAKeyPairType {
+
+    @XmlElement(name = "Modulus", required = true)
+    protected byte[] modulus;
+    @XmlElement(name = "Exponent", required = true)
+    protected byte[] exponent;
+    @XmlElement(name = "P", required = true)
+    protected byte[] p;
+    @XmlElement(name = "Q", required = true)
+    protected byte[] q;
+    @XmlElement(name = "DP", required = true)
+    protected byte[] dp;
+    @XmlElement(name = "DQ", required = true)
+    protected byte[] dq;
+    @XmlElement(name = "InverseQ", required = true)
+    protected byte[] inverseQ;
+    @XmlElement(name = "D", required = true)
+    protected byte[] d;
+
+    /**
+     * Gets the value of the modulus property.
+     * 
+     * @return
+     *     possible object is
+     *     byte[]
+     */
+    public byte[] getModulus() {
+        return modulus;
+    }
+
+    /**
+     * Sets the value of the modulus property.
+     * 
+     * @param value
+     *     allowed object is
+     *     byte[]
+     */
+    public void setModulus(byte[] value) {
+        this.modulus = ((byte[]) value);
+    }
+
+    /**
+     * Gets the value of the exponent property.
+     * 
+     * @return
+     *     possible object is
+     *     byte[]
+     */
+    public byte[] getExponent() {
+        return exponent;
+    }
+
+    /**
+     * Sets the value of the exponent property.
+     * 
+     * @param value
+     *     allowed object is
+     *     byte[]
+     */
+    public void setExponent(byte[] value) {
+        this.exponent = ((byte[]) value);
+    }
+
+    /**
+     * Gets the value of the p property.
+     * 
+     * @return
+     *     possible object is
+     *     byte[]
+     */
+    public byte[] getP() {
+        return p;
+    }
+
+    /**
+     * Sets the value of the p property.
+     * 
+     * @param value
+     *     allowed object is
+     *     byte[]
+     */
+    public void setP(byte[] value) {
+        this.p = ((byte[]) value);
+    }
+
+    /**
+     * Gets the value of the q property.
+     * 
+     * @return
+     *     possible object is
+     *     byte[]
+     */
+    public byte[] getQ() {
+        return q;
+    }
+
+    /**
+     * Sets the value of the q property.
+     * 
+     * @param value
+     *     allowed object is
+     *     byte[]
+     */
+    public void setQ(byte[] value) {
+        this.q = ((byte[]) value);
+    }
+
+    /**
+     * Gets the value of the dp property.
+     * 
+     * @return
+     *     possible object is
+     *     byte[]
+     */
+    public byte[] getDP() {
+        return dp;
+    }
+
+    /**
+     * Sets the value of the dp property.
+     * 
+     * @param value
+     *     allowed object is
+     *     byte[]
+     */
+    public void setDP(byte[] value) {
+        this.dp = ((byte[]) value);
+    }
+
+    /**
+     * Gets the value of the dq property.
+     * 
+     * @return
+     *     possible object is
+     *     byte[]
+     */
+    public byte[] getDQ() {
+        return dq;
+    }
+
+    /**
+     * Sets the value of the dq property.
+     * 
+     * @param value
+     *     allowed object is
+     *     byte[]
+     */
+    public void setDQ(byte[] value) {
+        this.dq = ((byte[]) value);
+    }
+
+    /**
+     * Gets the value of the inverseQ property.
+     * 
+     * @return
+     *     possible object is
+     *     byte[]
+     */
+    public byte[] getInverseQ() {
+        return inverseQ;
+    }
+
+    /**
+     * Sets the value of the inverseQ property.
+     * 
+     * @param value
+     *     allowed object is
+     *     byte[]
+     */
+    public void setInverseQ(byte[] value) {
+        this.inverseQ = ((byte[]) value);
+    }
+
+    /**
+     * Gets the value of the d property.
+     * 
+     * @return
+     *     possible object is
+     *     byte[]
+     */
+    public byte[] getD() {
+        return d;
+    }
+
+    /**
+     * Sets the value of the d property.
+     * 
+     * @param value
+     *     allowed object is
+     *     byte[]
+     */
+    public void setD(byte[] value) {
+        this.d = ((byte[]) value);
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RecoverRequestType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RecoverRequestType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RecoverRequestType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,99 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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 RecoverRequestType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="RecoverRequestType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://www.w3.org/2002/03/xkms#}RequestAbstractType">
+ *       &lt;sequence>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}RecoverKeyBinding"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}Authentication"/>
+ *       &lt;/sequence>
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "RecoverRequestType", propOrder = {
+    "recoverKeyBinding",
+    "authentication"
+})
+public class RecoverRequestType
+    extends RequestAbstractType
+{
+
+    @XmlElement(name = "RecoverKeyBinding", required = true)
+    protected KeyBindingType recoverKeyBinding;
+    @XmlElement(name = "Authentication", required = true)
+    protected AuthenticationType authentication;
+
+    /**
+     * Gets the value of the recoverKeyBinding property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link KeyBindingType }
+     *     
+     */
+    public KeyBindingType getRecoverKeyBinding() {
+        return recoverKeyBinding;
+    }
+
+    /**
+     * Sets the value of the recoverKeyBinding property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link KeyBindingType }
+     *     
+     */
+    public void setRecoverKeyBinding(KeyBindingType value) {
+        this.recoverKeyBinding = value;
+    }
+
+    /**
+     * Gets the value of the authentication property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link AuthenticationType }
+     *     
+     */
+    public AuthenticationType getAuthentication() {
+        return authentication;
+    }
+
+    /**
+     * Sets the value of the authentication property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link AuthenticationType }
+     *     
+     */
+    public void setAuthentication(AuthenticationType value) {
+        this.authentication = value;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RecoverResultType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RecoverResultType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RecoverResultType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,106 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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 RecoverResultType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="RecoverResultType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://www.w3.org/2002/03/xkms#}ResultType">
+ *       &lt;sequence>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}KeyBinding" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}PrivateKey" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "RecoverResultType", propOrder = {
+    "keyBinding",
+    "privateKey"
+})
+public class RecoverResultType
+    extends ResultType
+{
+
+    @XmlElement(name = "KeyBinding")
+    protected List<KeyBindingType> keyBinding;
+    @XmlElement(name = "PrivateKey")
+    protected PrivateKeyType privateKey;
+
+    /**
+     * Gets the value of the keyBinding 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 keyBinding property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getKeyBinding().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link KeyBindingType }
+     * 
+     * 
+     */
+    public List<KeyBindingType> getKeyBinding() {
+        if (keyBinding == null) {
+            keyBinding = new ArrayList<KeyBindingType>();
+        }
+        return this.keyBinding;
+    }
+
+    /**
+     * Gets the value of the privateKey property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link PrivateKeyType }
+     *     
+     */
+    public PrivateKeyType getPrivateKey() {
+        return privateKey;
+    }
+
+    /**
+     * Sets the value of the privateKey property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link PrivateKeyType }
+     *     
+     */
+    public void setPrivateKey(PrivateKeyType value) {
+        this.privateKey = value;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RegisterRequestType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RegisterRequestType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RegisterRequestType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,127 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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 RegisterRequestType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="RegisterRequestType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://www.w3.org/2002/03/xkms#}RequestAbstractType">
+ *       &lt;sequence>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}PrototypeKeyBinding"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}Authentication"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}ProofOfPossession" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "RegisterRequestType", propOrder = {
+    "prototypeKeyBinding",
+    "authentication",
+    "proofOfPossession"
+})
+public class RegisterRequestType
+    extends RequestAbstractType
+{
+
+    @XmlElement(name = "PrototypeKeyBinding", required = true)
+    protected PrototypeKeyBindingType prototypeKeyBinding;
+    @XmlElement(name = "Authentication", required = true)
+    protected AuthenticationType authentication;
+    @XmlElement(name = "ProofOfPossession")
+    protected ProofOfPossessionType proofOfPossession;
+
+    /**
+     * Gets the value of the prototypeKeyBinding property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link PrototypeKeyBindingType }
+     *     
+     */
+    public PrototypeKeyBindingType getPrototypeKeyBinding() {
+        return prototypeKeyBinding;
+    }
+
+    /**
+     * Sets the value of the prototypeKeyBinding property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link PrototypeKeyBindingType }
+     *     
+     */
+    public void setPrototypeKeyBinding(PrototypeKeyBindingType value) {
+        this.prototypeKeyBinding = value;
+    }
+
+    /**
+     * Gets the value of the authentication property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link AuthenticationType }
+     *     
+     */
+    public AuthenticationType getAuthentication() {
+        return authentication;
+    }
+
+    /**
+     * Sets the value of the authentication property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link AuthenticationType }
+     *     
+     */
+    public void setAuthentication(AuthenticationType value) {
+        this.authentication = value;
+    }
+
+    /**
+     * Gets the value of the proofOfPossession property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link ProofOfPossessionType }
+     *     
+     */
+    public ProofOfPossessionType getProofOfPossession() {
+        return proofOfPossession;
+    }
+
+    /**
+     * Sets the value of the proofOfPossession property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link ProofOfPossessionType }
+     *     
+     */
+    public void setProofOfPossession(ProofOfPossessionType value) {
+        this.proofOfPossession = value;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RegisterResultType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RegisterResultType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RegisterResultType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,106 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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 RegisterResultType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="RegisterResultType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://www.w3.org/2002/03/xkms#}ResultType">
+ *       &lt;sequence>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}KeyBinding" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}PrivateKey" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "RegisterResultType", propOrder = {
+    "keyBinding",
+    "privateKey"
+})
+public class RegisterResultType
+    extends ResultType
+{
+
+    @XmlElement(name = "KeyBinding")
+    protected List<KeyBindingType> keyBinding;
+    @XmlElement(name = "PrivateKey")
+    protected PrivateKeyType privateKey;
+
+    /**
+     * Gets the value of the keyBinding 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 keyBinding property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getKeyBinding().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link KeyBindingType }
+     * 
+     * 
+     */
+    public List<KeyBindingType> getKeyBinding() {
+        if (keyBinding == null) {
+            keyBinding = new ArrayList<KeyBindingType>();
+        }
+        return this.keyBinding;
+    }
+
+    /**
+     * Gets the value of the privateKey property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link PrivateKeyType }
+     *     
+     */
+    public PrivateKeyType getPrivateKey() {
+        return privateKey;
+    }
+
+    /**
+     * Sets the value of the privateKey property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link PrivateKeyType }
+     *     
+     */
+    public void setPrivateKey(PrivateKeyType value) {
+        this.privateKey = value;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ReissueRequestType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ReissueRequestType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ReissueRequestType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,127 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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 ReissueRequestType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="ReissueRequestType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://www.w3.org/2002/03/xkms#}RequestAbstractType">
+ *       &lt;sequence>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}ReissueKeyBinding"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}Authentication"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}ProofOfPossession" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "ReissueRequestType", propOrder = {
+    "reissueKeyBinding",
+    "authentication",
+    "proofOfPossession"
+})
+public class ReissueRequestType
+    extends RequestAbstractType
+{
+
+    @XmlElement(name = "ReissueKeyBinding", required = true)
+    protected KeyBindingType reissueKeyBinding;
+    @XmlElement(name = "Authentication", required = true)
+    protected AuthenticationType authentication;
+    @XmlElement(name = "ProofOfPossession")
+    protected ProofOfPossessionType proofOfPossession;
+
+    /**
+     * Gets the value of the reissueKeyBinding property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link KeyBindingType }
+     *     
+     */
+    public KeyBindingType getReissueKeyBinding() {
+        return reissueKeyBinding;
+    }
+
+    /**
+     * Sets the value of the reissueKeyBinding property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link KeyBindingType }
+     *     
+     */
+    public void setReissueKeyBinding(KeyBindingType value) {
+        this.reissueKeyBinding = value;
+    }
+
+    /**
+     * Gets the value of the authentication property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link AuthenticationType }
+     *     
+     */
+    public AuthenticationType getAuthentication() {
+        return authentication;
+    }
+
+    /**
+     * Sets the value of the authentication property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link AuthenticationType }
+     *     
+     */
+    public void setAuthentication(AuthenticationType value) {
+        this.authentication = value;
+    }
+
+    /**
+     * Gets the value of the proofOfPossession property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link ProofOfPossessionType }
+     *     
+     */
+    public ProofOfPossessionType getProofOfPossession() {
+        return proofOfPossession;
+    }
+
+    /**
+     * Sets the value of the proofOfPossession property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link ProofOfPossessionType }
+     *     
+     */
+    public void setProofOfPossession(ProofOfPossessionType value) {
+        this.proofOfPossession = value;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ReissueResultType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ReissueResultType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ReissueResultType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,78 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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 ReissueResultType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="ReissueResultType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://www.w3.org/2002/03/xkms#}ResultType">
+ *       &lt;sequence>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}KeyBinding" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "ReissueResultType", propOrder = {
+    "keyBinding"
+})
+public class ReissueResultType
+    extends ResultType
+{
+
+    @XmlElement(name = "KeyBinding")
+    protected List<KeyBindingType> keyBinding;
+
+    /**
+     * Gets the value of the keyBinding 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 keyBinding property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getKeyBinding().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link KeyBindingType }
+     * 
+     * 
+     */
+    public List<KeyBindingType> getKeyBinding() {
+        if (keyBinding == null) {
+            keyBinding = new ArrayList<KeyBindingType>();
+        }
+        return this.keyBinding;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RequestAbstractType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RequestAbstractType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RequestAbstractType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,211 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+
+
+/**
+ * <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;extension base="{http://www.w3.org/2002/03/xkms#}MessageAbstractType">
+ *       &lt;sequence>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}ResponseMechanism" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}RespondWith" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}PendingNotification" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="OriginalRequestId" type="{http://www.w3.org/2001/XMLSchema}NCName" />
+ *       &lt;attribute name="ResponseLimit" type="{http://www.w3.org/2001/XMLSchema}integer" />
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "RequestAbstractType", propOrder = {
+    "responseMechanism",
+    "respondWith",
+    "pendingNotification"
+})
+ at XmlSeeAlso({
+    ReissueRequestType.class,
+    LocateRequestType.class,
+    RevokeRequestType.class,
+    RecoverRequestType.class,
+    CompoundRequestType.class,
+    ValidateRequestType.class,
+    PendingRequestType.class,
+    RegisterRequestType.class
+})
+public abstract class RequestAbstractType
+    extends MessageAbstractType
+{
+
+    @XmlElement(name = "ResponseMechanism")
+    protected List<String> responseMechanism;
+    @XmlElement(name = "RespondWith")
+    protected List<String> respondWith;
+    @XmlElement(name = "PendingNotification")
+    protected PendingNotificationType pendingNotification;
+    @XmlAttribute(name = "OriginalRequestId")
+    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+    @XmlSchemaType(name = "NCName")
+    protected String originalRequestId;
+    @XmlAttribute(name = "ResponseLimit")
+    protected BigInteger responseLimit;
+
+    /**
+     * Gets the value of the responseMechanism 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 responseMechanism property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getResponseMechanism().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link String }
+     * 
+     * 
+     */
+    public List<String> getResponseMechanism() {
+        if (responseMechanism == null) {
+            responseMechanism = new ArrayList<String>();
+        }
+        return this.responseMechanism;
+    }
+
+    /**
+     * 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 String }
+     * 
+     * 
+     */
+    public List<String> getRespondWith() {
+        if (respondWith == null) {
+            respondWith = new ArrayList<String>();
+        }
+        return this.respondWith;
+    }
+
+    /**
+     * Gets the value of the pendingNotification property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link PendingNotificationType }
+     *     
+     */
+    public PendingNotificationType getPendingNotification() {
+        return pendingNotification;
+    }
+
+    /**
+     * Sets the value of the pendingNotification property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link PendingNotificationType }
+     *     
+     */
+    public void setPendingNotification(PendingNotificationType value) {
+        this.pendingNotification = value;
+    }
+
+    /**
+     * Gets the value of the originalRequestId property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getOriginalRequestId() {
+        return originalRequestId;
+    }
+
+    /**
+     * Sets the value of the originalRequestId property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setOriginalRequestId(String value) {
+        this.originalRequestId = value;
+    }
+
+    /**
+     * Gets the value of the responseLimit property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link BigInteger }
+     *     
+     */
+    public BigInteger getResponseLimit() {
+        return responseLimit;
+    }
+
+    /**
+     * Sets the value of the responseLimit property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link BigInteger }
+     *     
+     */
+    public void setResponseLimit(BigInteger value) {
+        this.responseLimit = value;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ResultType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ResultType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ResultType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,171 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; 
+
+import org.jboss.identity.xmlsec.w3.xmldsig.SignatureValueType;
+
+
+/**
+ * <p>Java class for ResultType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="ResultType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://www.w3.org/2002/03/xkms#}MessageAbstractType">
+ *       &lt;sequence>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}RequestSignatureValue" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="ResultMajor" use="required" type="{http://www.w3.org/2002/03/xkms#}ResultMajorOpenEnum" />
+ *       &lt;attribute name="ResultMinor" type="{http://www.w3.org/2002/03/xkms#}ResultMinorOpenEnum" />
+ *       &lt;attribute name="RequestId" type="{http://www.w3.org/2001/XMLSchema}NCName" />
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "ResultType", propOrder = {
+    "requestSignatureValue"
+})
+ at XmlSeeAlso({
+    ReissueResultType.class,
+    StatusResultType.class,
+    RevokeResultType.class,
+    CompoundResultType.class,
+    ValidateResultType.class,
+    RecoverResultType.class,
+    RegisterResultType.class,
+    LocateResultType.class
+})
+public class ResultType
+    extends MessageAbstractType
+{
+
+    @XmlElement(name = "RequestSignatureValue")
+    protected SignatureValueType requestSignatureValue;
+    @XmlAttribute(name = "ResultMajor", required = true)
+    protected String resultMajor;
+    @XmlAttribute(name = "ResultMinor")
+    protected String resultMinor;
+    @XmlAttribute(name = "RequestId")
+    @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+    @XmlSchemaType(name = "NCName")
+    protected String requestId;
+
+    /**
+     * Gets the value of the requestSignatureValue property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link SignatureValueType }
+     *     
+     */
+    public SignatureValueType getRequestSignatureValue() {
+        return requestSignatureValue;
+    }
+
+    /**
+     * Sets the value of the requestSignatureValue property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link SignatureValueType }
+     *     
+     */
+    public void setRequestSignatureValue(SignatureValueType value) {
+        this.requestSignatureValue = value;
+    }
+
+    /**
+     * Gets the value of the resultMajor property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getResultMajor() {
+        return resultMajor;
+    }
+
+    /**
+     * Sets the value of the resultMajor property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setResultMajor(String value) {
+        this.resultMajor = value;
+    }
+
+    /**
+     * Gets the value of the resultMinor property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getResultMinor() {
+        return resultMinor;
+    }
+
+    /**
+     * Sets the value of the resultMinor property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setResultMinor(String value) {
+        this.resultMinor = 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;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RevokeRequestType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RevokeRequestType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RevokeRequestType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,127 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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 RevokeRequestType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="RevokeRequestType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://www.w3.org/2002/03/xkms#}RequestAbstractType">
+ *       &lt;sequence>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}RevokeKeyBinding"/>
+ *         &lt;choice>
+ *           &lt;element ref="{http://www.w3.org/2002/03/xkms#}Authentication"/>
+ *           &lt;element ref="{http://www.w3.org/2002/03/xkms#}RevocationCode"/>
+ *         &lt;/choice>
+ *       &lt;/sequence>
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "RevokeRequestType", propOrder = {
+    "revokeKeyBinding",
+    "authentication",
+    "revocationCode"
+})
+public class RevokeRequestType
+    extends RequestAbstractType
+{
+
+    @XmlElement(name = "RevokeKeyBinding", required = true)
+    protected KeyBindingType revokeKeyBinding;
+    @XmlElement(name = "Authentication")
+    protected AuthenticationType authentication;
+    @XmlElement(name = "RevocationCode")
+    protected byte[] revocationCode;
+
+    /**
+     * Gets the value of the revokeKeyBinding property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link KeyBindingType }
+     *     
+     */
+    public KeyBindingType getRevokeKeyBinding() {
+        return revokeKeyBinding;
+    }
+
+    /**
+     * Sets the value of the revokeKeyBinding property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link KeyBindingType }
+     *     
+     */
+    public void setRevokeKeyBinding(KeyBindingType value) {
+        this.revokeKeyBinding = value;
+    }
+
+    /**
+     * Gets the value of the authentication property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link AuthenticationType }
+     *     
+     */
+    public AuthenticationType getAuthentication() {
+        return authentication;
+    }
+
+    /**
+     * Sets the value of the authentication property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link AuthenticationType }
+     *     
+     */
+    public void setAuthentication(AuthenticationType value) {
+        this.authentication = value;
+    }
+
+    /**
+     * Gets the value of the revocationCode property.
+     * 
+     * @return
+     *     possible object is
+     *     byte[]
+     */
+    public byte[] getRevocationCode() {
+        return revocationCode;
+    }
+
+    /**
+     * Sets the value of the revocationCode property.
+     * 
+     * @param value
+     *     allowed object is
+     *     byte[]
+     */
+    public void setRevocationCode(byte[] value) {
+        this.revocationCode = ((byte[]) value);
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RevokeResultType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RevokeResultType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/RevokeResultType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,78 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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 RevokeResultType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="RevokeResultType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://www.w3.org/2002/03/xkms#}ResultType">
+ *       &lt;sequence>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}KeyBinding" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "RevokeResultType", propOrder = {
+    "keyBinding"
+})
+public class RevokeResultType
+    extends ResultType
+{
+
+    @XmlElement(name = "KeyBinding")
+    protected List<KeyBindingType> keyBinding;
+
+    /**
+     * Gets the value of the keyBinding 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 keyBinding property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getKeyBinding().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link KeyBindingType }
+     * 
+     * 
+     */
+    public List<KeyBindingType> getKeyBinding() {
+        if (keyBinding == null) {
+            keyBinding = new ArrayList<KeyBindingType>();
+        }
+        return this.keyBinding;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/StatusRequestType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/StatusRequestType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/StatusRequestType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,39 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlType;
+
+
+/**
+ * <p>Java class for StatusRequestType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="StatusRequestType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://www.w3.org/2002/03/xkms#}PendingRequestType">
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "StatusRequestType")
+public class StatusRequestType
+    extends PendingRequestType
+{
+
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/StatusResultType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/StatusResultType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/StatusResultType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,122 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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.XmlType;
+
+
+/**
+ * <p>Java class for StatusResultType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="StatusResultType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://www.w3.org/2002/03/xkms#}ResultType">
+ *       &lt;attribute name="Success" type="{http://www.w3.org/2001/XMLSchema}integer" />
+ *       &lt;attribute name="Failure" type="{http://www.w3.org/2001/XMLSchema}integer" />
+ *       &lt;attribute name="Pending" type="{http://www.w3.org/2001/XMLSchema}integer" />
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "StatusResultType")
+public class StatusResultType
+    extends ResultType
+{
+
+    @XmlAttribute(name = "Success")
+    protected BigInteger success;
+    @XmlAttribute(name = "Failure")
+    protected BigInteger failure;
+    @XmlAttribute(name = "Pending")
+    protected BigInteger pending;
+
+    /**
+     * Gets the value of the success property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link BigInteger }
+     *     
+     */
+    public BigInteger getSuccess() {
+        return success;
+    }
+
+    /**
+     * Sets the value of the success property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link BigInteger }
+     *     
+     */
+    public void setSuccess(BigInteger value) {
+        this.success = value;
+    }
+
+    /**
+     * Gets the value of the failure property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link BigInteger }
+     *     
+     */
+    public BigInteger getFailure() {
+        return failure;
+    }
+
+    /**
+     * Sets the value of the failure property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link BigInteger }
+     *     
+     */
+    public void setFailure(BigInteger value) {
+        this.failure = value;
+    }
+
+    /**
+     * Gets the value of the pending property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link BigInteger }
+     *     
+     */
+    public BigInteger getPending() {
+        return pending;
+    }
+
+    /**
+     * Sets the value of the pending property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link BigInteger }
+     *     
+     */
+    public void setPending(BigInteger value) {
+        this.pending = value;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/StatusType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/StatusType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/StatusType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,170 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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.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="{http://www.w3.org/2002/03/xkms#}ValidReason" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}IndeterminateReason" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}InvalidReason" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="StatusValue" use="required" type="{http://www.w3.org/2002/03/xkms#}KeyBindingEnum" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "StatusType", propOrder = {
+    "validReason",
+    "indeterminateReason",
+    "invalidReason"
+})
+public class StatusType {
+
+    @XmlElement(name = "ValidReason")
+    protected List<String> validReason;
+    @XmlElement(name = "IndeterminateReason")
+    protected List<String> indeterminateReason;
+    @XmlElement(name = "InvalidReason")
+    protected List<String> invalidReason;
+    @XmlAttribute(name = "StatusValue", required = true)
+    protected String statusValue;
+
+    /**
+     * Gets the value of the validReason 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 validReason property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getValidReason().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link String }
+     * 
+     * 
+     */
+    public List<String> getValidReason() {
+        if (validReason == null) {
+            validReason = new ArrayList<String>();
+        }
+        return this.validReason;
+    }
+
+    /**
+     * Gets the value of the indeterminateReason 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 indeterminateReason property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getIndeterminateReason().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link String }
+     * 
+     * 
+     */
+    public List<String> getIndeterminateReason() {
+        if (indeterminateReason == null) {
+            indeterminateReason = new ArrayList<String>();
+        }
+        return this.indeterminateReason;
+    }
+
+    /**
+     * Gets the value of the invalidReason 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 invalidReason property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getInvalidReason().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link String }
+     * 
+     * 
+     */
+    public List<String> getInvalidReason() {
+        if (invalidReason == null) {
+            invalidReason = new ArrayList<String>();
+        }
+        return this.invalidReason;
+    }
+
+    /**
+     * Gets the value of the statusValue property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getStatusValue() {
+        return statusValue;
+    }
+
+    /**
+     * Sets the value of the statusValue property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setStatusValue(String value) {
+        this.statusValue = value;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/TimeInstantType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/TimeInstantType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/TimeInstantType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,68 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ * <p>Java class for TimeInstantType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="TimeInstantType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;attribute name="Time" use="required" type="{http://www.w3.org/2001/XMLSchema}dateTime" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "TimeInstantType")
+public class TimeInstantType {
+
+    @XmlAttribute(name = "Time", required = true)
+    @XmlSchemaType(name = "dateTime")
+    protected XMLGregorianCalendar time;
+
+    /**
+     * Gets the value of the time property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link XMLGregorianCalendar }
+     *     
+     */
+    public XMLGregorianCalendar getTime() {
+        return time;
+    }
+
+    /**
+     * Sets the value of the time property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link XMLGregorianCalendar }
+     *     
+     */
+    public void setTime(XMLGregorianCalendar value) {
+        this.time = value;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/UnverifiedKeyBindingType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/UnverifiedKeyBindingType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/UnverifiedKeyBindingType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,75 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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;
+
+
+/**
+ * <p>Java class for UnverifiedKeyBindingType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="UnverifiedKeyBindingType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://www.w3.org/2002/03/xkms#}KeyBindingAbstractType">
+ *       &lt;sequence>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}ValidityInterval" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "UnverifiedKeyBindingType", propOrder = {
+    "validityInterval"
+})
+ at XmlSeeAlso({
+    KeyBindingType.class
+})
+public class UnverifiedKeyBindingType
+    extends KeyBindingAbstractType
+{
+
+    @XmlElement(name = "ValidityInterval")
+    protected ValidityIntervalType validityInterval;
+
+    /**
+     * Gets the value of the validityInterval property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link ValidityIntervalType }
+     *     
+     */
+    public ValidityIntervalType getValidityInterval() {
+        return validityInterval;
+    }
+
+    /**
+     * Sets the value of the validityInterval property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link ValidityIntervalType }
+     *     
+     */
+    public void setValidityInterval(ValidityIntervalType value) {
+        this.validityInterval = value;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/UseKeyWithType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/UseKeyWithType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/UseKeyWithType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,94 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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 UseKeyWithType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="UseKeyWithType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;attribute name="Application" use="required" type="{http://www.w3.org/2001/XMLSchema}anyURI" />
+ *       &lt;attribute name="Identifier" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "UseKeyWithType")
+public class UseKeyWithType {
+
+    @XmlAttribute(name = "Application", required = true)
+    @XmlSchemaType(name = "anyURI")
+    protected String application;
+    @XmlAttribute(name = "Identifier", required = true)
+    protected String identifier;
+
+    /**
+     * Gets the value of the application property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getApplication() {
+        return application;
+    }
+
+    /**
+     * Sets the value of the application property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setApplication(String value) {
+        this.application = value;
+    }
+
+    /**
+     * Gets the value of the identifier property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link String }
+     *     
+     */
+    public String getIdentifier() {
+        return identifier;
+    }
+
+    /**
+     * Sets the value of the identifier property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link String }
+     *     
+     */
+    public void setIdentifier(String value) {
+        this.identifier = value;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ValidateRequestType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ValidateRequestType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ValidateRequestType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,71 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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 ValidateRequestType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="ValidateRequestType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://www.w3.org/2002/03/xkms#}RequestAbstractType">
+ *       &lt;sequence>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}QueryKeyBinding"/>
+ *       &lt;/sequence>
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "ValidateRequestType", propOrder = {
+    "queryKeyBinding"
+})
+public class ValidateRequestType
+    extends RequestAbstractType
+{
+
+    @XmlElement(name = "QueryKeyBinding", required = true)
+    protected QueryKeyBindingType queryKeyBinding;
+
+    /**
+     * Gets the value of the queryKeyBinding property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link QueryKeyBindingType }
+     *     
+     */
+    public QueryKeyBindingType getQueryKeyBinding() {
+        return queryKeyBinding;
+    }
+
+    /**
+     * Sets the value of the queryKeyBinding property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link QueryKeyBindingType }
+     *     
+     */
+    public void setQueryKeyBinding(QueryKeyBindingType value) {
+        this.queryKeyBinding = value;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ValidateResultType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ValidateResultType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ValidateResultType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,78 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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 ValidateResultType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="ValidateResultType">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://www.w3.org/2002/03/xkms#}ResultType">
+ *       &lt;sequence>
+ *         &lt;element ref="{http://www.w3.org/2002/03/xkms#}KeyBinding" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "ValidateResultType", propOrder = {
+    "keyBinding"
+})
+public class ValidateResultType
+    extends ResultType
+{
+
+    @XmlElement(name = "KeyBinding")
+    protected List<KeyBindingType> keyBinding;
+
+    /**
+     * Gets the value of the keyBinding 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 keyBinding property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getKeyBinding().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link KeyBindingType }
+     * 
+     * 
+     */
+    public List<KeyBindingType> getKeyBinding() {
+        if (keyBinding == null) {
+            keyBinding = new ArrayList<KeyBindingType>();
+        }
+        return this.keyBinding;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ValidityIntervalType.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ValidityIntervalType.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/ValidityIntervalType.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,96 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+
+package org.jboss.identity.xkms.v2.model;
+
+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;
+import javax.xml.datatype.XMLGregorianCalendar;
+
+
+/**
+ * <p>Java class for ValidityIntervalType complex type.
+ * 
+ * <p>The following schema fragment specifies the expected content contained within this class.
+ * 
+ * <pre>
+ * &lt;complexType name="ValidityIntervalType">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;attribute name="NotBefore" type="{http://www.w3.org/2001/XMLSchema}dateTime" />
+ *       &lt;attribute name="NotOnOrAfter" type="{http://www.w3.org/2001/XMLSchema}dateTime" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ * 
+ */
+ at XmlAccessorType(XmlAccessType.FIELD)
+ at XmlType(name = "ValidityIntervalType")
+public class ValidityIntervalType {
+
+    @XmlAttribute(name = "NotBefore")
+    @XmlSchemaType(name = "dateTime")
+    protected XMLGregorianCalendar notBefore;
+    @XmlAttribute(name = "NotOnOrAfter")
+    @XmlSchemaType(name = "dateTime")
+    protected XMLGregorianCalendar notOnOrAfter;
+
+    /**
+     * Gets the value of the notBefore property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link XMLGregorianCalendar }
+     *     
+     */
+    public XMLGregorianCalendar getNotBefore() {
+        return notBefore;
+    }
+
+    /**
+     * Sets the value of the notBefore property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link XMLGregorianCalendar }
+     *     
+     */
+    public void setNotBefore(XMLGregorianCalendar value) {
+        this.notBefore = value;
+    }
+
+    /**
+     * Gets the value of the notOnOrAfter property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link XMLGregorianCalendar }
+     *     
+     */
+    public XMLGregorianCalendar getNotOnOrAfter() {
+        return notOnOrAfter;
+    }
+
+    /**
+     * Sets the value of the notOnOrAfter property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link XMLGregorianCalendar }
+     *     
+     */
+    public void setNotOnOrAfter(XMLGregorianCalendar value) {
+        this.notOnOrAfter = value;
+    }
+
+}

Added: xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/package-info.java
===================================================================
--- xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/package-info.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/java/org/jboss/identity/xkms/v2/model/package-info.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,9 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-661 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2009.01.07 at 11:33:26 AM CST 
+//
+
+ at javax.xml.bind.annotation.XmlSchema(namespace = "http://www.w3.org/2002/03/xkms#", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
+package org.jboss.identity.xkms.v2.model;

Added: xmlkey/trunk/xkms/src/main/resources/schema/v2/xenc-schema.xsd
===================================================================
--- xmlkey/trunk/xkms/src/main/resources/schema/v2/xenc-schema.xsd	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/resources/schema/v2/xenc-schema.xsd	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE schema  PUBLIC "-//W3C//DTD XMLSchema 200102//EN"
+ "http://www.w3.org/2001/XMLSchema.dtd"
+  [
+     <!ATTLIST schema
+          xmlns:xenc CDATA #FIXED 'http://www.w3.org/2001/04/xmlenc#'
+               xmlns:ds CDATA #FIXED 'http://www.w3.org/2000/09/xmldsig#'>
+                  <!ENTITY xenc 'http://www.w3.org/2001/04/xmlenc#'>
+                     <!ENTITY % p ''>
+                        <!ENTITY % s ''>
+                          ]>
+
+<schema xmlns='http://www.w3.org/2001/XMLSchema' version='1.0'
+        xmlns:xenc='http://www.w3.org/2001/04/xmlenc#'
+        xmlns:ds='http://www.w3.org/2000/09/xmldsig#'
+        targetNamespace='http://www.w3.org/2001/04/xmlenc#'
+        elementFormDefault='qualified'>
+
+  <import namespace='http://www.w3.org/2000/09/xmldsig#'
+          schemaLocation='http://www.w3.org/TR/2002/REC-xmldsig-core-20020212/xmldsig-core-schema.xsd'/>
+
+  <complexType name='EncryptedType' abstract='true'>
+
+    <sequence>
+      <element name='EncryptionMethod' type='xenc:EncryptionMethodType'
+               minOccurs='0'/>
+      <element ref='ds:KeyInfo' minOccurs='0'/>
+      <element ref='xenc:CipherData'/>
+      <element ref='xenc:EncryptionProperties' minOccurs='0'/>
+    </sequence>
+    <attribute name='Id' type='ID' use='optional'/>
+    <attribute name='Type' type='anyURI' use='optional'/>
+    <attribute name='MimeType' type='string' use='optional'/>
+
+    <attribute name='Encoding' type='anyURI' use='optional'/>
+  </complexType>
+        
+  <complexType name='EncryptionMethodType' mixed='true'>
+    <sequence>
+      <element name='KeySize' minOccurs='0' type='xenc:KeySizeType'/>
+      <element name='OAEPparams' minOccurs='0' type='base64Binary'/>
+      <any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+    </sequence>
+    <attribute name='Algorithm' type='anyURI' use='required'/>
+
+  </complexType>
+
+  <simpleType name='KeySizeType'>
+    <restriction base="integer"/>
+  </simpleType>
+
+  <element name='CipherData' type='xenc:CipherDataType'/>
+    <complexType name='CipherDataType'>
+      <choice>
+        <element name='CipherValue' type='base64Binary'/>
+        <element ref='xenc:CipherReference'/>
+      </choice>
+    </complexType>
+
+  <element name='CipherReference' type='xenc:CipherReferenceType'/>
+    <complexType name='CipherReferenceType'>
+     <choice>
+       <element name='Transforms' type='xenc:TransformsType' minOccurs='0'/>
+     </choice>
+
+     <attribute name='URI' type='anyURI' use='required'/>
+    </complexType>
+
+    <complexType name='TransformsType'>
+      <sequence>
+        <element ref='ds:Transform' maxOccurs='unbounded'/>
+      </sequence>
+    </complexType>
+
+
+  <element name='EncryptedData' type='xenc:EncryptedDataType'/>
+    <complexType name='EncryptedDataType'>
+      <complexContent>
+        <extension base='xenc:EncryptedType'>
+        </extension>
+      </complexContent>
+    </complexType>
+
+  <!-- Children of ds:KeyInfo -->
+
+  <element name='EncryptedKey' type='xenc:EncryptedKeyType'/>
+    <complexType name='EncryptedKeyType'>
+       <complexContent>
+          <extension base='xenc:EncryptedType'>
+            <sequence>
+              <element ref='xenc:ReferenceList' minOccurs='0'/>
+              <element name='CarriedKeyName' type='string' minOccurs='0'/>
+            </sequence>
+            <attribute name='Recipient' type='string'
+               use='optional'/>
+          </extension>
+       </complexContent>
+    </complexType>
+
+  <element name="AgreementMethod" type="xenc:AgreementMethodType"/>
+    <complexType name="AgreementMethodType" mixed="true">
+      <sequence>
+        <element name="KA-Nonce" minOccurs="0" type="base64Binary"/>
+
+        <!-- <element ref="ds:DigestMethod" minOccurs="0"/> -->
+        <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+        <element name="OriginatorKeyInfo" minOccurs="0" type="ds:KeyInfoType"/>
+        <element name="RecipientKeyInfo" minOccurs="0" type="ds:KeyInfoType"/>
+     </sequence>
+     <attribute name="Algorithm" type="anyURI" use="required"/>
+  </complexType>
+
+  <!-- End Children of ds:KeyInfo -->
+
+  <element name='ReferenceList'>
+      <complexType>
+         <choice minOccurs='1' maxOccurs='unbounded'>
+           <element name='DataReference' type='xenc:ReferenceType'/>
+           <element name='KeyReference' type='xenc:ReferenceType'/>
+         </choice>
+      </complexType>
+   </element>
+
+  <complexType name='ReferenceType'>
+      <sequence>
+         <any namespace='##other' minOccurs='0' maxOccurs='unbounded'/>
+      </sequence>
+      <attribute name='URI' type='anyURI' use='required'/>
+  </complexType>
+
+
+  <element name='EncryptionProperties' type='xenc:EncryptionPropertiesType'/>
+
+  <complexType name='EncryptionPropertiesType'>
+      <sequence>
+            <element ref='xenc:EncryptionProperty' maxOccurs='unbounded'/>
+                </sequence>
+                    <attribute name='Id' type='ID' use='optional'/>
+                      </complexType>
+
+    <element name='EncryptionProperty' type='xenc:EncryptionPropertyType'/>
+        <complexType name='EncryptionPropertyType' mixed='true'>
+
+    <choice maxOccurs='unbounded'>
+       <any namespace='##other' processContents='lax'/>
+    </choice>
+    <attribute name='Target' type='anyURI' use='optional'/>
+    <attribute name='Id' type='ID' use='optional'/>
+    <anyAttribute namespace="http://www.w3.org/XML/1998/namespace"/>
+  </complexType>
+
+</schema>
+
+

Added: xmlkey/trunk/xkms/src/main/resources/schema/v2/xkms.xsd
===================================================================
--- xmlkey/trunk/xkms/src/main/resources/schema/v2/xkms.xsd	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/resources/schema/v2/xkms.xsd	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,439 @@
+<?xml version="1.0"?>
+<!DOCTYPE schema [
+  <!--  The URI for the XKMS namespace, and also the base URI used for
+        URI's defined by the specification. -->
+  <!ENTITY xkms 'http://www.w3.org/2002/03/xkms#'>
+]>
+<schema xmlns:xkms="http://www.w3.org/2002/03/xkms#"
+ xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+ xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
+ xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/2002/03/xkms#" elementFormDefault="qualified" attributeFormDefault="unqualified">
+<import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"></import>
+<import namespace="http://www.w3.org/2001/04/xmlenc#" schemaLocation="xenc-schema.xsd"></import>
+<annotation>
+<documentation xml:lang="en">
+   XML Schema for XKMS 2.0 Recommendation
+</documentation></annotation>
+<!-- /Namespace -->
+<!-- MessageAbstractType -->
+<complexType name="MessageAbstractType" abstract="true">
+<sequence>
+<element ref="ds:Signature" minOccurs="0"></element>
+<element ref="xkms:MessageExtension" minOccurs="0" maxOccurs="unbounded"></element>
+<element ref="xkms:OpaqueClientData" minOccurs="0"></element></sequence>
+<attribute name="Id" type="ID" use="required"></attribute>
+<attribute name="Service" type="anyURI" use="required"></attribute>
+<attribute name="Nonce" type="base64Binary" use="optional"></attribute></complexType>
+<!-- /MessageAbstractType -->
+<!-- MessageExtension -->
+<element name="MessageExtension" type="xkms:MessageExtensionAbstractType" abstract="true"></element>
+<complexType name="MessageExtensionAbstractType" abstract="true"></complexType>
+<!-- /MessageExtension -->
+<!-- OpaqueClientData -->
+<element name="OpaqueClientData" type="xkms:OpaqueClientDataType"></element>
+<complexType name="OpaqueClientDataType">
+<sequence maxOccurs="unbounded">
+<element ref="xkms:OpaqueData" minOccurs="0"></element></sequence></complexType>
+<element name="OpaqueData" type="base64Binary"></element>
+<!-- /OpaqueClientData -->
+<!-- RequestAbstractType -->
+<complexType name="RequestAbstractType" abstract="true">
+<complexContent>
+<extension base="xkms:MessageAbstractType">
+<sequence>
+<element ref="xkms:ResponseMechanism" minOccurs="0" maxOccurs="unbounded"></element>
+<element ref="xkms:RespondWith" minOccurs="0" maxOccurs="unbounded"></element>
+<element ref="xkms:PendingNotification" minOccurs="0"></element></sequence>
+<attribute name="OriginalRequestId" type="NCName" use="optional"></attribute>
+<attribute name="ResponseLimit" type="integer" use="optional"></attribute></extension></complexContent></complexType>
+<!-- /RequestAbstractType -->
+<!-- ResponseMechanism -->
+<simpleType name="ResponseMechanismEnum">
+<restriction base="anyURI">
+<enumeration value="http://www.w3.org/2002/03/xkms#Pending"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Represent"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#RequestSignatureValue"></enumeration></restriction></simpleType>
+<simpleType name="ResponseMechanismOpenEnum">
+<union memberTypes="xkms:ResponseMechanismEnum anyURI"></union></simpleType>
+<element name="ResponseMechanism" type="xkms:ResponseMechanismOpenEnum"></element>
+<!-- /ResponseMechanism -->
+<!-- RespondWith -->
+<simpleType name="RespondWithEnum">
+<restriction base="anyURI">
+<enumeration value="http://www.w3.org/2002/03/xkms#KeyName"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#KeyValue"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#X509Cert"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#X509Chain"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#X509CRL"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#RetrievalMethod"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#PGP"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#PGPWeb"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#SPKI"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#PrivateKey"></enumeration></restriction></simpleType>
+<simpleType name="RespondWithOpenEnum">
+<union memberTypes="xkms:RespondWithEnum anyURI"></union></simpleType>
+<element name="RespondWith" type="xkms:RespondWithOpenEnum"></element>
+<!-- /RespondWith -->
+<!-- PendingNotification -->
+<element name="PendingNotification" type="xkms:PendingNotificationType"></element>
+<complexType name="PendingNotificationType">
+<attribute name="Mechanism" type="anyURI" use="required"></attribute>
+<attribute name="Identifier" type="anyURI" use="required"></attribute></complexType>
+<!-- /PendingNotification -->
+<!-- PendingRequest -->
+<element name="PendingRequest" type="xkms:PendingRequestType"></element>
+<complexType name="PendingRequestType">
+<complexContent>
+<extension base="xkms:RequestAbstractType">
+<attribute name="ResponseId" type="NCName" use="required"></attribute></extension></complexContent></complexType>
+<!-- /PendingRequest -->
+<!-- ResultType -->
+<element name="Result" type="xkms:ResultType"></element>
+<simpleType name="ResultMajorEnum">
+<restriction base="anyURI">
+<enumeration value="http://www.w3.org/2002/03/xkms#Success"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#VersionMismatch"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Sender"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Receiver"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Represent"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Pending"></enumeration></restriction></simpleType>
+<simpleType name="ResultMajorOpenEnum">
+<union memberTypes="xkms:ResultMajorEnum anyURI"></union></simpleType>
+<simpleType name="ResultMinorEnum">
+<restriction base="anyURI">
+<enumeration value="http://www.w3.org/2002/03/xkms#NoMatch"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#TooManyResponses"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Incomplete"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Failure"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Refused"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#NoAuthentication"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#MessageNotSupported"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#UnknownResponseId"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#RepresentRequired"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#NotSynchronous"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#OptionalElementNotSupported"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#ProofOfPossessionRequired"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#TimeInstantNotSupported"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#TimeInstantOutOfRange"></enumeration>
+
+</restriction></simpleType>
+<simpleType name="ResultMinorOpenEnum">
+<union memberTypes="xkms:ResultMinorEnum anyURI"></union></simpleType>
+<complexType name="ResultType">
+<complexContent>
+<extension base="xkms:MessageAbstractType">
+<sequence>
+<element ref="xkms:RequestSignatureValue" minOccurs="0"></element></sequence>
+<attribute name="ResultMajor" type="xkms:ResultMajorOpenEnum" use="required"></attribute>
+<attribute name="ResultMinor" type="xkms:ResultMinorOpenEnum" use="optional"></attribute>
+<attribute name="RequestId" type="NCName" use="optional"></attribute></extension></complexContent></complexType>
+<!-- /ResultType -->
+<!-- RequestSignatureValue -->
+<element name="RequestSignatureValue" type="ds:SignatureValueType"></element>
+<!-- /RequestSignatureValue -->
+<!-- CompoundRequest -->
+<element name="CompoundRequest" type="xkms:CompoundRequestType"></element>
+<complexType name="CompoundRequestType">
+<complexContent>
+<extension base="xkms:RequestAbstractType">
+<choice maxOccurs="unbounded">
+<element ref="xkms:LocateRequest"></element>
+<element ref="xkms:ValidateRequest"></element>
+<element ref="xkms:RegisterRequest"></element>
+<element ref="xkms:ReissueRequest"></element>
+<element ref="xkms:RecoverRequest"></element>
+<element ref="xkms:RevokeRequest"></element></choice></extension></complexContent></complexType>
+<!-- /CompoundRequest -->
+<!-- CompoundResult -->
+<element name="CompoundResult" type="xkms:CompoundResultType"></element>
+<complexType name="CompoundResultType">
+<complexContent>
+<extension base="xkms:ResultType">
+<choice minOccurs="0" maxOccurs="unbounded">
+<element ref="xkms:LocateResult"></element>
+<element ref="xkms:ValidateResult"></element>
+<element ref="xkms:RegisterResult"></element>
+<element ref="xkms:ReissueResult"></element>
+<element ref="xkms:RecoverResult"></element>
+<element ref="xkms:RevokeResult"></element></choice></extension></complexContent></complexType>
+<!-- /CompoundResult -->
+<!-- StatusRequest -->
+<element name="StatusRequest" type="xkms:StatusRequestType"></element>
+<complexType name="StatusRequestType">
+<complexContent>
+<extension base="xkms:PendingRequestType"></extension></complexContent></complexType>
+<!-- /StatusRequest -->
+<!-- StatusResult -->
+<element name="StatusResult" type="xkms:StatusResultType"></element>
+<complexType name="StatusResultType">
+<complexContent>
+<extension base="xkms:ResultType">
+<attribute name="Success" type="integer" use="optional"></attribute>
+<attribute name="Failure" type="integer" use="optional"></attribute>
+<attribute name="Pending" type="integer" use="optional"></attribute></extension></complexContent></complexType>
+<!-- /StatusResult -->
+<!-- KeyBindingAbstractType-->
+<complexType name="KeyBindingAbstractType" abstract="true">
+<sequence>
+<element ref="ds:KeyInfo" minOccurs="0"></element>
+<element ref="xkms:KeyUsage" minOccurs="0" maxOccurs="3"></element>
+<element ref="xkms:UseKeyWith" minOccurs="0" maxOccurs="unbounded"></element></sequence>
+<attribute name="Id" type="ID" use="optional"></attribute></complexType>
+<!-- /KeyBindingAbstractType-->
+<!-- UnverifiedKeyBinding -->
+<element name="UnverifiedKeyBinding" type="xkms:UnverifiedKeyBindingType"></element>
+<complexType name="UnverifiedKeyBindingType">
+<complexContent>
+<extension base="xkms:KeyBindingAbstractType">
+<sequence>
+<element ref="xkms:ValidityInterval" minOccurs="0"></element></sequence></extension></complexContent></complexType>
+<!-- /UnverifiedKeyBinding -->
+<!-- KeyBinding -->
+<element name="KeyBinding" type="xkms:KeyBindingType"></element>
+<complexType name="KeyBindingType">
+<complexContent>
+<extension base="xkms:UnverifiedKeyBindingType">
+<sequence>
+<element ref="xkms:Status"></element></sequence></extension></complexContent></complexType>
+<!-- /KeyBinding -->
+<!-- KeyUsage -->
+<simpleType name="KeyUsageEnum">
+<restriction base="anyURI">
+<enumeration value="http://www.w3.org/2002/03/xkms#Encryption"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Signature"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Exchange"></enumeration></restriction></simpleType>
+<element name="KeyUsage" type="xkms:KeyUsageEnum"></element>
+<!-- /KeyUsage -->
+<!-- UseKeyWith -->
+<element name="UseKeyWith" type="xkms:UseKeyWithType"></element>
+<complexType name="UseKeyWithType">
+<attribute name="Application" type="anyURI" use="required"></attribute>
+<attribute name="Identifier" type="string" use="required"></attribute></complexType>
+<!-- /UseKeyWith -->
+<!-- Status -->
+<element name="Status" type="xkms:StatusType"></element>
+<complexType name="StatusType">
+<sequence>
+<element ref="xkms:ValidReason" minOccurs="0" maxOccurs="unbounded"></element>
+<element ref="xkms:IndeterminateReason" minOccurs="0" maxOccurs="unbounded"></element>
+<element ref="xkms:InvalidReason" minOccurs="0" maxOccurs="unbounded"></element></sequence>
+<attribute name="StatusValue" type="xkms:KeyBindingEnum" use="required"></attribute></complexType>
+<simpleType name="KeyBindingEnum">
+<restriction base="anyURI">
+<enumeration value="http://www.w3.org/2002/03/xkms#Valid"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Invalid"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Indeterminate"></enumeration></restriction></simpleType>
+<!-- /Status -->
+<!-- Reason -->
+<simpleType name="ReasonEnum">
+<restriction base="anyURI">
+<enumeration value="http://www.w3.org/2002/03/xkms#IssuerTrust"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#RevocationStatus"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#ValidityInterval"></enumeration>
+<enumeration value="http://www.w3.org/2002/03/xkms#Signature"></enumeration></restriction></simpleType>
+<simpleType name="ReasonOpenEnum">
+<union memberTypes="xkms:ReasonEnum anyURI"></union></simpleType>
+<element name="ValidReason" type="xkms:ReasonOpenEnum"></element>
+<element name="InvalidReason" type="xkms:ReasonOpenEnum"></element>
+<element name="IndeterminateReason" type="xkms:ReasonOpenEnum"></element>
+<!-- /Reason -->
+<!-- ValidityInterval -->
+<element name="ValidityInterval" type="xkms:ValidityIntervalType"></element>
+<complexType name="ValidityIntervalType">
+<attribute name="NotBefore" type="dateTime" use="optional"></attribute>
+<attribute name="NotOnOrAfter" type="dateTime" use="optional"></attribute></complexType>
+<!-- /ValidityInterval -->
+<!-- QueryKeyBinding -->
+<element name="QueryKeyBinding" type="xkms:QueryKeyBindingType"></element>
+<complexType name="QueryKeyBindingType">
+<complexContent>
+<extension base="xkms:KeyBindingAbstractType">
+<sequence>
+<element ref="xkms:TimeInstant" minOccurs="0"></element></sequence></extension></complexContent></complexType>
+<!-- /QueryKeyBinding -->
+<!-- TimeInstant -->
+<element name="TimeInstant" type="xkms:TimeInstantType"></element>
+<complexType name="TimeInstantType">
+<attribute name="Time" type="dateTime" use="required"></attribute></complexType>
+<!-- /TimeInstant -->
+<!-- PrototypeKeyBinding -->
+<element name="PrototypeKeyBinding" type="xkms:PrototypeKeyBindingType"></element>
+<complexType name="PrototypeKeyBindingType">
+<complexContent>
+<extension base="xkms:KeyBindingAbstractType">
+<sequence>
+<element ref="xkms:ValidityInterval" minOccurs="0"></element>
+<element ref="xkms:RevocationCodeIdentifier" minOccurs="0"></element></sequence></extension></complexContent></complexType>
+<!-- /PrototypeKeyBinding -->
+<!-- RevocationCodeIdentifier -->
+<element name="RevocationCodeIdentifier" type="xkms:RevocationCodeIdentifierType"></element>
+<simpleType name="RevocationCodeIdentifierType">
+<restriction base="base64Binary"></restriction></simpleType>
+<!-- /RevocationCodeIdentifier -->
+<!-- LocateRequest -->
+<element name="LocateRequest" type="xkms:LocateRequestType"></element>
+<complexType name="LocateRequestType">
+<complexContent>
+<extension base="xkms:RequestAbstractType">
+<sequence>
+<element ref="xkms:QueryKeyBinding"></element></sequence></extension></complexContent></complexType>
+<!-- /LocateRequest -->
+<!-- LocateResult -->
+<element name="LocateResult" type="xkms:LocateResultType"></element>
+<complexType name="LocateResultType">
+<complexContent>
+<extension base="xkms:ResultType">
+<sequence>
+<element ref="xkms:UnverifiedKeyBinding" minOccurs="0" maxOccurs="unbounded"></element></sequence></extension></complexContent></complexType>
+<!-- /LocateResult -->
+<!-- ValidateRequest -->
+<element name="ValidateRequest" type="xkms:ValidateRequestType"></element>
+<complexType name="ValidateRequestType">
+<complexContent>
+<extension base="xkms:RequestAbstractType">
+<sequence>
+<element ref="xkms:QueryKeyBinding"></element></sequence></extension></complexContent></complexType>
+<!-- /ValidateRequest -->
+<!-- ValidateResult -->
+<element name="ValidateResult" type="xkms:ValidateResultType"></element>
+<complexType name="ValidateResultType">
+<complexContent>
+<extension base="xkms:ResultType">
+<sequence>
+<element ref="xkms:KeyBinding" minOccurs="0" maxOccurs="unbounded"></element></sequence></extension></complexContent></complexType>
+<!-- /ValidateResult -->
+<!-- Authentication -->
+<element name="Authentication" type="xkms:AuthenticationType"></element>
+<complexType name="AuthenticationType">
+<sequence>
+<element ref="xkms:KeyBindingAuthentication" minOccurs="0"></element>
+<element ref="xkms:NotBoundAuthentication" minOccurs="0"></element></sequence></complexType>
+<!-- /Authentication -->
+<!-- KeyBindingAuthentication -->
+<element name="KeyBindingAuthentication" type="xkms:KeyBindingAuthenticationType"></element>
+<complexType name="KeyBindingAuthenticationType">
+<sequence>
+<element ref="ds:Signature"></element></sequence></complexType>
+<!-- /KeyBindingAuthentication -->
+<!-- NotBoundAuthentication -->
+<element name="NotBoundAuthentication" type="xkms:NotBoundAuthenticationType"></element>
+<complexType name="NotBoundAuthenticationType">
+<attribute name="Protocol" type="anyURI" use="required"></attribute>
+<attribute name="Value" type="base64Binary" use="required"></attribute></complexType>
+<!-- /NotBoundAuthentication -->
+<!-- ProofOfPossession -->
+<element name="ProofOfPossession" type="xkms:ProofOfPossessionType"></element>
+<complexType name="ProofOfPossessionType">
+<sequence>
+<element ref="ds:Signature"></element></sequence></complexType>
+<!-- /ProofOfPossession -->
+<!-- PrivateKey -->
+<element name="PrivateKey" type="xkms:PrivateKeyType"></element>
+<complexType name="PrivateKeyType">
+<sequence>
+<element ref="xenc:EncryptedData"></element></sequence></complexType>
+<!-- /PrivateKey -->
+<!-- RegisterRequest -->
+<element name="RegisterRequest" type="xkms:RegisterRequestType"></element>
+<complexType name="RegisterRequestType">
+<complexContent>
+<extension base="xkms:RequestAbstractType">
+<sequence>
+<element ref="xkms:PrototypeKeyBinding"></element>
+<element ref="xkms:Authentication"></element>
+<element ref="xkms:ProofOfPossession" minOccurs="0"></element></sequence></extension></complexContent></complexType>
+<!-- /RegisterRequest -->
+<!-- RegisterResult -->
+<element name="RegisterResult" type="xkms:RegisterResultType"></element>
+<complexType name="RegisterResultType">
+<complexContent>
+<extension base="xkms:ResultType">
+<sequence>
+<element ref="xkms:KeyBinding" minOccurs="0" maxOccurs="unbounded"></element>
+<element ref="xkms:PrivateKey" minOccurs="0"></element></sequence></extension></complexContent></complexType>
+<!-- /RegisterResult -->
+<!-- ReissueRequest -->
+<element name="ReissueRequest" type="xkms:ReissueRequestType"></element>
+<complexType name="ReissueRequestType">
+<complexContent>
+<extension base="xkms:RequestAbstractType">
+<sequence>
+<element ref="xkms:ReissueKeyBinding"></element>
+<element ref="xkms:Authentication"></element>
+<element ref="xkms:ProofOfPossession" minOccurs="0"></element></sequence></extension></complexContent></complexType>
+<element name="ReissueKeyBinding" type="xkms:KeyBindingType"></element>
+<!-- /ReissueRequest -->
+<!-- ReissueResult -->
+<element name="ReissueResult" type="xkms:ReissueResultType"></element>
+<complexType name="ReissueResultType">
+<complexContent>
+<extension base="xkms:ResultType">
+<sequence>
+<element ref="xkms:KeyBinding" minOccurs="0" maxOccurs="unbounded"></element></sequence></extension></complexContent></complexType>
+<!-- /ReissueResult -->
+<!-- RevokeRequest -->
+<element name="RevokeRequest" type="xkms:RevokeRequestType"></element>
+<complexType name="RevokeRequestType">
+<complexContent>
+<extension base="xkms:RequestAbstractType">
+<sequence>
+<element ref="xkms:RevokeKeyBinding"></element>
+<choice>
+<element ref="xkms:Authentication"></element>
+<element ref="xkms:RevocationCode"></element></choice></sequence></extension></complexContent></complexType>
+<element name="RevokeKeyBinding" type="xkms:KeyBindingType"></element>
+<!-- /RevokeRequest -->
+<!-- RevocationCode -->
+<element name="RevocationCode" type="xkms:RevocationCodeType"></element>
+<simpleType name="RevocationCodeType">
+<restriction base="base64Binary"></restriction></simpleType>
+<!-- /RevocationCode -->
+<!-- RevokeResult -->
+<element name="RevokeResult" type="xkms:RevokeResultType"></element>
+<complexType name="RevokeResultType">
+<complexContent>
+<extension base="xkms:ResultType">
+<sequence>
+<element ref="xkms:KeyBinding" minOccurs="0" maxOccurs="unbounded"></element></sequence></extension></complexContent></complexType>
+<!-- /RevokeResult -->
+<!-- RecoverRequest -->
+<element name="RecoverRequest" type="xkms:RecoverRequestType"></element>
+<complexType name="RecoverRequestType">
+<complexContent>
+<extension base="xkms:RequestAbstractType">
+<sequence>
+<element ref="xkms:RecoverKeyBinding"></element>
+<element ref="xkms:Authentication"></element></sequence></extension></complexContent></complexType>
+<element name="RecoverKeyBinding" type="xkms:KeyBindingType"></element>
+<!-- /RecoverRequest -->
+<!-- RecoverResult -->
+<element name="RecoverResult" type="xkms:RecoverResultType"></element>
+<complexType name="RecoverResultType">
+<complexContent>
+<extension base="xkms:ResultType">
+<sequence>
+<element ref="xkms:KeyBinding" minOccurs="0" maxOccurs="unbounded"></element>
+<element ref="xkms:PrivateKey" minOccurs="0"></element></sequence></extension></complexContent></complexType>
+<!-- /RecoverResult -->
+<!-- RSAKeyPair -->
+<element name="RSAKeyPair" type="xkms:RSAKeyPairType"></element>
+<complexType name="RSAKeyPairType">
+<sequence>
+<element ref="xkms:Modulus"></element>
+<element ref="xkms:Exponent"></element>
+<element ref="xkms:P"></element>
+<element ref="xkms:Q"></element>
+<element ref="xkms:DP"></element>
+<element ref="xkms:DQ"></element>
+<element ref="xkms:InverseQ"></element>
+<element ref="xkms:D"></element></sequence></complexType>
+<element name="Modulus" type="ds:CryptoBinary"></element>
+<element name="Exponent" type="ds:CryptoBinary"></element>
+<element name="P" type="ds:CryptoBinary"></element>
+<element name="Q" type="ds:CryptoBinary"></element>
+<element name="DP" type="ds:CryptoBinary"></element>
+<element name="DQ" type="ds:CryptoBinary"></element>
+<element name="InverseQ" type="ds:CryptoBinary"></element>
+<element name="D" type="ds:CryptoBinary"></element>
+<!-- /RSAKeyPair -->
+<!-- End Schema --></schema>

Added: xmlkey/trunk/xkms/src/main/resources/schema/v2/xmldsig-core-schema.xsd
===================================================================
--- xmlkey/trunk/xkms/src/main/resources/schema/v2/xmldsig-core-schema.xsd	                        (rev 0)
+++ xmlkey/trunk/xkms/src/main/resources/schema/v2/xmldsig-core-schema.xsd	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,318 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE schema
+  PUBLIC "-//W3C//DTD XMLSchema 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd"
+ [
+   <!ATTLIST schema 
+     xmlns:ds CDATA #FIXED "http://www.w3.org/2000/09/xmldsig#">
+   <!ENTITY dsig 'http://www.w3.org/2000/09/xmldsig#'>
+   <!ENTITY % p ''>
+   <!ENTITY % s ''>
+  ]>
+
+<!-- Schema for XML Signatures
+    http://www.w3.org/2000/09/xmldsig#
+    $Revision: 1.1 $ on $Date: 2002/02/08 20:32:26 $ by $Author: reagle $
+
+    Copyright 2001 The Internet Society and W3C (Massachusetts Institute
+    of Technology, Institut National de Recherche en Informatique et en
+    Automatique, Keio University). All Rights Reserved.
+    http://www.w3.org/Consortium/Legal/
+
+    This document is governed by the W3C Software License [1] as described
+    in the FAQ [2].
+
+    [1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
+    [2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
+-->
+
+
+<schema xmlns="http://www.w3.org/2001/XMLSchema"
+        xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
+        targetNamespace="http://www.w3.org/2000/09/xmldsig#"
+        version="0.1" elementFormDefault="qualified"> 
+
+<!-- Basic Types Defined for Signatures -->
+
+<simpleType name="CryptoBinary">
+  <restriction base="base64Binary">
+  </restriction>
+</simpleType>
+
+<!-- Start Signature -->
+
+<element name="Signature" type="ds:SignatureType"/>
+<complexType name="SignatureType">
+  <sequence> 
+    <element ref="ds:SignedInfo"/> 
+    <element ref="ds:SignatureValue"/> 
+    <element ref="ds:KeyInfo" minOccurs="0"/> 
+    <element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/> 
+  </sequence>  
+  <attribute name="Id" type="ID" use="optional"/>
+</complexType>
+
+  <element name="SignatureValue" type="ds:SignatureValueType"/> 
+  <complexType name="SignatureValueType">
+    <simpleContent>
+      <extension base="base64Binary">
+        <attribute name="Id" type="ID" use="optional"/>
+      </extension>
+    </simpleContent>
+  </complexType>
+
+<!-- Start SignedInfo -->
+
+<element name="SignedInfo" type="ds:SignedInfoType"/>
+<complexType name="SignedInfoType">
+  <sequence> 
+    <element ref="ds:CanonicalizationMethod"/> 
+    <element ref="ds:SignatureMethod"/> 
+    <element ref="ds:Reference" maxOccurs="unbounded"/> 
+  </sequence>  
+  <attribute name="Id" type="ID" use="optional"/> 
+</complexType>
+
+  <element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/> 
+  <complexType name="CanonicalizationMethodType" mixed="true">
+    <sequence>
+      <any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
+      <!-- (0,unbounded) elements from (1,1) namespace -->
+    </sequence>
+    <attribute name="Algorithm" type="anyURI" use="required"/> 
+  </complexType>
+
+  <element name="SignatureMethod" type="ds:SignatureMethodType"/>
+  <complexType name="SignatureMethodType" mixed="true">
+    <sequence>
+      <element name="HMACOutputLength" minOccurs="0" type="ds:HMACOutputLengthType"/>
+      <any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
+      <!-- (0,unbounded) elements from (1,1) external namespace -->
+    </sequence>
+    <attribute name="Algorithm" type="anyURI" use="required"/> 
+  </complexType>
+
+<!-- Start Reference -->
+
+<element name="Reference" type="ds:ReferenceType"/>
+<complexType name="ReferenceType">
+  <sequence> 
+    <element ref="ds:Transforms" minOccurs="0"/> 
+    <element ref="ds:DigestMethod"/> 
+    <element ref="ds:DigestValue"/> 
+  </sequence>
+  <attribute name="Id" type="ID" use="optional"/> 
+  <attribute name="URI" type="anyURI" use="optional"/> 
+  <attribute name="Type" type="anyURI" use="optional"/> 
+</complexType>
+
+  <element name="Transforms" type="ds:TransformsType"/>
+  <complexType name="TransformsType">
+    <sequence>
+      <element ref="ds:Transform" maxOccurs="unbounded"/>  
+    </sequence>
+  </complexType>
+
+  <element name="Transform" type="ds:TransformType"/>
+  <complexType name="TransformType" mixed="true">
+    <choice minOccurs="0" maxOccurs="unbounded"> 
+      <any namespace="##other" processContents="lax"/>
+      <!-- (1,1) elements from (0,unbounded) namespaces -->
+      <element name="XPath" type="string"/> 
+    </choice>
+    <attribute name="Algorithm" type="anyURI" use="required"/> 
+  </complexType>
+
+<!-- End Reference -->
+
+<element name="DigestMethod" type="ds:DigestMethodType"/>
+<complexType name="DigestMethodType" mixed="true"> 
+  <sequence>
+    <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
+  </sequence>    
+  <attribute name="Algorithm" type="anyURI" use="required"/> 
+</complexType>
+
+<element name="DigestValue" type="ds:DigestValueType"/>
+<simpleType name="DigestValueType">
+  <restriction base="base64Binary"/>
+</simpleType>
+
+<!-- End SignedInfo -->
+
+<!-- Start KeyInfo -->
+
+<element name="KeyInfo" type="ds:KeyInfoType"/> 
+<complexType name="KeyInfoType" mixed="true">
+  <choice maxOccurs="unbounded">     
+    <element ref="ds:KeyName"/> 
+    <element ref="ds:KeyValue"/> 
+    <element ref="ds:RetrievalMethod"/> 
+    <element ref="ds:X509Data"/> 
+    <element ref="ds:PGPData"/> 
+    <element ref="ds:SPKIData"/>
+    <element ref="ds:MgmtData"/>
+    <any processContents="lax" namespace="##other"/>
+    <!-- (1,1) elements from (0,unbounded) namespaces -->
+  </choice>
+  <attribute name="Id" type="ID" use="optional"/> 
+</complexType>
+
+  <element name="KeyName" type="string"/>
+  <element name="MgmtData" type="string"/>
+
+  <element name="KeyValue" type="ds:KeyValueType"/> 
+  <complexType name="KeyValueType" mixed="true">
+   <choice>
+     <element ref="ds:DSAKeyValue"/>
+     <element ref="ds:RSAKeyValue"/>
+     <any namespace="##other" processContents="lax"/>
+   </choice>
+  </complexType>
+
+  <element name="RetrievalMethod" type="ds:RetrievalMethodType"/> 
+  <complexType name="RetrievalMethodType">
+    <sequence>
+      <element ref="ds:Transforms" minOccurs="0"/> 
+    </sequence>  
+    <attribute name="URI" type="anyURI"/>
+    <attribute name="Type" type="anyURI" use="optional"/>
+  </complexType>
+
+<!-- Start X509Data -->
+
+<element name="X509Data" type="ds:X509DataType"/> 
+<complexType name="X509DataType">
+  <sequence maxOccurs="unbounded">
+    <choice>
+      <element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
+      <element name="X509SKI" type="base64Binary"/>
+      <element name="X509SubjectName" type="string"/>
+      <element name="X509Certificate" type="base64Binary"/>
+      <element name="X509CRL" type="base64Binary"/>
+      <any namespace="##other" processContents="lax"/>
+    </choice>
+  </sequence>
+</complexType>
+
+<complexType name="X509IssuerSerialType"> 
+  <sequence> 
+    <element name="X509IssuerName" type="string"/> 
+    <element name="X509SerialNumber" type="integer"/> 
+  </sequence>
+</complexType>
+
+<!-- End X509Data -->
+
+<!-- Begin PGPData -->
+
+<element name="PGPData" type="ds:PGPDataType"/> 
+<complexType name="PGPDataType"> 
+  <choice>
+    <sequence>
+      <element name="PGPKeyID" type="base64Binary"/> 
+      <element name="PGPKeyPacket" type="base64Binary" minOccurs="0"/> 
+      <any namespace="##other" processContents="lax" minOccurs="0"
+       maxOccurs="unbounded"/>
+    </sequence>
+    <sequence>
+      <element name="PGPKeyPacket" type="base64Binary"/> 
+      <any namespace="##other" processContents="lax" minOccurs="0"
+       maxOccurs="unbounded"/>
+    </sequence>
+  </choice>
+</complexType>
+
+<!-- End PGPData -->
+
+<!-- Begin SPKIData -->
+
+<element name="SPKIData" type="ds:SPKIDataType"/> 
+<complexType name="SPKIDataType">
+  <sequence maxOccurs="unbounded">
+    <element name="SPKISexp" type="base64Binary"/>
+    <any namespace="##other" processContents="lax" minOccurs="0"/>
+  </sequence>
+</complexType> 
+
+<!-- End SPKIData -->
+
+<!-- End KeyInfo -->
+
+<!-- Start Object (Manifest, SignatureProperty) -->
+
+<element name="Object" type="ds:ObjectType"/> 
+<complexType name="ObjectType" mixed="true">
+  <sequence minOccurs="0" maxOccurs="unbounded">
+    <any namespace="##any" processContents="lax"/>
+  </sequence>
+  <attribute name="Id" type="ID" use="optional"/> 
+  <attribute name="MimeType" type="string" use="optional"/> <!-- add a grep facet -->
+  <attribute name="Encoding" type="anyURI" use="optional"/> 
+</complexType>
+
+<element name="Manifest" type="ds:ManifestType"/> 
+<complexType name="ManifestType">
+  <sequence>
+    <element ref="ds:Reference" maxOccurs="unbounded"/> 
+  </sequence>
+  <attribute name="Id" type="ID" use="optional"/> 
+</complexType>
+
+<element name="SignatureProperties" type="ds:SignaturePropertiesType"/> 
+<complexType name="SignaturePropertiesType">
+  <sequence>
+    <element ref="ds:SignatureProperty" maxOccurs="unbounded"/> 
+  </sequence>
+  <attribute name="Id" type="ID" use="optional"/> 
+</complexType>
+
+   <element name="SignatureProperty" type="ds:SignaturePropertyType"/> 
+   <complexType name="SignaturePropertyType" mixed="true">
+     <choice maxOccurs="unbounded">
+       <any namespace="##other" processContents="lax"/>
+       <!-- (1,1) elements from (1,unbounded) namespaces -->
+     </choice>
+     <attribute name="Target" type="anyURI" use="required"/> 
+     <attribute name="Id" type="ID" use="optional"/> 
+   </complexType>
+
+<!-- End Object (Manifest, SignatureProperty) -->
+
+<!-- Start Algorithm Parameters -->
+
+<simpleType name="HMACOutputLengthType">
+  <restriction base="integer"/>
+</simpleType>
+
+<!-- Start KeyValue Element-types -->
+
+<element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
+<complexType name="DSAKeyValueType">
+  <sequence>
+    <sequence minOccurs="0">
+      <element name="P" type="ds:CryptoBinary"/>
+      <element name="Q" type="ds:CryptoBinary"/>
+    </sequence>
+    <element name="G" type="ds:CryptoBinary" minOccurs="0"/>
+    <element name="Y" type="ds:CryptoBinary"/>
+    <element name="J" type="ds:CryptoBinary" minOccurs="0"/>
+    <sequence minOccurs="0">
+      <element name="Seed" type="ds:CryptoBinary"/>
+      <element name="PgenCounter" type="ds:CryptoBinary"/>
+    </sequence>
+  </sequence>
+</complexType>
+
+<element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
+<complexType name="RSAKeyValueType">
+  <sequence>
+    <element name="Modulus" type="ds:CryptoBinary"/> 
+    <element name="Exponent" type="ds:CryptoBinary"/> 
+  </sequence>
+</complexType> 
+
+<!-- End KeyValue Element-types -->
+
+<!-- End Signature -->
+
+</schema>

Added: xmlkey/trunk/xkms/src/test/java/org/jboss/test/identity/xkms/v2/model/LocateRequestUnitTest.java
===================================================================
--- xmlkey/trunk/xkms/src/test/java/org/jboss/test/identity/xkms/v2/model/LocateRequestUnitTest.java	                        (rev 0)
+++ xmlkey/trunk/xkms/src/test/java/org/jboss/test/identity/xkms/v2/model/LocateRequestUnitTest.java	2009-01-07 21:08:34 UTC (rev 204)
@@ -0,0 +1,90 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors. 
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.identity.xkms.v2.model;
+
+import static org.junit.Assert.*;
+
+import java.io.ByteArrayOutputStream;
+import java.io.StringReader;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.Marshaller;
+import javax.xml.bind.Unmarshaller;
+
+import org.jboss.identity.xkms.v2.model.LocateRequestType;
+import org.jboss.identity.xkms.v2.model.ObjectFactory;
+import org.jboss.identity.xmlkey.common.JBossJAXBUtil;
+import org.junit.Test;
+
+/**
+ * Unit Test the LocateRequest construct
+ * @author Anil.Saldhana at redhat.com
+ * @since Jan 7, 2009
+ */
+public class LocateRequestUnitTest
+{
+   String pkg = "org.jboss.identity.xkms.v2.model";
+   String schema = "schema/v2/xkms.xsd";
+   
+   ObjectFactory objectFactory = new ObjectFactory();
+   
+   /**
+    <?xml version="1.0" encoding="utf-8"?>
+    <LocateRequest Id="Ia1d6ca7a067fdd545f1a1396d2f26779"
+                   Service="http://www.example.org/XKMS"
+                   xmlns="http://www.w3.org/2002/03/xkms#">
+       <ResponseMechanism>http://www.w3.org/2002/03/xkms#Represent</ResponseMechanism>
+       <QueryKeyBinding />
+    </LocateRequest>
+    * @throws Exception 
+    */
+   @Test
+   public void testConstruction() throws Exception
+   {
+      String id = "Ia1d6ca7a067fdd545f1a1396d2f26779";
+      String service = "http://www.example.org/XKMS";
+      String responseMech = "http://www.w3.org/2002/03/xkms#Represent";
+     
+      LocateRequestType lrt = objectFactory.createLocateRequestType();
+      lrt.setId(id);
+      lrt.setService(service);
+      
+      lrt.setQueryKeyBinding(objectFactory.createQueryKeyBindingType());
+      
+      lrt.getResponseMechanism().add(responseMech);
+      
+      JAXBElement<LocateRequestType> jaxbLRT = objectFactory.createLocateRequest(lrt);
+      
+      Marshaller m = JBossJAXBUtil.getValidatingMarshaller(pkg, schema);
+      ByteArrayOutputStream baos = new ByteArrayOutputStream();
+      m.marshal(jaxbLRT, baos);
+      
+      StringReader sr = new StringReader(baos.toString());
+      Unmarshaller um = JBossJAXBUtil.getValidatingUnmarshaller(pkg, schema);
+      JAXBElement<LocateRequestType> jaxbLRTUM = (JAXBElement<LocateRequestType>) um.unmarshal(sr);
+      
+      LocateRequestType lrtum = jaxbLRTUM.getValue();
+      assertEquals(id, lrtum.getId());
+      assertEquals(service, lrtum.getService());
+      assertEquals(responseMech, lrtum.getResponseMechanism().get(0));
+   }
+}
\ No newline at end of file




More information about the jboss-identity-commits mailing list