diff --git a/info.textgrid.middleware.tgauth.rbac/rbacSoap/wsdl-8082/tgextra.wsdl b/info.textgrid.middleware.tgauth.rbac/rbacSoap/wsdl-8082/tgextra.wsdl
index d8ab7b4266a438be75451c053878a5548e814120..9fbbbc0f7158a2c06eadf9f1e8212dc8d612a237 100644
--- a/info.textgrid.middleware.tgauth.rbac/rbacSoap/wsdl-8082/tgextra.wsdl
+++ b/info.textgrid.middleware.tgauth.rbac/rbacSoap/wsdl-8082/tgextra.wsdl
@@ -1,1899 +1,2522 @@
 <?xml version="1.0" encoding="UTF-8"?>
-
-<wsdl:definitions name="tgextra"
-                  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
-                  xmlns:tns="http://textgrid.info/namespaces/middleware/tgauth"
-                  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
-                  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-                  targetNamespace="http://textgrid.info/namespaces/middleware/tgauth">
-
-
-  <!--
-  ####################
-  # Typ-Definitionen #
-  ####################
-  //-->
+<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://textgrid.info/namespaces/middleware/tgauth" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="tgextra" targetNamespace="http://textgrid.info/namespaces/middleware/tgauth">
+<!--
+		#################### # Typ-Definitionen # #################### //
+	-->
   <wsdl:types>
     <xsd:schema targetNamespace="http://textgrid.info/namespaces/middleware/tgauth">
-
-      <!-- #### authenticate #### //-->
+<!-- #### authenticate #### //-->
       <xsd:element name="authenticateRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="username" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="password" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
+            <xsd:element name="username" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="password" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
       <xsd:element name="authenticateResponse">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-      <!-- #### userExists #### //-->
+<!-- #### userExists #### //-->
       <xsd:element name="userExistsRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="username" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="username" type="xsd:string" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-      <!-- #### createProject #### //-->
+<!-- #### createProject #### //-->
       <xsd:element name="createProjectRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="description" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="file" type="xsd:string" minOccurs="0" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="description" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="file" type="xsd:string" minOccurs="0" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
       <xsd:element name="createProjectResponse">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="projectId" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="projectId" type="xsd:string" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-      <!-- #### filterBySid #### //-->
+<!-- #### filterBySid #### //-->
       <xsd:element name="filterBySidRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="resource" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
-            <xsd:element name="operation" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="resource" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
+            <xsd:element name="operation" type="xsd:string" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-      <!-- #### addMember #### //-->
+<!-- #### addMember #### //-->
       <xsd:element name="addMemberRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="username" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="role" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="username" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="role" type="xsd:string" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-      <!-- #### deleteMember #### //-->
+<!-- #### deleteMember #### //-->
       <xsd:element name="deleteMemberRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="username" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="role" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="username" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="role" type="xsd:string" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-      <!-- #### getSid #### //-->
+<!-- #### getSid #### //-->
+      <xsd:element name="getSidRequest">
+        <xsd:complexType>
+          <xsd:sequence>
+	  </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
       <xsd:element name="getSidResponse">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="sid" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="sid" type="xsd:string" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-      <!-- #### registerResource #### //-->
+<!-- ### getSLC ### //-->
+      <xsd:element name="getSLCRequest">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="secret" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+      <xsd:element name="getSLCResponse">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="slc" type="xsd:base64Binary" minOccurs="1" maxOccurs="1"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+<!-- ### getCSR ### //-->
+      <xsd:element name="getCSRRequest">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+      <xsd:element name="getCSRResponse">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="csr" type="xsd:base64Binary" minOccurs="1" maxOccurs="1"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+<!-- ### putCRT ### //-->
+      <xsd:element name="putCRTRequest">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="crt" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+      <xsd:element name="putCRTResponse">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="success" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+<!-- #### getSupportedUserAttributes #### //-->
+      <xsd:element name="getSupportedUserAttributesRequest">
+        <xsd:complexType>
+          <xsd:sequence>
+	  </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+      <xsd:element name="getSupportedUserAttributesResponse">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="attribute" type="tns:userAttribute" minOccurs="0" maxOccurs="unbounded"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+<!-- #### getMyUserAttributes #### //-->
+      <xsd:element name="getMyUserAttributesRequest">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+      <xsd:element name="getMyUserAttributesResponse">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="attribute" type="tns:userAttribute" minOccurs="0" maxOccurs="unbounded"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+<!-- #### setMyUserAttributes #### //-->
+      <xsd:element name="setMyUserAttributesRequest">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="webAuthSecret" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="attribute" type="tns:userAttribute" minOccurs="0" maxOccurs="unbounded"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+<!-- #### registerResource #### //-->
       <xsd:element name="registerResourceRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="project" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="uri" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="secret" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="project" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="uri" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="uuid" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="secret" type="xsd:string" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-      <!-- #### unregisterResource #### //-->
+<!-- #### unregisterResource #### //-->
       <xsd:element name="unregisterResourceRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="uri" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="secret" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="uri" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="secret" type="xsd:string" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
-      <!-- #### getObjects #### //-->
+<!-- #### getObjects #### //-->
       <xsd:element name="getObjectsRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="project" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="project" type="xsd:string" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
-      <!-- #### getAllProjects #### //-->
+<!-- #### getAllProjects #### //-->
       <xsd:element name="getAllProjectsRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
       <xsd:element name="getAllProjectsResponse">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="project" type="tns:projectInfo" minOccurs="0" maxOccurs="unbounded" />
+            <xsd:element name="project" type="tns:projectInfo" minOccurs="0" maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
-      <!-- #### tgCheckAccess #### //-->
+<!-- #### getDeactivatedProjects #### //-->
+      <xsd:element name="getDeactivatedProjectsRequest">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+      <xsd:element name="getDeactivatedProjectsResponse">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="project" type="tns:projectInfo" minOccurs="0" maxOccurs="unbounded"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+<!-- #### tgCheckAccess #### //-->
       <xsd:element name="tgCheckAccessRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="sid" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="operation" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="resource" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="sid" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="operation" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="resource" type="xsd:string" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
-      <!-- #### tgAddActiveRole #### //-->
+<!-- #### tgCrudCheckAccess #### //-->
+      <xsd:element name="tgCrudCheckAccessRequest">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="secret" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="sid" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="operation" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="resource" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+<!-- #### tgAddActiveRole #### //-->
       <xsd:element name="tgAddActiveRoleRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="role" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="role" type="xsd:string" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
-      <!-- #### tgDropActiveRole #### //-->
+<!-- #### tgDropActiveRole #### //-->
       <xsd:element name="tgDropActiveRoleRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="role" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="role" type="xsd:string" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
-      <!-- #### tgAssignedRoles #### //-->
+<!-- #### tgAssignedRoles #### //-->
       <xsd:element name="tgAssignedRolesRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="username" type="xsd:string" minOccurs="0" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="username" type="xsd:string" minOccurs="0" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
-      <!-- #### tgAssignedProjects #### //-->
+<!-- #### tgAssignedProjects #### //-->
       <xsd:element name="tgAssignedProjectsRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="level" type="xsd:int" minOccurs="0" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="level" type="xsd:int" minOccurs="0" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
-      <!-- #### getLeader #### //-->
+<!-- #### getLeader #### //-->
       <xsd:element name="getLeaderRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="project" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="project" type="xsd:string" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
-      <!-- #### tgGrantPermission #### //-->
+<!-- #### tgGrantPermission #### //-->
       <xsd:element name="tgGrantPermissionRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="role" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="operation" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="resource" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="role" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="operation" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="resource" type="xsd:string" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
-      <!-- #### tgRevokePermission #### //-->
+<!-- #### tgRevokePermission #### //-->
       <xsd:element name="tgRevokePermissionRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="role" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="operation" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="resource" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="role" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="operation" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="resource" type="xsd:string" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
-      <!-- #### getOwner #### //-->
+<!-- #### getOwner #### //-->
       <xsd:element name="getOwnerRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="resource" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="resource" type="xsd:string" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
       <xsd:element name="getOwnerResponse">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="owner" type="xsd:string" minOccurs="0" maxOccurs="1" />
+            <xsd:element name="owner" type="xsd:string" minOccurs="0" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
-      <!-- #### getMembers #### //-->
+<!-- #### getUUID #### //-->
+      <xsd:element name="getUUIDRequest">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="resource" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+      <xsd:element name="getUUIDResponse">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="uuid" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+<!-- #### getMembers #### //-->
       <xsd:element name="getMembersRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="project" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="project" type="xsd:string" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
-      <!-- #### getRights #### //-->
+<!-- #### getUserRole #### //-->
+      <xsd:element name="getUserRoleRequest">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="project" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+<!-- #### getFriends #### //-->
+      <xsd:element name="getFriendsRequest">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+<!-- #### getRights #### //-->
       <xsd:element name="getRightsRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="resource" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="username" type="xsd:string" minOccurs="0" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="resource" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="username" type="xsd:string" minOccurs="0" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
-      <!-- #### publish #### //-->
+<!-- #### publish #### //-->
       <xsd:element name="publishRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="resource" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="resource" type="xsd:string" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
-      <!-- #### isPublic #### //-->
+<!-- #### isPublic #### //-->
       <xsd:element name="isPublicRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="resource" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="resource" type="xsd:string" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
-      <!-- #### setProjectFile #### //-->
+<!-- #### getNumberOfResourcesRequest #### //-->
+      <xsd:element name="getNumberOfResourcesRequest">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="project" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+      <xsd:element name="getNumberOfResourcesResponse">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="allresources" type="xsd:int"/>
+            <xsd:element name="publicresources" type="xsd:int"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+<!-- #### setProjectFile #### //-->
       <xsd:element name="setProjectFileRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="project" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="file" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="project" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="file" type="xsd:string" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
-      <!-- #### getProjectDescription #### //-->
+<!-- #### setName #### //-->
+      <xsd:element name="setNameRequest">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="webAuthSecret" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="mail" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="organisation" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="agreeSearch" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+<!-- #### getNames #### //-->
+      <xsd:element name="getNamesRequest">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="ePPN" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+      <xsd:element name="getNamesResponse">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="userdetails" type="tns:userDetail" minOccurs="0" maxOccurs="unbounded"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+<!-- #### getIDs #### //-->
+      <xsd:element name="getIDsRequest">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="name" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="mail" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="organisation" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+      <xsd:element name="getIDsResponse">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="userdetails" type="tns:userDetail" minOccurs="0" maxOccurs="unbounded"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+<!-- #### getProjectDescription #### //-->
       <xsd:element name="getProjectDescriptionRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="project" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="project" type="xsd:string" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
       <xsd:element name="getProjectDescriptionResponse">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="project" type="tns:projectInfo" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="project" type="tns:projectInfo" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
-      <!-- #### deactivateProject #### //-->
+<!-- #### deactivateProject #### //-->
       <xsd:element name="deactivateProjectRequest">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="project" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="project" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+<!-- #### reactivateProject #### //-->
+      <xsd:element name="reactivateProjectRequest">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="project" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+          </xsd:sequence>
+        </xsd:complexType>
+      </xsd:element>
+<!-- #### deleteProject #### //-->
+      <xsd:element name="deleteProjectRequest">
+        <xsd:complexType>
+          <xsd:sequence>
+            <xsd:element name="auth" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="log" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="project" type="xsd:string" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
       <xsd:element name="filterResponse">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="resource" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
+            <xsd:element name="resource" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
       <xsd:element name="booleanResponse">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="result" type="xsd:boolean" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="result" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
-      <xsd:element name="rolesetResponse">
+      <xsd:element name="tgCrudCheckAccessResponse">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="role" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
+            <xsd:element name="result" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="project" type="tns:projectInfo" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="username" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="operation" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
-      <xsd:element name="usersetResponse">
+      <xsd:element name="rolesetResponse">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="username" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
+            <xsd:element name="role" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
-      <xsd:element name="resourcesetResponse">
+      <xsd:element name="usersetResponse">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="resource" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
+            <xsd:element name="username" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
-      <xsd:element name="operationsetResponse">
+      <xsd:element name="resourcesetResponse">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="operation" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
+            <xsd:element name="resource" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
-      <xsd:complexType name="projectInfo">
-        <xsd:sequence>
-          <xsd:element name="id" type="xsd:string" minOccurs="1" maxOccurs="1" />
-          <xsd:element name="description" type="xsd:string" minOccurs="0" maxOccurs="1" />
-          <xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1" />
-          <xsd:element name="file" type="xsd:string" minOccurs="0" maxOccurs="1" />
-        </xsd:sequence>
-      </xsd:complexType>
-
-
-      <!-- #### authenticationFault #### //-->
-      <xsd:element name="authenticationFaultResponse">
+      <xsd:element name="operationsetResponse">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="fault" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="operation" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-      <!-- #### unknownResourceFault #### //-->
-      <xsd:element name="unknownResourceFaultResponse">
+      <xsd:element name="getUserRoleResponse">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="fault" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="userRole" type="tns:userRole" minOccurs="0" maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-      <!-- #### rbacFault #### //-->
-      <xsd:element name="rbacFaultResponse">
+      <xsd:complexType name="userRole">
+        <xsd:sequence>
+          <xsd:element name="username" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+          <xsd:element name="roles" type="xsd:string" minOccurs="1" maxOccurs="unbounded"/>
+        </xsd:sequence>
+      </xsd:complexType>
+      <xsd:complexType name="userAttribute">
+        <xsd:sequence>
+          <xsd:element name="value" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+          <xsd:element name="description" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+        </xsd:sequence>
+        <xsd:attribute name="name" type="xsd:string" use="required"/>
+        <xsd:attribute name="mandatory" type="xsd:boolean"/>
+        <xsd:attribute name="ldapname" type="xsd:string"/>
+        <xsd:attribute name="inclass" type="xsd:string"/>
+        <xsd:attribute name="displayname" type="xsd:string"/>
+      </xsd:complexType>
+      <xsd:element name="getFriendsResponse">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="fault" type="xsd:string" minOccurs="1" maxOccurs="1" />
+            <xsd:element name="friends" type="tns:friend" minOccurs="0" maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
+      <xsd:complexType name="friend">
+        <xsd:sequence>
+          <xsd:element name="username" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+          <xsd:element name="score" type="xsd:integer" minOccurs="1" maxOccurs="1"/>
+        </xsd:sequence>
+      </xsd:complexType>
+      <xsd:complexType name="userDetail">
+        <xsd:sequence>
+          <xsd:element name="ePPN" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+          <xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+          <xsd:element name="mail" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+          <xsd:element name="organisation" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+          <xsd:element name="agreesearch" type="xsd:boolean" minOccurs="0" maxOccurs="1"/>
+          <xsd:element name="usersupplieddata" type="xsd:boolean" minOccurs="0" maxOccurs="1"/>
+        </xsd:sequence>
+      </xsd:complexType>
+      <xsd:complexType name="projectInfo">
+        <xsd:sequence>
+          <xsd:element name="id" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+          <xsd:element name="description" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+          <xsd:element name="name" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+          <xsd:element name="file" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+        </xsd:sequence>
+      </xsd:complexType>
+<!-- #### authenticationFault #### //-->
+      <xsd:element name="authenticationFaultResponse" type="tns:TextGridFaultType"/>
+<!-- #### unknownProjectFault #### //-->
+      <xsd:element name="unknownProjectFaultResponse" type="tns:TextGridFaultType"/>
+<!-- #### rbacFault #### //-->
+      <xsd:element name="rbacFaultResponse" type="tns:TextGridFaultType"/>
+<!-- #### notEmptyFault #### //-->
+      <xsd:element name="notEmptyFaultResponse" type="tns:TextGridFaultType"/>
+<!-- #### objectNotFoundFault #### //-->
+      <xsd:element name="objectNotFoundFaultResponse" type="tns:TextGridFaultType"/>
+<!-- #### unknownResourceFault #### //-->
+      <xsd:element name="unknownResourceFaultResponse" type="tns:TextGridFaultType"/>
+<!-- #### TextGridFaultType #### //-->
+      <xsd:complexType name="TextGridFaultType">
+        <xsd:sequence>
+          <xsd:element name="faultNo" type="xsd:int" minOccurs="0" maxOccurs="1"/>
+          <xsd:element name="faultMessage" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+          <xsd:element name="cause" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+        </xsd:sequence>
+      </xsd:complexType>
     </xsd:schema>
   </wsdl:types>
-
-
-  <!--
+<!--
   #################
   # WSDL-Messages #
   #################
   //-->
-
-  <!-- #### authenticate #### //-->
+<!-- #### authenticate #### //-->
   <wsdl:message name="authenticateRequest">
-    <wsdl:part element="tns:authenticateRequest" name="authenticateInput" />
+    <wsdl:part element="tns:authenticateRequest" name="authenticateInput"/>
   </wsdl:message>
   <wsdl:message name="authenticateResponse">
-    <wsdl:part element="tns:authenticateResponse" name="authenticateOutput" />
+    <wsdl:part element="tns:authenticateResponse" name="authenticateOutput"/>
   </wsdl:message>
-
-  <!-- #### userExists #### //-->
+<!-- #### userExists #### //-->
   <wsdl:message name="userExistsRequest">
-    <wsdl:part element="tns:userExistsRequest" name="userExistsInput" />
+    <wsdl:part element="tns:userExistsRequest" name="userExistsInput"/>
   </wsdl:message>
   <wsdl:message name="userExistsResponse">
-    <wsdl:part element="tns:booleanResponse" name="userExistsOutput" />
+    <wsdl:part element="tns:booleanResponse" name="userExistsOutput"/>
   </wsdl:message>
-
-  <!-- #### createProject #### //-->
+<!-- #### createProject #### //-->
   <wsdl:message name="createProjectRequest">
-    <wsdl:part element="tns:createProjectRequest" name="createProjectInput" />
+    <wsdl:part element="tns:createProjectRequest" name="createProjectInput"/>
   </wsdl:message>
   <wsdl:message name="createProjectResponse">
-    <wsdl:part element="tns:createProjectResponse" name="createProjectOutput" />
+    <wsdl:part element="tns:createProjectResponse" name="createProjectOutput"/>
   </wsdl:message>
-
-  <!-- #### getObjects #### //-->
+<!-- #### getObjects #### //-->
   <wsdl:message name="getObjectsRequest">
-    <wsdl:part element="tns:getObjectsRequest" name="getObjectsInput" />
+    <wsdl:part element="tns:getObjectsRequest" name="getObjectsInput"/>
   </wsdl:message>
   <wsdl:message name="getObjectsResponse">
-    <wsdl:part element="tns:resourcesetResponse" name="getObjectsOutput" />
+    <wsdl:part element="tns:resourcesetResponse" name="getObjectsOutput"/>
   </wsdl:message>
-
-  <!-- #### addMember #### //-->
+<!-- #### addMember #### //-->
   <wsdl:message name="addMemberRequest">
-    <wsdl:part element="tns:addMemberRequest" name="addMemberInput" />
+    <wsdl:part element="tns:addMemberRequest" name="addMemberInput"/>
   </wsdl:message>
   <wsdl:message name="addMemberResponse">
-    <wsdl:part element="tns:booleanResponse" name="addMemberOutput" />
+    <wsdl:part element="tns:booleanResponse" name="addMemberOutput"/>
   </wsdl:message>
-
-  <!-- #### deleteMember #### //-->
+<!-- #### deleteMember #### //-->
   <wsdl:message name="deleteMemberRequest">
-    <wsdl:part element="tns:deleteMemberRequest" name="deleteMemberInput" />
+    <wsdl:part element="tns:deleteMemberRequest" name="deleteMemberInput"/>
   </wsdl:message>
   <wsdl:message name="deleteMemberResponse">
-    <wsdl:part element="tns:booleanResponse" name="deleteMemberOutput" />
+    <wsdl:part element="tns:booleanResponse" name="deleteMemberOutput"/>
   </wsdl:message>
-
-  <!-- #### tgCheckAccess #### //-->
+<!-- #### tgCheckAccess #### //-->
   <wsdl:message name="tgCheckAccessRequest">
-    <wsdl:part element="tns:tgCheckAccessRequest" name="tgCheckAccessInput" />
+    <wsdl:part element="tns:tgCheckAccessRequest" name="tgCheckAccessInput"/>
   </wsdl:message>
   <wsdl:message name="tgCheckAccessResponse">
-    <wsdl:part element="tns:booleanResponse" name="tgCheckAccessOutput" />
+    <wsdl:part element="tns:booleanResponse" name="tgCheckAccessOutput"/>
   </wsdl:message>
-
-  <!-- #### tgAddActiveRole #### //-->
+<!-- #### tgCrudCheckAccess #### //-->
+  <wsdl:message name="tgCrudCheckAccessRequest">
+    <wsdl:part element="tns:tgCrudCheckAccessRequest" name="tgCrudCheckAccessInput"/>
+  </wsdl:message>
+  <wsdl:message name="tgCrudCheckAccessResponse">
+    <wsdl:part element="tns:tgCrudCheckAccessResponse" name="tgCrudCheckAccessOutput"/>
+  </wsdl:message>
+<!-- #### tgAddActiveRole #### //-->
   <wsdl:message name="tgAddActiveRoleRequest">
-    <wsdl:part element="tns:tgAddActiveRoleRequest" name="tgAddActiveRoleInput" />
+    <wsdl:part element="tns:tgAddActiveRoleRequest" name="tgAddActiveRoleInput"/>
   </wsdl:message>
   <wsdl:message name="tgAddActiveRoleResponse">
-    <wsdl:part element="tns:booleanResponse" name="tgAddActiveRoleOutput" />
+    <wsdl:part element="tns:booleanResponse" name="tgAddActiveRoleOutput"/>
   </wsdl:message>
-
-  <!-- #### tgDropActiveRole #### //-->
+<!-- #### tgDropActiveRole #### //-->
   <wsdl:message name="tgDropActiveRoleRequest">
-    <wsdl:part element="tns:tgDropActiveRoleRequest" name="tgDropActiveRoleInput" />
+    <wsdl:part element="tns:tgDropActiveRoleRequest" name="tgDropActiveRoleInput"/>
   </wsdl:message>
   <wsdl:message name="tgDropActiveRoleResponse">
-    <wsdl:part element="tns:booleanResponse" name="tgDropActiveRoleOutput" />
+    <wsdl:part element="tns:booleanResponse" name="tgDropActiveRoleOutput"/>
   </wsdl:message>
-
-  <!-- #### tgAssignedRoles #### //-->
+<!-- #### tgAssignedRoles #### //-->
   <wsdl:message name="tgAssignedRolesRequest">
-    <wsdl:part element="tns:tgAssignedRolesRequest" name="tgAssignedRolesInput" />
+    <wsdl:part element="tns:tgAssignedRolesRequest" name="tgAssignedRolesInput"/>
   </wsdl:message>
   <wsdl:message name="tgAssignedRolesResponse">
-    <wsdl:part element="tns:rolesetResponse" name="tgAssignedRolesOutput" />
+    <wsdl:part element="tns:rolesetResponse" name="tgAssignedRolesOutput"/>
   </wsdl:message>
-
-  <!-- #### tgAssignedProjects #### //-->
+<!-- #### tgAssignedProjects #### //-->
   <wsdl:message name="tgAssignedProjectsRequest">
-    <wsdl:part element="tns:tgAssignedProjectsRequest" name="tgAssignedProjectsInput" />
+    <wsdl:part element="tns:tgAssignedProjectsRequest" name="tgAssignedProjectsInput"/>
   </wsdl:message>
   <wsdl:message name="tgAssignedProjectsResponse">
-    <wsdl:part element="tns:rolesetResponse" name="tgAssignedProjectsOutput" />
+    <wsdl:part element="tns:rolesetResponse" name="tgAssignedProjectsOutput"/>
   </wsdl:message>
-
-  <!-- #### getAllProjects #### //-->
+<!-- #### getAllProjects #### //-->
   <wsdl:message name="getAllProjectsRequest">
-    <wsdl:part element="tns:getAllProjectsRequest" name="getAllProjectsInput" />
+    <wsdl:part element="tns:getAllProjectsRequest" name="getAllProjectsInput"/>
   </wsdl:message>
   <wsdl:message name="getAllProjectsResponse">
-    <wsdl:part element="tns:getAllProjectsResponse" name="getAllProjectsOutput" />
+    <wsdl:part element="tns:getAllProjectsResponse" name="getAllProjectsOutput"/>
   </wsdl:message>
-
-  <!-- #### getLeader #### //-->
+<!-- #### getDeactivatedProjects #### //-->
+  <wsdl:message name="getDeactivatedProjectsRequest">
+    <wsdl:part element="tns:getDeactivatedProjectsRequest" name="getDeactivatedProjectsInput"/>
+  </wsdl:message>
+  <wsdl:message name="getDeactivatedProjectsResponse">
+    <wsdl:part element="tns:getDeactivatedProjectsResponse" name="getDeactivatedProjectsOutput"/>
+  </wsdl:message>
+<!-- #### getLeader #### //-->
   <wsdl:message name="getLeaderRequest">
-    <wsdl:part element="tns:getLeaderRequest" name="getLeaderInput" />
+    <wsdl:part element="tns:getLeaderRequest" name="getLeaderInput"/>
   </wsdl:message>
   <wsdl:message name="getLeaderResponse">
-    <wsdl:part element="tns:usersetResponse" name="getLeaderOutput" />
+    <wsdl:part element="tns:usersetResponse" name="getLeaderOutput"/>
   </wsdl:message>
-
-  <!-- #### registerResource #### //-->
+<!-- #### registerResource #### //-->
   <wsdl:message name="registerResourceRequest">
-    <wsdl:part element="tns:registerResourceRequest" name="registerResourceInput" />
+    <wsdl:part element="tns:registerResourceRequest" name="registerResourceInput"/>
   </wsdl:message>
   <wsdl:message name="registerResourceResponse">
-    <wsdl:part element="tns:booleanResponse" name="registerResourceOutput" />
+    <wsdl:part element="tns:operationsetResponse" name="registerResourceOutput"/>
   </wsdl:message>
-
-  <!-- #### unregisterResource #### //-->
+<!-- #### unregisterResource #### //-->
   <wsdl:message name="unregisterResourceRequest">
-    <wsdl:part element="tns:unregisterResourceRequest" name="unregisterResourceInput" />
+    <wsdl:part element="tns:unregisterResourceRequest" name="unregisterResourceInput"/>
   </wsdl:message>
   <wsdl:message name="unregisterResourceResponse">
-    <wsdl:part element="tns:booleanResponse" name="unregisterResourceOutput" />
+    <wsdl:part element="tns:booleanResponse" name="unregisterResourceOutput"/>
   </wsdl:message>
-
-  <!-- #### filterBySid #### //-->
+<!-- #### filterBySid #### //-->
   <wsdl:message name="filterBySidRequest">
-    <wsdl:part element="tns:filterBySidRequest" name="filterBySidInput" />
+    <wsdl:part element="tns:filterBySidRequest" name="filterBySidInput"/>
   </wsdl:message>
   <wsdl:message name="filterBySidResponse">
-    <wsdl:part element="tns:filterResponse" name="filterBySidOutput" />
+    <wsdl:part element="tns:filterResponse" name="filterBySidOutput"/>
   </wsdl:message>
-
-  <!-- #### tgGrantPermission #### //-->
+<!-- #### tgGrantPermission #### //-->
   <wsdl:message name="tgGrantPermissionRequest">
-    <wsdl:part element="tns:tgGrantPermissionRequest" name="tgGrantPermissionInput" />
+    <wsdl:part element="tns:tgGrantPermissionRequest" name="tgGrantPermissionInput"/>
   </wsdl:message>
   <wsdl:message name="tgGrantPermissionResponse">
-    <wsdl:part element="tns:booleanResponse" name="tgGrantPermissionOutput" />
+    <wsdl:part element="tns:booleanResponse" name="tgGrantPermissionOutput"/>
   </wsdl:message>
-
-  <!-- #### tgRevokePermission #### //-->
+<!-- #### tgRevokePermission #### //-->
   <wsdl:message name="tgRevokePermissionRequest">
-    <wsdl:part element="tns:tgRevokePermissionRequest" name="tgRevokePermissionInput" />
+    <wsdl:part element="tns:tgRevokePermissionRequest" name="tgRevokePermissionInput"/>
   </wsdl:message>
   <wsdl:message name="tgRevokePermissionResponse">
-    <wsdl:part element="tns:booleanResponse" name="tgRevokePermissionOutput" />
+    <wsdl:part element="tns:booleanResponse" name="tgRevokePermissionOutput"/>
   </wsdl:message>
-
-  <!-- #### getOwner #### //-->
+<!-- #### getOwner #### //-->
   <wsdl:message name="getOwnerRequest">
-    <wsdl:part element="tns:getOwnerRequest" name="getOwnerInput" />
+    <wsdl:part element="tns:getOwnerRequest" name="getOwnerInput"/>
   </wsdl:message>
   <wsdl:message name="getOwnerResponse">
-    <wsdl:part element="tns:getOwnerResponse" name="getOwnerOutput" />
+    <wsdl:part element="tns:getOwnerResponse" name="getOwnerOutput"/>
   </wsdl:message>
-
-  <!-- #### getMembers #### //-->
+<!-- #### getUUID #### //-->
+  <wsdl:message name="getUUIDRequest">
+    <wsdl:part element="tns:getUUIDRequest" name="getUUIDInput"/>
+  </wsdl:message>
+  <wsdl:message name="getUUIDResponse">
+    <wsdl:part element="tns:getUUIDResponse" name="getUUIDOutput"/>
+  </wsdl:message>
+<!-- #### getMembers #### //-->
   <wsdl:message name="getMembersRequest">
-    <wsdl:part element="tns:getMembersRequest" name="getMembersInput" />
+    <wsdl:part element="tns:getMembersRequest" name="getMembersInput"/>
   </wsdl:message>
   <wsdl:message name="getMembersResponse">
-    <wsdl:part element="tns:usersetResponse" name="getMembersOutput" />
+    <wsdl:part element="tns:usersetResponse" name="getMembersOutput"/>
   </wsdl:message>
-
-  <!-- #### getRights #### //-->
+<!-- #### getUserRole #### //-->
+  <wsdl:message name="getUserRoleRequest">
+    <wsdl:part element="tns:getUserRoleRequest" name="getUserRoleInput"/>
+  </wsdl:message>
+  <wsdl:message name="getUserRoleResponse">
+    <wsdl:part element="tns:getUserRoleResponse" name="getUserRoleOutput"/>
+  </wsdl:message>
+<!-- #### getFriends #### //-->
+  <wsdl:message name="getFriendsRequest">
+    <wsdl:part element="tns:getFriendsRequest" name="getFriendsInput"/>
+  </wsdl:message>
+  <wsdl:message name="getFriendsResponse">
+    <wsdl:part element="tns:getFriendsResponse" name="getFriendsOutput"/>
+  </wsdl:message>
+<!-- #### getRights #### //-->
   <wsdl:message name="getRightsRequest">
-    <wsdl:part element="tns:getRightsRequest" name="getRightsInput" />
+    <wsdl:part element="tns:getRightsRequest" name="getRightsInput"/>
   </wsdl:message>
   <wsdl:message name="getRightsResponse">
-    <wsdl:part element="tns:operationsetResponse" name="getRightsOutput" />
+    <wsdl:part element="tns:operationsetResponse" name="getRightsOutput"/>
   </wsdl:message>
-
-  <!-- #### publish #### //-->
+<!-- #### publish #### //-->
   <wsdl:message name="publishRequest">
-    <wsdl:part element="tns:publishRequest" name="publishInput" />
+    <wsdl:part element="tns:publishRequest" name="publishInput"/>
   </wsdl:message>
   <wsdl:message name="publishResponse">
-    <wsdl:part element="tns:booleanResponse" name="publishOutput" />
+    <wsdl:part element="tns:booleanResponse" name="publishOutput"/>
   </wsdl:message>
-
-  <!-- #### isPublic #### //-->
+<!-- #### isPublic #### //-->
   <wsdl:message name="isPublicRequest">
-    <wsdl:part element="tns:isPublicRequest" name="isPublicInput" />
+    <wsdl:part element="tns:isPublicRequest" name="isPublicInput"/>
   </wsdl:message>
   <wsdl:message name="isPublicResponse">
-    <wsdl:part element="tns:booleanResponse" name="isPublicOutput" />
+    <wsdl:part element="tns:booleanResponse" name="isPublicOutput"/>
   </wsdl:message>
-
-  <!-- #### setProjectFile #### //-->
+<!-- #### getNumberOfResources #### //-->
+  <wsdl:message name="getNumberOfResourcesRequest">
+    <wsdl:part element="tns:getNumberOfResourcesRequest" name="getNumberOfResourcesInput"/>
+  </wsdl:message>
+  <wsdl:message name="getNumberOfResourcesResponse">
+    <wsdl:part element="tns:getNumberOfResourcesResponse" name="getNumberOfResourcesOutput"/>
+  </wsdl:message>
+<!-- #### setProjectFile #### //-->
   <wsdl:message name="setProjectFileRequest">
-    <wsdl:part element="tns:setProjectFileRequest" name="setProjectFileInput" />
+    <wsdl:part element="tns:setProjectFileRequest" name="setProjectFileInput"/>
   </wsdl:message>
   <wsdl:message name="setProjectFileResponse">
-    <wsdl:part element="tns:booleanResponse" name="setProjectFileOutput" />
+    <wsdl:part element="tns:booleanResponse" name="setProjectFileOutput"/>
   </wsdl:message>
-
-  <!-- #### getProjectDescription #### //-->
+<!-- #### setName #### //-->
+  <wsdl:message name="setNameRequest">
+    <wsdl:part element="tns:setNameRequest" name="setNameInput"/>
+  </wsdl:message>
+  <wsdl:message name="setNameResponse">
+    <wsdl:part element="tns:booleanResponse" name="setNameOutput"/>
+  </wsdl:message>
+<!-- #### getNames #### //-->
+  <wsdl:message name="getNamesRequest">
+    <wsdl:part element="tns:getNamesRequest" name="getNamesInput"/>
+  </wsdl:message>
+  <wsdl:message name="getNamesResponse">
+    <wsdl:part element="tns:getNamesResponse" name="getNamesOutput"/>
+  </wsdl:message>
+<!-- #### getIDs #### //-->
+  <wsdl:message name="getIDsRequest">
+    <wsdl:part element="tns:getIDsRequest" name="getIDsInput"/>
+  </wsdl:message>
+  <wsdl:message name="getIDsResponse">
+    <wsdl:part element="tns:getIDsResponse" name="getIDsOutput"/>
+  </wsdl:message>
+<!-- #### getProjectDescription #### //-->
   <wsdl:message name="getProjectDescriptionRequest">
-    <wsdl:part element="tns:getProjectDescriptionRequest" name="getProjectDescriptionInput" />
+    <wsdl:part element="tns:getProjectDescriptionRequest" name="getProjectDescriptionInput"/>
   </wsdl:message>
   <wsdl:message name="getProjectDescriptionResponse">
-    <wsdl:part element="tns:getProjectDescriptionResponse" name="getProjectDescriptionOutput" />
+    <wsdl:part element="tns:getProjectDescriptionResponse" name="getProjectDescriptionOutput"/>
+  </wsdl:message>
+
+<!-- #### getSLC  #### //-->
+  <wsdl:message name="getSLCRequest">
+    <wsdl:part element="tns:getSLCRequest" name="getSLCInput"/>
+  </wsdl:message>
+  <wsdl:message name="getSLCResponse">
+    <wsdl:part element="tns:getSLCResponse" name="getSLCOutput"/>
+  </wsdl:message>
+<!-- #### getCSR  #### //-->
+  <wsdl:message name="getCSRRequest">
+    <wsdl:part element="tns:getCSRRequest" name="getCSRInput"/>
+  </wsdl:message>
+  <wsdl:message name="getCSRResponse">
+    <wsdl:part element="tns:getCSRResponse" name="getCSROutput"/>
+  </wsdl:message>
+<!-- #### putCRT  #### //-->
+  <wsdl:message name="putCRTRequest">
+    <wsdl:part element="tns:putCRTRequest" name="putCRTInput"/>
+  </wsdl:message>
+  <wsdl:message name="putCRTResponse">
+    <wsdl:part element="tns:putCRTResponse" name="putCRTOutput"/>
   </wsdl:message>
 
-  <!-- #### deactivateProject #### //-->
+<!-- #### deactivateProject #### //-->
   <wsdl:message name="deactivateProjectRequest">
-    <wsdl:part element="tns:deactivateProjectRequest" name="deactivateProjectInput" />
+    <wsdl:part element="tns:deactivateProjectRequest" name="deactivateProjectInput"/>
   </wsdl:message>
   <wsdl:message name="deactivateProjectResponse">
-    <wsdl:part element="tns:booleanResponse" name="deactivateProjectOutput" />
+    <wsdl:part element="tns:booleanResponse" name="deactivateProjectOutput"/>
+  </wsdl:message>
+<!-- #### reactivateProject #### //-->
+  <wsdl:message name="reactivateProjectRequest">
+    <wsdl:part element="tns:reactivateProjectRequest" name="reactivateProjectInput"/>
+  </wsdl:message>
+  <wsdl:message name="reactivateProjectResponse">
+    <wsdl:part element="tns:booleanResponse" name="reactivateProjectOutput"/>
+  </wsdl:message>
+<!-- #### deleteProject #### //-->
+  <wsdl:message name="deleteProjectRequest">
+    <wsdl:part element="tns:deleteProjectRequest" name="deleteProjectInput"/>
+  </wsdl:message>
+  <wsdl:message name="deleteProjectResponse">
+    <wsdl:part element="tns:booleanResponse" name="deleteProjectOutput"/>
+  </wsdl:message>
+<!-- #### getSid #### //-->
+  <wsdl:message name="getSidRequest">
+    <wsdl:part element="tns:getSidRequest" name="getSidInput"/>
   </wsdl:message>
-
-  <!-- #### getSid #### //-->
   <wsdl:message name="getSidResponse">
-    <wsdl:part element="tns:getSidResponse" name="getSidOutput" />
+    <wsdl:part element="tns:getSidResponse" name="getSidOutput"/>
   </wsdl:message>
-
-  <!-- #### authenticationFault #### //-->
+<!-- #### getSupportedUserAttributes #### //-->
+  <wsdl:message name="getSupportedUserAttributesRequest">
+    <wsdl:part element="tns:getSupportedUserAttributesRequest" name="getSupportedUserAttributesInput"/>
+  </wsdl:message>
+  <wsdl:message name="getSupportedUserAttributesResponse">
+    <wsdl:part element="tns:getSupportedUserAttributesResponse" name="getSupportedUserAttributesOutput"/>
+  </wsdl:message>
+<!-- #### getMyUserAttributes #### //-->
+  <wsdl:message name="getMyUserAttributesRequest">
+    <wsdl:part element="tns:getMyUserAttributesRequest" name="getMyUserAttributesInput"/>
+  </wsdl:message>
+  <wsdl:message name="getMyUserAttributesResponse">
+    <wsdl:part element="tns:getMyUserAttributesResponse" name="getMyUserAttributesOutput"/>
+  </wsdl:message>
+<!-- #### setMyUserAttributes #### //-->
+  <wsdl:message name="setMyUserAttributesRequest">
+    <wsdl:part element="tns:setMyUserAttributesRequest" name="setMyUserAttributesInput"/>
+  </wsdl:message>
+  <wsdl:message name="setMyUserAttributesResponse">
+    <wsdl:part element="tns:booleanResponse" name="setMyUserAttributesOutput"/>
+  </wsdl:message>
+<!-- #### authenticationFault #### //-->
   <wsdl:message name="authenticationFault">
-    <wsdl:part element="tns:authenticationFaultResponse" name="authenticationFault" />
+    <wsdl:part element="tns:authenticationFaultResponse" name="authenticationFault"/>
   </wsdl:message>
-
-  <!-- #### unknownResourceFault #### //-->
-  <wsdl:message name="unknownResourceFault">
-    <wsdl:part element="tns:unknownResourceFaultResponse" name="unknownResourceFault" />
+<!-- #### unknownProjectFault #### //-->
+  <wsdl:message name="unknownProjectFault">
+    <wsdl:part element="tns:unknownProjectFaultResponse" name="unknownProjectFault"/>
   </wsdl:message>
-
-  <!-- #### rbacFault #### //-->
+<!-- #### rbacFault #### //-->
   <wsdl:message name="rbacFault">
-    <wsdl:part element="tns:rbacFaultResponse" name="rbacFault" />
+    <wsdl:part element="tns:rbacFaultResponse" name="rbacFault"/>
   </wsdl:message>
-
-
-
-  <!--
-  ##########################
-  # Port-Type-Definitionen #
-  ##########################
-  //-->
+<!-- #### notEmptyFault #### //-->
+  <wsdl:message name="notEmptyFault">
+    <wsdl:part element="tns:notEmptyFaultResponse" name="notEmptyFault"/>
+  </wsdl:message>
+<!-- #### unknownResourceFault #### //-->
+  <wsdl:message name="unknownResourceFault">
+    <wsdl:part element="tns:unknownResourceFaultResponse" name="unknownResourceFault"/>
+  </wsdl:message>
+<!--
+		########################## # Port-Type-Definitionen #
+		########################## //
+	-->
   <wsdl:portType name="port_tgextra">
-
-    <!-- #### authenticate #### //-->
+<!-- #### authenticate #### //-->
     <wsdl:operation name="authenticate">
       <wsdl:documentation>
-	Internal function used by applications to identify themselves
-	(via shared secret between RBAC and WebAuth).
-	<ul>
-	  <li><b>Input Parameters</b> authenticateRequest, with elements
-	    <ul>
-	      <li>username - String with name of application</li>
-	      <li>password - String with password for this application</li>
-	      <li>log - String for log information, optional</li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> authenticateResponse, with element
-	  <ul>
-	    <li>auth - String, SessionID of authenticated application
-	    (See getSid() for format.)</li>
-	  </ul>
-	  </li>
-	  <li><b>Faults</b>
-	    <ul>
-	      <li>authenticationFault</li>
-	    </ul>
-	  </li>
-	</ul>
-      </wsdl:documentation>
-      <wsdl:input message="tns:authenticateRequest" />
-      <wsdl:output message="tns:authenticateResponse" />
-      <wsdl:fault name="authenticationFault" message="tns:authenticationFault" />
+				Internal function used by applications to identify themselves
+				(via
+				shared secret between RBAC and WebAuth).
+				<ul><li><b>Input Parameters</b>
+						authenticateRequest, with elements
+						<ul><li>username - String with name of application</li><li>password - String with password for this application</li><li>log - String for log information, optional</li></ul></li><li><b>Output Parameters</b>
+						authenticateResponse, with element
+						<ul><li>auth - String, SessionID of authenticated application
+								(See
+								getSid() for format.)</li></ul></li><li><b>Faults</b><ul><li>authenticationFault</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:authenticateRequest"/>
+      <wsdl:output message="tns:authenticateResponse"/>
+      <wsdl:fault name="authenticationFault" message="tns:authenticationFault"/>
     </wsdl:operation>
-
-    <!-- #### userExists #### //-->
+<!-- #### userExists #### //-->
     <wsdl:operation name="userExists">
-
       <wsdl:documentation>
-	Checks whether this UserID (eduPersonPrincipalName) exists in RBAC.
-	<ul>
-	  <li><b>Input Parameters</b> userExistsRequest, with elements
-	    <ul>
-	      <li>auth - String, SessionID of application or user asking</li>
-	      <li>log - String for log information, optional</li>
-	      <li>username - String containing the ID (ePPN) of the user</li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> booleanResponse, with element
-	  <ul>
-	    <li>result - boolean, true if user exists, false
-	    otherwise</li>
-	  </ul>
-	  </li>
-	  <li><b>Faults</b>
-	    <ul>
-	      <li>authenticationFault</li>
-	    </ul>
-	  </li>
-	</ul>
-      </wsdl:documentation>
-
-      <wsdl:input message="tns:userExistsRequest" />
-      <wsdl:output message="tns:userExistsResponse" />
-      <wsdl:fault name="authenticationFault" message="tns:authenticationFault" />
+				Checks whether this UserID (eduPersonPrincipalName) exists in RBAC.
+				<ul><li><b>Input Parameters</b>
+						userExistsRequest, with elements
+						<ul><li>auth - String, SessionID of application or user asking</li><li>log - String for log information, optional</li><li>username - String containing the ID (ePPN) of the user</li></ul></li><li><b>Output Parameters</b>
+						booleanResponse, with element
+						<ul><li>result - boolean, true if user exists, false
+								otherwise</li></ul></li><li><b>Faults</b><ul><li>authenticationFault</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:userExistsRequest"/>
+      <wsdl:output message="tns:userExistsResponse"/>
+      <wsdl:fault name="authenticationFault" message="tns:authenticationFault"/>
     </wsdl:operation>
-
-    <!-- #### createProject #### //-->
+<!-- #### createProject #### //-->
     <wsdl:operation name="createProject">
-
       <wsdl:documentation>
-	Creates a project. Projects are roles with various sub-roles,
-	i.e Leader, Administrator... Creates default roles with
-	default permissions:
-	<table>
-	  <tr><td>Role</td> <td>Right on Project</td></tr>
-	  <tr><td>Projektleiter (project leader)</td><td>delegate</td></tr>
-	  <tr><td>Administrator</td><td>-none-</td></tr>
-	  <tr><td>Bearbeiter (editor)</td><td>create</td></tr>
-	  <tr><td>Beobachter (observer)</td><td>-none-</td></tr>
-	</table>
-	  These permissions can be adapted afterwards. For the rights
-	  on resources, see registerResource().
-	<ul>
-	  <li><b>Input Parameters</b> createProjectRequest, with elements
-	    <ul>
-	      <li>auth - String, SessionID of future project
-	      leader</li>
-	      <li>log - String for log information, optional</li>
-	      <li>name - String with name of project</li>
-	      <li>description - String with description of
-	      project</li>
-	      <li>file - String with URI of project file
-	      - <em>currently unused, omit or leave empty and use
-	      setProjectFile( ) once the file resource has been
-	      created</em></li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> createProjectResponse, with element
-	    <ul>
-	      <li>projectId - String with the newly assigned project
-	      ID, such as "TGPR123"</li>
-	    </ul>
-	  </li>
-	</ul>
-      </wsdl:documentation>
-
-      <wsdl:input message="tns:createProjectRequest" />
-      <wsdl:output message="tns:createProjectResponse" />
+				Creates a project. Projects are roles with various sub-roles,
+				i.e
+				Leader, Administrator... Creates default roles with
+				default
+				permissions:
+				<table><tr><td>Role</td><td>Right on Project</td></tr><tr><td>Projektleiter (project leader)</td><td>delegate</td></tr><tr><td>Administrator</td><td>-none-</td></tr><tr><td>Bearbeiter (editor)</td><td>create</td></tr><tr><td>Beobachter (observer)</td><td>-none-</td></tr></table>
+				These permissions can be adapted afterwards. For the rights
+				on
+				resources, see registerResource().
+				<ul><li><b>Input Parameters</b>
+						createProjectRequest, with elements
+						<ul><li>auth - String, SessionID of future project
+								leader</li><li>log - String for log information, optional</li><li>name - String with name of project</li><li>description - String with description of
+								project</li><li>
+								file - String with URI of project file
+								-
+								<em>currently unused, omit or leave empty and use
+									setProjectFile( ) once the file resource has been
+									created</em>
+							</li></ul></li><li><b>Output Parameters</b>
+						createProjectResponse, with element
+						<ul><li>projectId - String with the newly assigned project
+								ID, such as
+								"TGPR123"</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:createProjectRequest"/>
+      <wsdl:output message="tns:createProjectResponse"/>
     </wsdl:operation>
-
-    <!-- #### setProjectFile #### //-->
+<!-- #### setProjectFile #### //-->
     <wsdl:operation name="setProjectFile">
-
       <wsdl:documentation>
-	Registers the URI of a TextGridObject to be the project file
-	for project-specific settings. The URI must be registered at
-	RBAC.
-	<ul>
-	  <li><b>Input Parameters</b> setProjectFileRequest, with elements
-	    <ul>
-	      <li>auth - String, SessionID of Project Leader</li>
-	      <li>log - String for log information, optional</li>
-	      <li>project - String with projectID</li>
-	      <li>file - String with URI of project file</li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> booleanResponse, with element
-	    <ul>
-	      <li>result - boolean, true if operation was successful,
-	      false otherwise</li>
-	    </ul>
-	  </li>
-	  <li><b>Faults</b>
-	    <ul>
-	      <li>authenticationFault</li>
-	    </ul>
-	  </li>
-	</ul>
-      </wsdl:documentation>
-
-      <wsdl:input message="tns:setProjectFileRequest" />
-      <wsdl:output message="tns:setProjectFileResponse" />
-      <wsdl:fault name="authenticationFault" message="tns:authenticationFault" />
+				Registers the URI of a TextGridObject to be the project file
+				for
+				project-specific settings. The URI must be registered at
+				RBAC beforehand.
+				<ul><li><b>Input Parameters</b>
+						setProjectFileRequest, with elements
+						<ul><li>auth - String, SessionID of Project Leader</li><li>log - String for log information, optional</li><li>project - String with projectID</li><li>file - String with URI of project file</li></ul></li><li><b>Output Parameters</b>
+						booleanResponse, with element
+						<ul><li>result - boolean, true if operation was successful,
+								false
+								otherwise</li></ul></li><li><b>Faults</b><ul><li>authenticationFault</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:setProjectFileRequest"/>
+      <wsdl:output message="tns:setProjectFileResponse"/>
+      <wsdl:fault name="authenticationFault" message="tns:authenticationFault"/>
     </wsdl:operation>
-
-    <!-- #### getObjects #### //-->
+<!-- #### setName #### //-->
+    <wsdl:operation name="setName">
+      <wsdl:documentation>
+				Supply user-specific information for display instead of the ePPN.
+				<ul><li><b>Input Parameters</b>
+						setNameRequest, with elements
+						<ul><li>auth - String, SessionID of User who wants to set their name</li><li>log - String for log information, optional</li><li>webAuthSecret - String that is known by the Web
+								Authentication which will assure that the data are correct. If
+								the secret is not given, the user entry will be marked as a
+								volunteered one, where the users gave their details themselves.</li><li>name - String with User Name, preferredly in the form of
+								"givenname surname"</li><li>mail - String with User's E-Mail address</li><li>organisation - String with Affiliation of the User</li><li>agreeSerach - Boolean telling whether the user agrees to be
+								searchable by the getIDs function.</li></ul></li><li><b>Output Parameters</b>
+						booleanResponse, with element
+						<ul><li>result - boolean, true if operation was successful,
+								false
+								otherwise</li></ul></li><li><b>Faults</b><ul>
+						</ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:setNameRequest"/>
+      <wsdl:output message="tns:setNameResponse"/>
+    </wsdl:operation>
+<!-- #### getNames #### //-->
+    <wsdl:operation name="getNames">
+      <wsdl:documentation>
+				Returns user records for a list of ePPNs
+				<ul><li><b>Input Parameters</b>
+						getNamesRequest, with elements
+						<ul><li>auth - String, SessionID of user that wants to query for
+								names</li><li>log - String,</li><li>ePPN - List of Strings</li></ul></li><li><b>Output Parameters</b>
+						getNamesResponse. It contains 0...n userDetails, which themselves
+						have elements
+						<ul><li>ePPN - String holding ePPN of user </li><li>name - String holding Name (cn) of user </li><li>mail - String holding E-Mail address of user </li><li>organisation - String holding user' affiliation </li><li>agreesearch - Boolean, whether user wants his ID to be found
+								be a search for name or mail address </li><li>usersupplieddata - Boolean, whether user himself or his
+								organisation supplied these data </li></ul></li><li><b>Faults</b>
+						none
+					</li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:getNamesRequest"/>
+      <wsdl:output message="tns:getNamesResponse"/>
+    </wsdl:operation>
+<!-- #### getIDs #### //-->
+    <wsdl:operation name="getIDs">
+      <wsdl:documentation>
+				Returns user records for a name or mail address.
+				<ul><li><b>Input Parameters</b>
+						getIDsRequest, with elements
+						<ul><li>auth - String, SessionID of user that wants to query for
+								names</li><li>log - String,</li><li>name - String with Name</li><li>mail - String with E-Mail Address</li><li>organisation - String with Organisation</li></ul></li><li><b>Output Parameters</b>
+						getIDsResponse. It contains 0...n userDetails, which themselves
+						have elements
+						<ul><li>ePPN - String holding ePPN of user </li><li>name - String holding Name (cn) of user </li><li>mail - String holding E-Mail address of user </li><li>organisation - String holding user' affiliation </li><li>agreesearch - Boolean, whether user wants his ID to be found
+								be a search for name or mail address </li><li>usersupplieddata - Boolean, whether user himself or his
+								organisation supplied these data </li></ul></li><li><b>Faults</b>
+						none
+					</li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:getIDsRequest"/>
+      <wsdl:output message="tns:getIDsResponse"/>
+    </wsdl:operation>
+<!-- #### getObjects #### //-->
     <wsdl:operation name="getObjects">
-
       <wsdl:documentation>
-	Returns URIs of all resources in project. Caller must have
-	some role in the project.
-	<ul>
-	  <li><b>Input Parameters</b> getObjectsRequest, with elements
-	    <ul>
-	      <li>auth - String, SessionID of user</li>
-	      <li>log - String for log information, optional</li>
-	      <li>project - String with projectID</li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> resourcesetResponse, with element
-	    <ul>
-	      <li>resource - String with URI of resource in
-	      project. Can occur multiple times</li>
-	    </ul>
-	  </li>
-	</ul>
-      </wsdl:documentation>
-
-      <wsdl:input message="tns:getObjectsRequest" />
-      <wsdl:output message="tns:getObjectsResponse" />
+				Returns URIs of all resources in project. Caller must have
+				some role
+				in the project.
+				<ul><li><b>Input Parameters</b>
+						getObjectsRequest, with elements
+						<ul><li>auth - String, SessionID of user</li><li>log - String for log information, optional</li><li>project - String with projectID</li></ul></li><li><b>Output Parameters</b>
+						resourcesetResponse, with element
+						<ul><li>resource - String with URI of resource in
+								project. Can occur
+								multiple times</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:getObjectsRequest"/>
+      <wsdl:output message="tns:getObjectsResponse"/>
     </wsdl:operation>
-
-    <!-- #### addMember #### //-->
+<!-- #### addMember #### //-->
     <wsdl:operation name="addMember">
-
       <wsdl:documentation>
-	Project leaders can assign users into specific roles. This
-	still does not effect <em>activation</em> of the role in the
-	user(s)' session(s).
-	<ul>
-	  <li><b>Input Parameters</b> addMemberRequest, with elements
-	    <ul>
-	      <li>auth - String, SessionID of project leader</li>
-	      <li>log - String for log information, optional</li>
-	      <li>username - String with ePPN of user to be added</li>
-	      <li>role - String with full-qualified role name of the
-	      role the user is to be signed into. The full-qualified
-	      role name has the form
-	      "Administrator,TGPR3,Projekt-Teilnehmer"</li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> booleanResponse, with element
-	    <ul>
-	      <li>result - boolean, true if operation was successful,
-	      false otherwise</li>
-	    </ul>
-	  </li>
-	  <li><b>Faults</b>
-	    <ul>
-	      <li>rbacFault</li>
-	    </ul>
-	  </li>
-	</ul>
-      </wsdl:documentation>
-
-      <wsdl:input message="tns:addMemberRequest" />
-      <wsdl:output message="tns:addMemberResponse" />
-      <wsdl:fault name="rbacFault" message="tns:rbacFault" />
+				Project leaders can assign users into specific roles. This
+				still does
+				not effect
+				<em>activation</em>
+				of the role in the
+				user(s)' session(s).
+				<ul><li><b>Input Parameters</b>
+						addMemberRequest, with elements
+						<ul><li>auth - String, SessionID of project leader</li><li>log - String for log information, optional</li><li>username - String with ePPN of user to be added</li><li>role - String with full-qualified role name of the
+								role the
+								user is to be signed into. The full-qualified
+								role name has the
+								form
+								"Administrator,TGPR3,Projekt-Teilnehmer"</li></ul></li><li><b>Output Parameters</b>
+						booleanResponse, with element
+						<ul><li>result - boolean, true if operation was successful,
+								false
+								otherwise</li></ul></li><li><b>Faults</b><ul><li>rbacFault</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:addMemberRequest"/>
+      <wsdl:output message="tns:addMemberResponse"/>
+      <wsdl:fault name="rbacFault" message="tns:rbacFault"/>
     </wsdl:operation>
-
-    <!-- #### deleteMember #### //-->
+<!-- #### deleteMember #### //-->
     <wsdl:operation name="deleteMember">
       <wsdl:documentation>
-	Project leaders can delete a role from a user. This
-	still does not effect <em>(de-)activation</em> of the role in the
-	user(s)' session(s).
-	<ul>
-	  <li><b>Input Parameters</b> deleteMemberRequest, with elements
-	    <ul>
-	      <li>auth - String, SessionID of project leader</li>
-	      <li>log - String for log information, optional</li>
-	      <li>username - String with ePPN of user to be signed off</li>
-	      <li>role - String with full-qualified role name of the
-	      role the user is to be signed off. The full-qualified
-	      role name has the form
-	      "Administrator,TGPR3,Projekt-Teilnehmer"</li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> booleanResponse, with element
-	    <ul>
-	      <li>result - boolean, true if operation was successful,
-	      false otherwise</li>
-	    </ul>
-	  </li>
-	</ul>
-      </wsdl:documentation>
-
-      <wsdl:input message="tns:deleteMemberRequest" />
-      <wsdl:output message="tns:deleteMemberResponse" />
+				Project leaders can delete a role from a user. This
+				still does not
+				effect
+				<em>(de-)activation</em>
+				of the role in the
+				user(s)' session(s).
+				<ul><li><b>Input Parameters</b>
+						deleteMemberRequest, with elements
+						<ul><li>auth - String, SessionID of project leader</li><li>log - String for log information, optional</li><li>username - String with ePPN of user to be signed off</li><li>role - String with full-qualified role name of the
+								role the
+								user is to be signed off. The full-qualified
+								role name has the
+								form
+								"Administrator,TGPR3,Projekt-Teilnehmer"</li></ul></li><li><b>Output Parameters</b>
+						booleanResponse, with element
+						<ul><li>result - boolean, true if operation was successful,
+								false
+								otherwise</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:deleteMemberRequest"/>
+      <wsdl:output message="tns:deleteMemberResponse"/>
     </wsdl:operation>
-
-    <!-- #### tgAddActiveRole #### //-->
+<!-- #### tgAddActiveRole #### //-->
     <wsdl:operation name="tgAddActiveRole">
-
       <wsdl:documentation>
-	Activates a role for a session. NB, currently the login
-	process activates <em>all</em> available roles of the user.
-	<ul>
-	  <li><b>Input Parameters</b> tgAddActiveRoleRequest, with elements
-	    <ul>
-	      <li>auth - String, SessionID of user</li>
-	      <li>log - String for log information, optional</li>
-	      <li>role - String with full-qualified role name of the
-	      role the user wants to activate. The full-qualified role
-	      name has the form
-	      "Administrator,TGPR3,Projekt-Teilnehmer".</li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> booleanResponse, with element
-	    <ul>
-	      <li>result - boolean, true if operation was successful,
-	      false otherwise</li>
-	    </ul>
-	  </li>
-	</ul>
-      </wsdl:documentation>
-
-      <wsdl:input message="tns:tgAddActiveRoleRequest" />
-      <wsdl:output message="tns:tgAddActiveRoleResponse" />
+				Activates a role for a session. NB, currently the login
+				process
+				activates
+				<em>all</em>
+				available roles of the user.
+				<ul><li><b>Input Parameters</b>
+						tgAddActiveRoleRequest, with elements
+						<ul><li>auth - String, SessionID of user</li><li>log - String for log information, optional</li><li>role - String with full-qualified role name of the
+								role the
+								user wants to activate. The full-qualified role
+								name has the form
+								"Administrator,TGPR3,Projekt-Teilnehmer".</li></ul></li><li><b>Output Parameters</b>
+						booleanResponse, with element
+						<ul><li>result - boolean, true if operation was successful,
+								false
+								otherwise</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:tgAddActiveRoleRequest"/>
+      <wsdl:output message="tns:tgAddActiveRoleResponse"/>
     </wsdl:operation>
-
-    <!-- #### tgDropActiveRole #### //-->
+<!-- #### tgDropActiveRole #### //-->
     <wsdl:operation name="tgDropActiveRole">
-
       <wsdl:documentation>
-	De-activates a role for a session.
-	<ul>
-	  <li><b>Input Parameters</b> tgDropActiveRoleRequest, with elements
-	    <ul>
-	      <li>auth - String, SessionID of user</li>
-	      <li>log - String for log information, optional</li>
-	      <li>role - String with full-qualified role name of the
-	      role the user wants to de-activate. The full-qualified role
-	      name has the form
-	      "Administrator,TGPR3,Projekt-Teilnehmer".</li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> booleanResponse, with element
-	    <ul>
-	      <li>result - boolean, true if operation was successful,
-	      false otherwise</li>
-	    </ul>
-	  </li>
-	</ul>
-      </wsdl:documentation>
-
-      <wsdl:input message="tns:tgDropActiveRoleRequest" />
-      <wsdl:output message="tns:tgDropActiveRoleResponse" />
+				De-activates a role for a session.
+				<ul><li><b>Input Parameters</b>
+						tgDropActiveRoleRequest, with elements
+						<ul><li>auth - String, SessionID of user</li><li>log - String for log information, optional</li><li>role - String with full-qualified role name of the
+								role the
+								user wants to de-activate. The full-qualified role
+								name has the
+								form
+								"Administrator,TGPR3,Projekt-Teilnehmer".</li></ul></li><li><b>Output Parameters</b>
+						booleanResponse, with element
+						<ul><li>result - boolean, true if operation was successful,
+								false
+								otherwise</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:tgDropActiveRoleRequest"/>
+      <wsdl:output message="tns:tgDropActiveRoleResponse"/>
     </wsdl:operation>
-
-    <!-- #### tgCheckAccess #### //-->
+<!-- #### tgCheckAccess #### //-->
     <wsdl:operation name="tgCheckAccess">
-
       <wsdl:documentation>
-	Returns access decision for given operation on given resource
-	for session.
-	<ul>
-	  <li><b>Input Parameters</b> tgCheckAccessRequest, with elements
-	    <ul>
-	      <li>auth - String, SessionID of user (or service) that
-	      wants to intitiate the check</li>
-	      <li>log - String for log information, optional</li>
-	      <li>sid - String, SessionID of user for whom the check
-	      is to be done. Leave empty if check is to be done for
-	      user's own session given under <em>auth</em></li>
-	      <li>operation - String, such as "read", "write"</li>
-	      <li>resource - String, name of project or role, or URI of
-	      TgObject resource</li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> booleanResponse, with element
-	    <ul>
-	      <li>result - boolean, true if operation was successful,
-	      false otherwise</li>
-	    </ul>
-	  </li>
-	</ul>
-      </wsdl:documentation>
-
-      <wsdl:input message="tns:tgCheckAccessRequest" />
-      <wsdl:output message="tns:tgCheckAccessResponse" />
+				Returns access decision for given operation on given resource
+				for
+				session.
+				<ul><li><b>Input Parameters</b>
+						tgCheckAccessRequest, with elements
+						<ul><li>auth - String, SessionID of user (or service) that
+								wants to
+								intitiate the check</li><li>log - String for log information, optional</li><li>
+								sid - String, SessionID of user for whom the check
+								is to be done.
+								Leave empty if check is to be done for
+								user's own session given
+								under
+								<em>auth</em>
+							</li><li>operation - String, such as "read", "write"</li><li>resource - String, name of project or role, or URI of
+								TgObject resource</li></ul></li><li><b>Output Parameters</b>
+						booleanResponse, with element
+						<ul><li>result - boolean, true if operation was successful,
+								false
+								otherwise</li></ul></li><li><b>Faults</b><ul><li>unknownResourceFault</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:tgCheckAccessRequest"/>
+      <wsdl:output message="tns:tgCheckAccessResponse"/>
+      <wsdl:fault name="unknownResourceFault" message="tns:unknownResourceFault"/>
     </wsdl:operation>
-
-    <!-- #### tgAssignedRoles #### //-->
+<!-- #### tgCrudCheckAccess #### //-->
+    <wsdl:operation name="tgCrudCheckAccess">
+      <wsdl:documentation>
+				Returns access decision for given operation on given resource
+				for
+				session. In addition the owner of the session and informations
+				on the
+				project is returned.
+				<ul><li><b>Input Parameters</b>
+						tgCrudCheckAccessRequest, with elements
+						<ul><li>auth - String, SessionID of user (or service) that
+								wants to
+								intitiate the check</li><li>log - String for log information, optional</li><li>
+								sid - String, SessionID of user for whom the check
+								is to be done.
+								Leave empty if check is to be done for
+								user's own session given
+								under
+								<em>auth</em>
+							</li><li>secret - String, Shared secred only CRUD knows</li><li>operation - String, such as "read", "write"</li><li>resource - String, name of project or role, or URI of
+								TgObject resource</li></ul></li><li><b>Output Parameters</b>
+						booleanResponse, with element
+						<ul><li>result - boolean, true if operation was successful,
+								false
+								otherwise</li></ul></li><li><b>Faults</b><ul><li>unknownResourceFault</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:tgCrudCheckAccessRequest"/>
+      <wsdl:output message="tns:tgCrudCheckAccessResponse"/>
+      <wsdl:fault name="unknownResourceFault" message="tns:unknownResourceFault"/>
+      <wsdl:fault name="authenticationFault" message="tns:authenticationFault"/>
+    </wsdl:operation>
+<!-- #### tgAssignedRoles #### //-->
     <wsdl:operation name="tgAssignedRoles">
-
       <wsdl:documentation>
-	Returns the roles the requesting user has, in any project. Can
-	be called for another user by project leaders, then roles will
-	be limited to the intersection of those projects
-	where <em>auth</em> is leader AND <em>username</em> has some
-	role in.
-	<ul>
-	  <li><b>Input Parameters</b> tgAssignedRolesRequest, with elements
-	    <ul>
-	      <li>auth - String, SessionID of user that wants to
-	      query for roles</li>
-	      <li>log - String for log information, optional</li>
-	      <li>username - String, ePPN of user for whom the
-	      query is to be done. Can be empty.</li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> rolesetResponse, with element
-	    <ul>
-	      <li>role - String with full-qualified role name of the
-	      role. The full-qualified role name has the form
-	      "Administrator,TGPR3,Projekt-Teilnehmer". Can occur
-	      multiple times.</li>
-	    </ul>
-	  </li>
-	</ul>
-      </wsdl:documentation>
-
-      <wsdl:input message="tns:tgAssignedRolesRequest" />
-      <wsdl:output message="tns:tgAssignedRolesResponse" />
+				Returns the roles the requesting user has, in any project. Can
+				be
+				called for another user by project leaders, then roles will
+				be
+				limited to the intersection of those projects
+				where
+				<em>auth</em>
+				is leader AND
+				<em>username</em>
+				has some
+				role in.
+				<ul><li><b>Input Parameters</b>
+						tgAssignedRolesRequest, with elements
+						<ul><li>auth - String, SessionID of user that wants to
+								query for roles</li><li>log - String for log information, optional</li><li>username - String, ePPN of user for whom the
+								query is to be
+								done. Can be empty.</li></ul></li><li><b>Output Parameters</b>
+						rolesetResponse, with element
+						<ul><li>role - String with full-qualified role name of the
+								role. The
+								full-qualified role name has the form
+								"Administrator,TGPR3,Projekt-Teilnehmer". Can occur
+								multiple
+								times.</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:tgAssignedRolesRequest"/>
+      <wsdl:output message="tns:tgAssignedRolesResponse"/>
     </wsdl:operation>
-
-    <!-- #### tgAssignedProjects #### //-->
+<!-- #### tgAssignedProjects #### //-->
     <wsdl:operation name="tgAssignedProjects">
-
       <wsdl:documentation>
-	Returns projectIDs of all projects the user has some role in.
-	<ul>
-	  <li><b>Input Parameters</b> tgAssignedProjectsRequest, with elements
-	    <ul>
-	      <li>auth - String, SessionID of user that wants to
-	      query for roles</li>
-	      <li>log - String for log information, optional</li>
-	      <li>level - Integer. Can be either empty (= level 0) or one of
-	      the following:
-		<ul>
-		  <li>0 - Returns all projects the user has any
-		  role in (default).</li>
-		  <li>1 - Returns only projects where the user has
-		  read access, i.e. <ul><li>she is Beobachter
-		  (observer) or</li><li>she is Bearbeiter (editor)
-		  or</li><li>there are any public resources in the
-		  project</li></ul></li>
-		  <li>2 - like level 1, but public resources do not
-		  count</li>
-		  <li>3 - Returns only projects where the user has
-		  write access, i.e. she is Bearbeiter (editor)</li>
-		  <li>4 - Returns only projects where the user has
-		  delegate access, i.e. she is Projektleiter (project
-		  leader)</li>
-		</ul>
-	      </li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> rolesetResponse, with element
-	    <ul>
-	      <li>role - String with projectID (no full-qualified role
-	      name is needed here). Can occur multiple times.</li>
-	    </ul>
-	  </li>
-	</ul>
-      </wsdl:documentation>
-
-      <wsdl:input message="tns:tgAssignedProjectsRequest" />
-      <wsdl:output message="tns:tgAssignedProjectsResponse" />
+				Returns projectIDs of all projects the user has some role in.
+				<ul><li><b>Input Parameters</b>
+						tgAssignedProjectsRequest, with elements
+						<ul><li>auth - String, SessionID of user that wants to
+								query for roles</li><li>log - String for log information, optional</li><li>
+								level - Integer. Can be either empty (= level 0) or one of
+								the
+								following:
+								<ul><li>0 - Returns all projects the user has any
+										role in (default).</li><li>
+										1 - Returns only projects where the user has
+										read access, i.e.
+										<ul><li>she is Beobachter
+												(observer) or</li><li>she is Bearbeiter (editor)
+												or</li><li>there are any public resources in the
+												project</li></ul>
+									</li><li>2 - like level 1, but public resources do not
+										count</li><li>3 - Returns only projects where the user has
+										write access,
+										i.e. she is Bearbeiter (editor)</li><li>4 - Returns only projects where the user has
+										delegate
+										access, i.e. she is Projektleiter (project
+										leader)</li></ul>
+							</li></ul></li><li><b>Output Parameters</b>
+						rolesetResponse, with element
+						<ul><li>role - String with projectID (no full-qualified role
+								name is
+								needed here). Can occur multiple times.</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:tgAssignedProjectsRequest"/>
+      <wsdl:output message="tns:tgAssignedProjectsResponse"/>
     </wsdl:operation>
-
-    <!-- #### getAllProjects #### //-->
+<!-- #### getAllProjects #### //-->
     <wsdl:operation name="getAllProjects">
-
       <wsdl:documentation>
-	Returns all projects stored in this RBAC instance with ID,
-	name, and description. See also getProjectDescription().
-	<ul>
-	  <li><b>Input Parameters</b> getAllProjectsRequest, with elements
-	    <ul>
-	      <li>auth - String, SessionID of user that wants to query
-	      for projects. Can be omitted as this information can be
-	      reviewed publicly</li>
-	      <li>log - String for log information, optional</li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> getAllProjectsResponse, with element
-	    <ul>
-	      <li>project - projectInfo, can occur multiple
-	      times. <br/>
-		The type projectInfo consists of the following elements:
-		<ul>
-		  <li>id - String, project ID, such as "TGPR123"</li>
-		  <li>description - String, project description</li>
-		  <li>name - String, project name</li>
-		  <li>file - String with URI of project file for
-		  project-specific settings. </li>
-		</ul>
-	      </li>
-	    </ul>
-	  </li>
-	</ul>
-      </wsdl:documentation>
-
-      <wsdl:input message="tns:getAllProjectsRequest" />
-      <wsdl:output message="tns:getAllProjectsResponse" />
+				Returns all projects stored in this RBAC instance with ID,
+				name, and
+				description. See also getProjectDescription().
+				<ul><li><b>Input Parameters</b>
+						getAllProjectsRequest, with elements
+						<ul><li>auth - String, SessionID of user that wants to query
+								for
+								projects. Can be omitted as this information can be
+								reviewed
+								publicly</li><li>log - String for log information, optional</li></ul></li><li><b>Output Parameters</b>
+						getAllProjectsResponse, with element
+						<ul><li>
+								project - projectInfo, can occur multiple
+								times.
+								<br/>
+								The type projectInfo consists of the following elements:
+								<ul><li>id - String, project ID, such as "TGPR123"</li><li>description - String, project description</li><li>name - String, project name</li><li>file - String with URI of project file for
+										project-specific
+										settings. </li></ul>
+							</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:getAllProjectsRequest"/>
+      <wsdl:output message="tns:getAllProjectsResponse"/>
     </wsdl:operation>
-
-    <!-- #### getLeader #### //-->
+<!-- #### getDeactivatedProjects #### //-->
+    <wsdl:operation name="getDeactivatedProjects">
+      <wsdl:documentation>
+				Returns all projects stored in this RBAC instance with ID,
+				name, and
+				description that are deactivated and can be
+				reactivated by the
+				current user.
+				<ul><li><b>Input Parameters</b>
+						getAllProjectsRequest, with elements
+						<ul><li>auth - String, SessionID of user that wants to query
+								for
+								projects. Can be omitted as this information can be
+								reviewed
+								publicly</li><li>log - String for log information, optional</li></ul></li><li><b>Output Parameters</b>
+						getDeactivatedProjectsResponse, with element
+						<ul><li>
+								project - projectInfo, can occur multiple
+								times.
+								<br/>
+								The type projectInfo consists of the following elements:
+								<ul><li>id - String, project ID, such as "TGPR123"</li><li>description - String, project description</li><li>name - String, project name</li><li>file - String with URI of project file for
+										project-specific
+										settings. </li></ul>
+							</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:getDeactivatedProjectsRequest"/>
+      <wsdl:output message="tns:getDeactivatedProjectsResponse"/>
+    </wsdl:operation>
+<!-- #### getLeader #### //-->
     <wsdl:operation name="getLeader">
-
       <wsdl:documentation>
-	Returns Project Leader/s (i.e. who have delegate right on the
-	respective project resource).
-	<ul>
-	  <li><b>Input Parameters</b> getLeaderRequest, with elements
-	    <ul>
-	      <li>auth - String, SessionID of user that wants to query
-	      for projects. Can be omitted as this information can be
-	      reviewed publicly</li>
-	      <li>log - String for log information, optional</li>
-	      <li>project - String with project ID, such as "TGPR123"</li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> usersetResponse, with element
-	    <ul>
-	      <li>username - String holding ePPN of user, can occur
-	      multiple times.
-	      </li>
-	    </ul>
-	  </li>
-	</ul>
-      </wsdl:documentation>
-
-      <wsdl:input message="tns:getLeaderRequest" />
-      <wsdl:output message="tns:getLeaderResponse" />
+				Returns Project Leader/s (i.e. who have delegate right on the
+				respective project resource).
+				<ul><li><b>Input Parameters</b>
+						getLeaderRequest, with elements
+						<ul><li>auth - String, SessionID of user that wants to query
+								for
+								projects. Can be omitted as this information can be
+								reviewed
+								publicly</li><li>log - String for log information, optional</li><li>project - String with project ID, such as "TGPR123"</li></ul></li><li><b>Output Parameters</b>
+						usersetResponse, with element
+						<ul><li>username - String holding ePPN of user, can occur
+								multiple
+								times.
+	      </li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:getLeaderRequest"/>
+      <wsdl:output message="tns:getLeaderResponse"/>
     </wsdl:operation>
-
-    <!-- #### registerResource #### //-->
+<!-- #### registerResource #### //-->
     <wsdl:operation name="registerResource">
-
       <wsdl:documentation>
-	Registers a resource in the database. Assigns standard
-	permissions to roles in project:
-	<table>
-	  <tr><td>Role</td> <td>Right on Resource</td></tr>
-	  <tr><td>Projektleiter (project leader)</td><td>delegate, publish</td></tr>
-	  <tr><td>Administrator</td><td>delete</td></tr>
-	  <tr><td>Bearbeiter (editor)</td><td>read, write</td></tr>
-	  <tr><td>Beobachter (observer)</td><td>read</td></tr>
-	</table>
-	  These permissions can be adapted afterwards. User needs
-	create right on project resource, see createProject().<br/>
-	This function is <b>only for use by TG-crud.</b> Clients
-	should call TG-crud.create instead.
-	<ul>
-	  <li><b>Input Parameters</b> registerResourceRequest, with elements
-	    <ul>
-	      <li>auth - String, SessionID of future owner of this resource</li>
-	      <li>log - String for log information, optional</li>
-	      <li>project - String with project ID, such as "TGPR123".</li>
-	      <li>uri - String holding URI of TgObject resource to be
-	      registered in RBAC</li>
-	      <li>secret - String known by TG-crud to authenticate
-	      itself</li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> booleanResponse, with element
-	    <ul>
-      	      <li>result - boolean, true if operation was successful,
-	      false otherwise</li>
-	    </ul>
-	  </li>
-	  <li><b>Faults</b>
-	    <ul>
-	      <li>authenticationFault</li>
-	    </ul>
-	  </li>
-	</ul>
-      </wsdl:documentation>
-
-      <wsdl:input message="tns:registerResourceRequest" />
-      <wsdl:output message="tns:registerResourceResponse" />
-      <wsdl:fault name="authenticationFault" message="tns:authenticationFault" />
+				Registers a resource in the database. Assigns standard
+				permissions to
+				roles in project:
+				<table><tr><td>Role</td><td>Right on Resource</td></tr><tr><td>Projektleiter (project leader)</td><td>delegate, publish</td></tr><tr><td>Administrator</td><td>delete</td></tr><tr><td>Bearbeiter (editor)</td><td>read, write</td></tr><tr><td>Beobachter (observer)</td><td>read</td></tr></table>
+				These permissions can be adapted afterwards. User needs
+				create right
+				on project resource, see createProject().
+				<br/>
+				This function is
+				<b>only for use by TG-crud.</b>
+				Clients
+				should call TG-crud.create instead.
+				<ul><li><b>Input Parameters</b>
+						registerResourceRequest, with elements
+						<ul><li>auth - String, SessionID of future owner of this resource</li><li>log - String for log information, optional</li><li>project - String with project ID, such as "TGPR123".</li><li>uri - String holding URI of TgObject resource to be
+								registered in RBAC</li><li>secret - String known by TG-crud to authenticate
+								itself</li></ul></li><li><b>Output Parameters</b>
+						operationsSetResponse, with element
+						<ul><li>operation (0..n) Strings with permissible operations on the
+								newly created resource</li></ul></li><li><b>Faults</b><ul><li>authenticationFault</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:registerResourceRequest"/>
+      <wsdl:output message="tns:registerResourceResponse"/>
+      <wsdl:fault name="authenticationFault" message="tns:authenticationFault"/>
     </wsdl:operation>
-
-    <!-- #### unregisterResource #### //-->
+<!-- #### unregisterResource #### //-->
     <wsdl:operation name="unregisterResource">
-
       <wsdl:documentation>
-	Removes resource from database. User needs delete right on
-	resource. <b>Only for use by TG-crud.</b> Clients should call
-	TG-crud.delete instead.
-	<ul>
-	  <li><b>Input Parameters</b> unregisterResourceRequest, with elements
-	    <ul>
-	      <li>auth - String, SessionID of requester</li>
-	      <li>log - String for log information, optional</li>
-	      <li>uri - String holding URI of TgObject resource to be
-	      removed from RBAC</li>
-	      <li>secret - String known by TG-crud to authenticate
-	      itself</li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> booleanResponse, with element
-	    <ul>
-      	      <li>result - boolean, true if operation was successful,
-	      false otherwise</li>
-	    </ul>
-	  </li>
-	  <li><b>Faults</b>
-	    <ul>
-	      <li>unknownResourceFault</li>
-	      <li>authenticationFault</li>
-	    </ul>
-	  </li>
-	</ul>
-      </wsdl:documentation>
-
-      <wsdl:input message="tns:unregisterResourceRequest" />
-      <wsdl:output message="tns:unregisterResourceResponse" />
-      <wsdl:fault name="unknownResourceFault" message="tns:unknownResourceFault" />
-      <wsdl:fault name="authenticationFault" message="tns:authenticationFault" />
+				Removes resource from database. User needs delete right on
+				resource.
+				<b>Only for use by TG-crud.</b>
+				Clients should call
+				TG-crud.delete instead.
+				<ul><li><b>Input Parameters</b>
+						unregisterResourceRequest, with elements
+						<ul><li>auth - String, SessionID of requester</li><li>log - String for log information, optional</li><li>uri - String holding URI of TgObject resource to be
+								removed
+								from RBAC</li><li>secret - String known by TG-crud to authenticate
+								itself</li></ul></li><li><b>Output Parameters</b>
+						booleanResponse, with element
+						<ul><li>result - boolean, true if operation was successful,
+								false
+								otherwise</li></ul></li><li><b>Faults</b><ul><li>unknownResourceFault</li><li>authenticationFault</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:unregisterResourceRequest"/>
+      <wsdl:output message="tns:unregisterResourceResponse"/>
+      <wsdl:fault name="unknownResourceFault" message="tns:unknownResourceFault"/>
+      <wsdl:fault name="authenticationFault" message="tns:authenticationFault"/>
     </wsdl:operation>
-
-    <!-- #### filterBySid #### //-->
+<!-- #### filterBySid #### //-->
     <wsdl:operation name="filterBySid">
-
       <wsdl:documentation>
-	This is tgCheckAccess in batch operation: Returns a list of
-	the resources where a given operation with this SessionID is
-	allowed. The resource parameter must contain a list of
-	resources, and the subset of this list that matches
-	will be returned.
-	<ul>
-	  <li><b>Input Parameters</b> filterBySidRequest, with elements
-	    <ul>
-	      <li>auth - String, SessionID of user that wants to
-	      do the check</li>
-	      <li>log - String for log information, optional</li>
-	      <li>resource - String with projectID, or URI of
-	      TgObject resource. Can occur multiple times.</li>
-	      <li>operation - String, such as "read", "write"</li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> filterResponse, with element
-	    <ul>
-	      <li>resource - String with projectID, or URIs that
-	      match. Can occur multiple times.</li>
-	    </ul>
-	  </li>
-	  <li><b>Faults</b>
-	    <ul>
-	      <li>authenticationFault</li>
-	    </ul>
-	  </li>
-	</ul>
-      </wsdl:documentation>
-
-      <wsdl:input message="tns:filterBySidRequest" />
-      <wsdl:output message="tns:filterBySidResponse" />
-      <wsdl:fault name="authenticationFault" message="tns:authenticationFault" />
+				This is tgCheckAccess in batch operation: Returns a list of
+				the
+				resources where a given operation with this SessionID is
+				allowed. The
+				resource parameter must contain a list of
+				resources, and the subset
+				of this list that matches
+				will be returned.
+				<ul><li><b>Input Parameters</b>
+						filterBySidRequest, with elements
+						<ul><li>auth - String, SessionID of user that wants to
+								do the check</li><li>log - String for log information, optional</li><li>resource - String with projectID, or URI of
+								TgObject resource.
+								Can occur multiple times.</li><li>operation - String, such as "read", "write"</li></ul></li><li><b>Output Parameters</b>
+						filterResponse, with element
+						<ul><li>resource - String with projectID, or URIs that
+								match. Can
+								occur multiple times.</li></ul></li><li><b>Faults</b><ul><li>authenticationFault</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:filterBySidRequest"/>
+      <wsdl:output message="tns:filterBySidResponse"/>
+      <wsdl:fault name="authenticationFault" message="tns:authenticationFault"/>
     </wsdl:operation>
-
-    <!-- #### tgGrantPermission #### //-->
+<!-- #### tgGrantPermission #### //-->
     <wsdl:operation name="tgGrantPermission">
-
       <wsdl:documentation>
-	Enables given operation for given role on given
-	resource. Resource may be an URI of a TgObject, or
-	a projectID. Users need delegate right on resource or project
-	(i.e. be project leader).
-	<ul>
-	  <li><b>Input Parameters</b> tgGrantPermissionRequest, with elements
-	    <ul>
-	      <li>auth - String, SessionID of user</li>
-	      <li>log - String for log information, optional</li>
-	      <li>role - String with full-qualified role name of the
-	      role the user wants to grant a right. The full-qualified
-	      role name has the form
-	      "Administrator,TGPR3,Projekt-Teilnehmer".</li>
-	      <li>operation - String, operation to be granted, such as
-	      "read", "write".</li>
-	      <li>resource - String, URI of TgObject, or projectID</li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> booleanResponse, with element
-	    <ul>
-	      <li>result - boolean, true if operation was successful,
-	      false otherwise</li>
-	    </ul>
-	  </li>
-	  <li><b>Faults</b>
-	    <ul>
-	      <li>authenticationFault</li>
-	      <li>rbacFault</li>
-	    </ul>
-	  </li>
-	</ul>
-      </wsdl:documentation>
-
-      <wsdl:input message="tns:tgGrantPermissionRequest" />
-      <wsdl:output message="tns:tgGrantPermissionResponse" />
-      <wsdl:fault name="authenticationFault" message="tns:authenticationFault" />
+				Enables given operation for given role on given
+				resource. Resource
+				may be an URI of a TgObject, or
+				a projectID. Users need delegate
+				right on resource or project
+				(i.e. be project leader).
+				<ul><li><b>Input Parameters</b>
+						tgGrantPermissionRequest, with elements
+						<ul><li>auth - String, SessionID of user</li><li>log - String for log information, optional</li><li>role - String with full-qualified role name of the
+								role the
+								user wants to grant a right. The full-qualified
+								role name has the
+								form
+								"Administrator,TGPR3,Projekt-Teilnehmer".</li><li>operation - String, operation to be granted, such as
+								"read",
+								"write".</li><li>resource - String, URI of TgObject, or projectID</li></ul></li><li><b>Output Parameters</b>
+						booleanResponse, with element
+						<ul><li>result - boolean, true if operation was successful,
+								false
+								otherwise</li></ul></li><li><b>Faults</b><ul><li>authenticationFault</li><li>rbacFault</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:tgGrantPermissionRequest"/>
+      <wsdl:output message="tns:tgGrantPermissionResponse"/>
+      <wsdl:fault name="authenticationFault" message="tns:authenticationFault"/>
     </wsdl:operation>
-
-    <!-- #### tgRevokePermission #### //-->
+<!-- #### tgRevokePermission #### //-->
     <wsdl:operation name="tgRevokePermission">
-
       <wsdl:documentation>
-	Disables this permission, see tgGrantPermission for limitations.
-	<ul>
-	  <li><b>Input Parameters</b> tgRevokePermissionRequest, with elements
-	    <ul>
-	      <li>auth - String, SessionID of user</li>
-	      <li>log - String for log information, optional</li>
-	      <li>role - String with full-qualified role name of the
-	      role the user wants to revoke a right. The full-qualified
-	      role name has the form
-	      "Administrator,TGPR3,Projekt-Teilnehmer".</li>
-	      <li>operation - String, operation to be granted, such as
-	      "read", "write".</li>
-	      <li>resource - String, URI of TgObject, or projectID</li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> booleanResponse, with element
-	    <ul>
-	      <li>result - boolean, true if operation was successful,
-	      false otherwise</li>
-	    </ul>
-	  </li>
-	  <li><b>Faults</b>
-	    <ul>
-	      <li>authenticationFault</li>
-	    </ul>
-	  </li>
-	</ul>
-      </wsdl:documentation>
-
-      <wsdl:input message="tns:tgRevokePermissionRequest" />
-      <wsdl:output message="tns:tgRevokePermissionResponse" />
-      <wsdl:fault name="authenticationFault" message="tns:authenticationFault" />
+				Disables this permission, see tgGrantPermission for limitations.
+				<ul><li><b>Input Parameters</b>
+						tgRevokePermissionRequest, with elements
+						<ul><li>auth - String, SessionID of user</li><li>log - String for log information, optional</li><li>role - String with full-qualified role name of the
+								role the
+								user wants to revoke a right. The full-qualified
+								role name has
+								the form
+								"Administrator,TGPR3,Projekt-Teilnehmer".</li><li>operation - String, operation to be granted, such as
+								"read",
+								"write".</li><li>resource - String, URI of TgObject, or projectID</li></ul></li><li><b>Output Parameters</b>
+						booleanResponse, with element
+						<ul><li>result - boolean, true if operation was successful,
+								false
+								otherwise</li></ul></li><li><b>Faults</b><ul><li>authenticationFault</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:tgRevokePermissionRequest"/>
+      <wsdl:output message="tns:tgRevokePermissionResponse"/>
+      <wsdl:fault name="authenticationFault" message="tns:authenticationFault"/>
     </wsdl:operation>
-
-    <!-- #### getOwner #### //-->
+<!-- #### getOwner #### //-->
     <wsdl:operation name="getOwner">
+      <wsdl:documentation>
+				Returns ePPN of owner that was set in registerResource. User
+				must
+				have read permission on the resource, or resource must be
+				public.
+				<ul><li><b>Input Parameters</b>
+						getOwnerRequest, with elements
+						<ul><li>auth - String, SessionID of user that wants to query
+								for the
+								owner</li><li>log - String for log information, optional</li><li>resource - String, URI of TgObject</li></ul></li><li><b>Output Parameters</b>
+						getOwnerResponse, with element
+						<ul><li>owner - String, ePPN of owner.</li></ul></li><li><b>Faults</b><ul><li>authenticationFault</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:getOwnerRequest"/>
+      <wsdl:output message="tns:getOwnerResponse"/>
+      <wsdl:fault name="authenticationFault" message="tns:authenticationFault"/>
+    </wsdl:operation>
 
+<!-- #### getUUID #### //-->
+    <wsdl:operation name="getUUID">
       <wsdl:documentation>
-	Returns ePPN of owner that was set in registerResource. User
+	Returns UUID (full path including server address) of the resource. User
 	must have read permission on the resource, or resource must be
 	public.
-	<ul>
-	  <li><b>Input Parameters</b> tgRevokePermissionRequest, with elements
-	    <ul>
-	      <li>auth - String, SessionID of user that wants to query
-	      for the owner</li>
-	      <li>log - String for log information, optional</li>
-	      <li>resource - String, URI of TgObject</li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> getOwnerResponse, with element
-	    <ul>
-	      <li>owner - String, ePPN of owner.</li>
-	    </ul>
-	  </li>
-	  <li><b>Faults</b>
-	    <ul>
-	      <li>authenticationFault</li>
-	    </ul>
-	  </li>
-	</ul>
+	<ul><li><b>Input Parameters</b> getUUIDRequest, with elements
+	    <ul><li>auth - String, SessionID of user that wants to query
+	      for the UUID</li><li>log - String for log information, optional</li><li>resource - String, URI of TgObject</li></ul></li><li><b>Output Parameters</b> getUUIDResponse, with element
+	    <ul><li>uuid - String, UUID if defined.</li></ul></li><li><b>Faults</b><ul><li>authenticationFault</li></ul></li></ul>
       </wsdl:documentation>
-
-      <wsdl:input message="tns:getOwnerRequest" />
-      <wsdl:output message="tns:getOwnerResponse" />
-      <wsdl:fault name="authenticationFault" message="tns:authenticationFault" />
+      <wsdl:input message="tns:getUUIDRequest"/>
+      <wsdl:output message="tns:getUUIDResponse"/>
+      <wsdl:fault name="authenticationFault" message="tns:authenticationFault"/>
     </wsdl:operation>
 
-    <!-- #### getMembers #### //-->
+<!-- #### getMembers #### //-->
     <wsdl:operation name="getMembers">
-
       <wsdl:documentation>
-	Returns ePPNs of all members in the project, caller must be
-	member herself.
-	<ul>
-	  <li><b>Input Parameters</b> getMembersRequest, with elements
-	    <ul>
-	      <li>auth - String, SessionID of user that wants to query
-	      for the owner</li>
-	      <li>log - String for log information, optional</li>
-	      <li>project - String, ProjectID, such as "TGPR123"</li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> usersetResponse, with element
-	    <ul>
-	      <li>username - String holding ePPN of user, can occur
-	      multiple times.
-	      </li>
-	    </ul>
-	  </li>
-	  <li><b>Faults</b>
-	    <ul>
-	      <li>authenticationFault</li>
-	    </ul>
-	  </li>
-	</ul>
-      </wsdl:documentation>
-
-       <wsdl:input message="tns:getMembersRequest" />
-      <wsdl:output message="tns:getMembersResponse" />
-      <wsdl:fault name="authenticationFault" message="tns:authenticationFault" />
+				Returns ePPNs of all members in the project, caller must be
+				member
+				herself.
+				<ul><li><b>Input Parameters</b>
+						getMembersRequest, with elements
+						<ul><li>auth - String, SessionID of user that wants to query
+								for
+								members</li><li>log - String for log information, optional</li><li>project - String, ProjectID, such as "TGPR123"</li></ul></li><li><b>Output Parameters</b>
+						usersetResponse, with element
+						<ul><li>username - String holding ePPN of user, can occur
+								multiple
+								times.</li></ul></li><li><b>Faults</b><ul><li>authenticationFault</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:getMembersRequest"/>
+      <wsdl:output message="tns:getMembersResponse"/>
+      <wsdl:fault name="authenticationFault" message="tns:authenticationFault"/>
     </wsdl:operation>
-
-    <!-- #### getRights #### //-->
+<!-- #### getUserRole #### //-->
+    <wsdl:operation name="getUserRole">
+      <wsdl:documentation>
+				Returns ePPNs plus Array of Roles of all members in the project,
+				caller must be member herself.
+				<ul><li><b>Input Parameters</b>
+						getUserRoleRequest, with elements
+						<ul><li>auth - String, SessionID of user that wants to query
+								for roles</li><li>log - String for log information, optional</li><li>project - String, ProjectID, such as "TGPR123"</li></ul></li><li><b>Output Parameters</b>
+						getUserRoleResponse. It contains 0...n userRoles, which themselves
+						have elements
+						<ul><li>username - String holding ePPN of user </li><li>roles - array of Strings with roles the user has (e.g.
+								"Bearbeiter").</li></ul></li><li><b>Faults</b><ul><li>authenticationFault</li><li>unknownProjectFault</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:getUserRoleRequest"/>
+      <wsdl:output message="tns:getUserRoleResponse"/>
+      <wsdl:fault name="authenticationFault" message="tns:authenticationFault"/>
+      <wsdl:fault name="unknownProjectFault" message="tns:unknownProjectFault"/>
+    </wsdl:operation>
+<!-- #### getFriends #### //-->
+    <wsdl:operation name="getFriends">
+      <wsdl:documentation>
+				Returns ePPNs of the users the authenticated user has
+				relations with,
+				i.e. they are signed into the same project role. Each
+				user name has a
+				score which shows how many roles the requester shares
+				with that user.
+				<ul><li><b>Input Parameters</b>
+						getFriendsRequest, with element
+						<ul><li>auth - String, SessionID of user that wants to query
+								for
+								friends</li></ul></li><li><b>Output Parameters</b>
+						getFriendsResponse. It contains 0...n friends, which themselves
+						have elements
+						<ul><li>username - String holding ePPN of user </li><li>score - Integer with the users' number of common roles with
+								the requester</li></ul></li><li><b>Faults</b>
+						none
+					</li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:getFriendsRequest"/>
+      <wsdl:output message="tns:getFriendsResponse"/>
+    </wsdl:operation>
+<!-- #### getRights #### //-->
     <wsdl:operation name="getRights">
-
       <wsdl:documentation>
-	Returns permissions for given resource or projectID. Can be
-	used by project leaders to check permissions for another
-	project member.
-	<ul>
-	  <li><b>Input Parameters</b> getRightsRequest, with elements
-	    <ul>
-	      <li>auth - String, SessionID of user that wants to query
-	      the rights</li>
-	      <li>log - String for log information, optional</li>
-	      <li>resource - String, URI of TgObject or ProjectID</li>
-	      <li>username - ePPN of user whose rights shall be
-	      queried. Leave empty to get rights of user authenticated
-	      by the auth parameter.</li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> operationsetResponse, with element
-	    <ul>
-	      <li>operation - String with a right, such as "read" or
-	      "delegate". Can occur multiple times.</li>
-	    </ul>
-	  </li>
-	  <li><b>Faults</b>
-	    <ul>
-	      <li>authenticationFault</li>
-	    </ul>
-	  </li>
-	</ul>
-      </wsdl:documentation>
-
-      <wsdl:input message="tns:getRightsRequest" />
-      <wsdl:output message="tns:getRightsResponse" />
-      <wsdl:fault name="authenticationFault" message="tns:authenticationFault" />
+				Returns permissions for given resource or projectID. Can be
+				used by
+				project leaders to check permissions for another
+				project member.
+				<ul><li><b>Input Parameters</b>
+						getRightsRequest, with elements
+						<ul><li>auth - String, SessionID of user that wants to query
+								the
+								rights</li><li>log - String for log information, optional</li><li>resource - String, URI of TgObject or ProjectID</li><li>username - ePPN of user whose rights shall be
+								queried. Leave
+								empty to get rights of user authenticated
+								by the auth parameter.</li></ul></li><li><b>Output Parameters</b>
+						operationsetResponse, with element
+						<ul><li>operation - String with a right, such as "read" or
+								"delegate". Can occur multiple times.</li></ul></li><li><b>Faults</b><ul><li>authenticationFault</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:getRightsRequest"/>
+      <wsdl:output message="tns:getRightsResponse"/>
+      <wsdl:fault name="authenticationFault" message="tns:authenticationFault"/>
     </wsdl:operation>
-
-    <!-- #### publish #### //-->
+<!-- #### publish #### //-->
     <wsdl:operation name="publish">
-
       <wsdl:documentation>
-	Sets the isPublic flag of a TextGridObject identified by its
-	URI to TRUE. The resource will then be world-readable. This is
-	irreversible (only by manual modification of the database) and
-	needs the publish right, which by default is granted to
-	project leaders.
-	<ul>
-	  <li><b>Input Parameters</b> publishRequest, with elements
-	    <ul>
-	      <li>auth - String, SessionID of user that wants publish</li>
-	      <li>log - String for log information, optional</li>
-	      <li>resource - String, URI of TgObject</li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> booleanResponse, with element
-	    <ul>
-	      <li>result - boolean, true if operation was successful,
-	      false otherwise</li>
-	    </ul>
-	  </li>
-	  <li><b>Faults</b>
-	    <ul>
-	      <li>authenticationFault</li>
-	    </ul>
-	  </li>
-	</ul>
-      </wsdl:documentation>
-
-      <wsdl:input message="tns:publishRequest" />
-      <wsdl:output message="tns:publishResponse" />
-      <wsdl:fault name="authenticationFault" message="tns:authenticationFault" />
+				Sets the isPublic flag of a TextGridObject identified by its
+				URI to
+				TRUE. The resource will then be world-readable. This is
+				irreversible
+				(only by manual modification of the database) and
+				needs the publish
+				right, which by default is granted to
+				project leaders.
+				<ul><li><b>Input Parameters</b>
+						publishRequest, with elements
+						<ul><li>auth - String, SessionID of user that wants publish</li><li>log - String for log information, optional</li><li>resource - String, URI of TgObject</li></ul></li><li><b>Output Parameters</b>
+						booleanResponse, with element
+						<ul><li>result - boolean, true if operation was successful,
+								false
+								otherwise</li></ul></li><li><b>Faults</b><ul><li>authenticationFault</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:publishRequest"/>
+      <wsdl:output message="tns:publishResponse"/>
+      <wsdl:fault name="authenticationFault" message="tns:authenticationFault"/>
     </wsdl:operation>
-
-    <!-- #### isPublic #### //-->
+<!-- #### isPublic #### //-->
     <wsdl:operation name="isPublic">
-
       <wsdl:documentation>
-	Returns status of isPublic flag for a TextGridObject.
-	<ul>
-	  <li><b>Input Parameters</b> isPublicRequest, with elements
-	    <ul>
-	      <li>auth - String, SessionID of user that wants to
-	      query. Can be empty.</li>
-	      <li>log - String for log information, optional</li>
-	      <li>resource - String, URI of TgObject</li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> booleanResponse, with element
-	    <ul>
-	      <li>result - boolean, true if resource has the isPublic
-	      flag set to TRUE, i.e. has been published, false
-	      otherwise</li>
-	    </ul>
-	  </li>
-	</ul>
-      </wsdl:documentation>
-
-      <wsdl:input message="tns:isPublicRequest" />
-      <wsdl:output message="tns:isPublicResponse" />
+				Returns status of isPublic flag for a TextGridObject.
+				<ul><li><b>Input Parameters</b>
+						isPublicRequest, with elements
+						<ul><li>auth - String, SessionID of user that wants to
+								query. Can be
+								empty.</li><li>log - String for log information, optional</li><li>resource - String, URI of TgObject</li></ul></li><li><b>Output Parameters</b>
+						booleanResponse, with element
+						<ul><li>result - boolean, true if resource has the isPublic
+								flag set
+								to TRUE, i.e. has been published, false
+								otherwise</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:isPublicRequest"/>
+      <wsdl:output message="tns:isPublicResponse"/>
     </wsdl:operation>
-
-    <!-- #### deactivateProject #### //-->
+<!-- #### getNumberOfResources #### //-->
+    <wsdl:operation name="getNumberOfResources">
+      <wsdl:documentation>
+				Returns the total number of resources and the number of public ones
+				in this project. Can be called by anyone.
+				<ul><li><b>Input Parameters</b>
+						getNumberOfResourcesRequest, with elements
+						<ul><li>auth - String, SessionID of user that wants to
+								query. Can be
+								empty.</li><li>log - String for log information, optional</li><li>project - String</li></ul></li><li><b>Output Parameters</b>
+						getNumberOfResourcesResponse, with elements
+						<ul><li>allresources - integer</li><li>publicresources - integer</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:getNumberOfResourcesRequest"/>
+      <wsdl:output message="tns:getNumberOfResourcesResponse"/>
+    </wsdl:operation>
+<!-- #### deactivateProject #### //-->
     <wsdl:operation name="deactivateProject">
-
       <wsdl:documentation>
-	Hides a project. User must be project leader of the project to
-	be deactivated. Hidden projects cannot be modified or read
-	anymore (except published resources). However, information is
-	preserved so that the project can be re-activated by manual
-	modification of the database.
-	<ul>
-	  <li><b>Input Parameters</b> deactivateProjectRequest, with elements
-	    <ul>
-	      <li>auth - String, SessionID of user that wants publish</li>
-	      <li>log - String for log information, optional</li>
-	      <li>project - String, ProjectID</li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> booleanResponse, with element
-	    <ul>
-	      <li>result - boolean, true if operation was successful,
-	      false otherwise</li>
-	    </ul>
-	  </li>
-	  <li><b>Faults</b>
-	    <ul>
-	      <li>authenticationFault</li>
-	    </ul>
-	  </li>
-	</ul>
-      </wsdl:documentation>
-
-      <wsdl:input message="tns:deactivateProjectRequest" />
-      <wsdl:output message="tns:deactivateProjectResponse" />
-      <wsdl:fault name="authenticationFault" message="tns:authenticationFault" />
+				Hides a project. User must be project leader of the project to
+				be
+				deactivated. Hidden projects cannot be modified or read
+				anymore
+				(except published resources). However, information is
+				preserved so
+				that the project can be re-activated by manual
+				modification of the
+				database.
+				<ul><li><b>Input Parameters</b>
+						deactivateProjectRequest, with elements
+						<ul><li>auth - String, SessionID of user that wants publish</li><li>log - String for log information, optional</li><li>project - String, ProjectID</li></ul></li><li><b>Output Parameters</b>
+						booleanResponse, with element
+						<ul><li>result - boolean, true if operation was successful,
+								false
+								otherwise</li></ul></li><li><b>Faults</b><ul><li>authenticationFault</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:deactivateProjectRequest"/>
+      <wsdl:output message="tns:deactivateProjectResponse"/>
+      <wsdl:fault name="authenticationFault" message="tns:authenticationFault"/>
     </wsdl:operation>
-
-    <!-- #### getProjectDescription #### //-->
+<!-- #### reactivateProject #### //-->
+    <wsdl:operation name="reactivateProject">
+      <wsdl:documentation>
+				Reactivate a hidden and deactivated project. The user must be the
+				former project leader of the project to be able to reactivate it.
+				All rights will be restored.
+				<ul><li><b>Input Parameters</b>
+						reactivateProjectRequest, with elements
+						<ul><li>auth - String, SessionID of user that wants publish</li><li>log - String for log information, optional</li><li>project - String, ProjectID</li></ul></li><li><b>Output Parameters</b>
+						booleanResponse, with element
+						<ul><li>result - boolean, true if operation was successful,
+								false
+								otherwise</li></ul></li><li><b>Faults</b><ul><li>authenticationFault</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:reactivateProjectRequest"/>
+      <wsdl:output message="tns:reactivateProjectResponse"/>
+      <wsdl:fault name="authenticationFault" message="tns:authenticationFault"/>
+      <wsdl:fault name="unknownProjectFault" message="tns:unknownProjectFault"/>
+    </wsdl:operation>
+<!-- #### deleteProject #### //-->
+    <wsdl:operation name="deleteProject">
+      <wsdl:documentation>
+				Delete a project. User must be project leader of the project that
+				is
+				deleted. Before a project can be deleted there must not be any
+				resources associated with the project. A deleted project cannot be
+				restored.
+				<ul><li><b>Input Parameters</b>
+						deleteProjectRequest, with elements
+						<ul><li>auth - String, SessionID of user that wants publish</li><li>log - String for log information, optional</li><li>project - String, ProjectID</li></ul></li><li><b>Output Parameters</b>
+						booleanResponse, with element
+						<ul><li>result - boolean, true if operation was successful,
+								false
+								otherwise</li></ul></li><li><b>Faults</b><ul><li>authenticationFault</li><li>notEmptyFault</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:deleteProjectRequest"/>
+      <wsdl:output message="tns:deleteProjectResponse"/>
+      <wsdl:fault name="authenticationFault" message="tns:authenticationFault"/>
+      <wsdl:fault name="notEmptyFault" message="tns:notEmptyFault"/>
+    </wsdl:operation>
+<!-- #### getProjectDescription #### //-->
     <wsdl:operation name="getProjectDescription">
+      <wsdl:documentation>
+				Returns name and description of project identified by ID. See
+				also
+				getAllProjects().
+				<ul><li><b>Input Parameters</b>
+						getProjectDescriptionRequest, with elements
+						<ul><li>auth - String, SessionID of user. Can be empty.</li><li>log - String for log information, optional</li><li>project - String, ProjectID</li></ul></li><li><b>Output Parameters</b>
+						getProjectDescriptionResponse, with element
+						<ul><li>
+								project - projectInfo
+								<br/>
+								The type projectInfo consists of the following elements:
+								<ul><li>id - String, project ID, such as "TGPR123"</li><li>description - String, project description</li><li>name - String, project name</li><li>file - String with URI of project file for
+										project-specific
+										settings. </li></ul>
+							</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:getProjectDescriptionRequest"/>
+      <wsdl:output message="tns:getProjectDescriptionResponse"/>
+    </wsdl:operation>
 
+<!-- #### getSLC #### //-->
+    <wsdl:operation name="getSLC">
       <wsdl:documentation>
-	Returns name and description of project identified by ID. See
-	also getAllProjects().
-	<ul>
-	  <li><b>Input Parameters</b> getProjectDescriptionRequest, with elements
-	    <ul>
-	      <li>auth - String, SessionID of user. Can be empty.</li>
-	      <li>log - String for log information, optional</li>
-	      <li>project - String, ProjectID</li>
-	    </ul>
-	  </li>
-	  <li><b>Output Parameters</b> getProjectDescriptionResponse, with element
-	    <ul>
-	      <li>project - projectInfo<br/>
-		The type projectInfo consists of the following elements:
-		<ul>
-		  <li>id - String, project ID, such as "TGPR123"</li>
-		  <li>description - String, project description</li>
-		  <li>name - String, project name</li>
-		  <li>file - String with URI of project file for
-		  project-specific settings. </li>
-		</ul>
-	      </li>
-	    </ul>
-	  </li>
-	</ul>
+	CRUD may use this to retrieve a Short-Lived Certificate Key pair in PEM format for the user
+        <ul><li><b>Input Parameters</b> getSLCRequest, with elements             
+            <ul><li>auth - String, SessionID of user</li><li>log - String for log information, optional</li><li>secret - String known by TG-crud to authenticate itself</li></ul></li><li><b>Output Parameters</b> getSLCResponse, with element
+          <ul><li>slc - Base64binary String with the key pair. Contains only printable ASCII Character.</li></ul></li></ul>
       </wsdl:documentation>
-
-      <wsdl:input message="tns:getProjectDescriptionRequest" />
-      <wsdl:output message="tns:getProjectDescriptionResponse" />
+      <wsdl:input message="tns:getSLCRequest"/>
+      <wsdl:output message="tns:getSLCResponse"/>
+      <wsdl:fault name="authenticationFault" message="tns:authenticationFault"/>
+      <wsdl:fault name="unknownResourceFault" message="tns:unknownResourceFault"/>
     </wsdl:operation>
-
-    <!-- #### getSid #### //-->
-    <wsdl:operation name="getSid">
-
+<!-- #### getCSR #### //-->
+    <wsdl:operation name="getCSR">
       <wsdl:documentation>
-	Returns some random SessionID suitable for RBAC.
-	<ul>
-	  <li><b>Input Parameters</b> none </li>
-	  <li><b>Output Parameters</b> getSidResponse, with element
-	  <ul>
-	    <li>sid - String, approximately 60-70 bytes long, consisting of random characters taken from a-zA-Z0-9.</li>
-	  </ul>
-	  </li>
-	</ul>
+	The Portal may use this to retrieve a Dummy Certificate Signing Request (CSR)
+in PEM format, for which the RBAC's accompanying daemon will hold the real key.
+        <ul><li><b>Input Parameters</b> getCSRRequest, with elements             
+            <ul><li>auth - String, SessionID of user</li><li>log - String for log information, optional</li></ul></li><li><b>Output Parameters</b> getCSRResponse, with element
+          <ul><li>csr - Base64binary String with the CSR. Contains only printable ASCII Character.</li></ul></li></ul>
       </wsdl:documentation>
-
-      <wsdl:output message="tns:getSidResponse" />
+      <wsdl:input message="tns:getCSRRequest"/>
+      <wsdl:output message="tns:getCSRResponse"/>
+      <wsdl:fault name="authenticationFault" message="tns:authenticationFault"/>
+      <wsdl:fault name="unknownResourceFault" message="tns:unknownResourceFault"/>
+    </wsdl:operation>
+<!-- #### putCRT #### //-->
+    <wsdl:operation name="putCRT">
+      <wsdl:documentation>
+	Puts the signed Certificate into the RBAC's accompanying daemon that holds the key.
+        <ul><li><b>Input Parameters</b> putCRTRequest, with elements             
+            <ul><li>auth - String, SessionID of user</li><li>log - String for log information, optional</li><li>crt - the Certificate as a String</li></ul></li><li><b>Output Parameters</b> putCRTResponse, with element
+          <ul><li>success, Boolean.</li></ul></li></ul>
+      </wsdl:documentation>
+      <wsdl:input message="tns:putCRTRequest"/>
+      <wsdl:output message="tns:putCRTResponse"/>
+      <wsdl:fault name="authenticationFault" message="tns:authenticationFault"/>
+      <wsdl:fault name="unknownResourceFault" message="tns:unknownResourceFault"/>
     </wsdl:operation>
 
+<!-- #### getSid #### //-->
+    <wsdl:operation name="getSid">
+      <wsdl:documentation>
+				Returns some random SessionID suitable for RBAC.
+				<ul><li><b>Input Parameters</b>
+						empty
+					</li><li><b>Output Parameters</b>
+						getSidResponse, with element
+						<ul><li>sid - String, approximately 60-70 bytes long, consisting of
+								random characters taken from a-zA-Z0-9.</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:getSidRequest"/>
+      <wsdl:output message="tns:getSidResponse"/>
+    </wsdl:operation>
+<!-- #### getSupportedUserAttributes #### //-->
+    <wsdl:operation name="getSupportedUserAttributes">
+      <wsdl:documentation>TODO</wsdl:documentation>
+      <wsdl:input message="tns:getSupportedUserAttributesRequest"/>
+      <wsdl:output message="tns:getSupportedUserAttributesResponse"/>
+    </wsdl:operation>
+<!-- #### getMyUserAttributes #### //-->
+    <wsdl:operation name="getMyUserAttributes">
+      <wsdl:documentation>TODO</wsdl:documentation>
+      <wsdl:input message="tns:getMyUserAttributesRequest"/>
+      <wsdl:output message="tns:getMyUserAttributesResponse"/>
+      <wsdl:fault name="authenticationFault" message="tns:authenticationFault"/>
+    </wsdl:operation>
+<!-- #### setMyUserAttributes #### //-->
+    <wsdl:operation name="setMyUserAttributes">
+      <wsdl:documentation>TODO</wsdl:documentation>
+      <wsdl:input message="tns:setMyUserAttributesRequest"/>
+      <wsdl:output message="tns:setMyUserAttributesResponse"/>
+      <wsdl:fault name="authenticationFault" message="tns:authenticationFault"/>
+    </wsdl:operation>
   </wsdl:portType>
-
-
-
-  <!--
+<!--
   ###########
   # Binding #
   ###########
   //-->
   <wsdl:binding name="binding_tgextra" type="tns:port_tgextra">
-    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
-
-    <!-- #### authenticate #### //-->
+<!-- #### authenticate #### //-->
+    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
     <wsdl:operation name="authenticate">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/authenticate" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
-      <wsdl:fault name="authenticationFault"><soap:fault name="authenticationFault" use="literal"/></wsdl:fault>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/authenticate"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+      <wsdl:fault name="authenticationFault">
+        <soap:fault use="literal" name="authenticationFault"/>
+      </wsdl:fault>
     </wsdl:operation>
-
-    <!-- #### userExists #### //-->
+<!-- #### userExists #### //-->
     <wsdl:operation name="userExists">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/userExists" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
-      <wsdl:fault name="authenticationFault"><soap:fault name="authenticationFault" use="literal"/></wsdl:fault>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/userExists"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+      <wsdl:fault name="authenticationFault">
+        <soap:fault use="literal" name="authenticationFault"/>
+      </wsdl:fault>
     </wsdl:operation>
-
-    <!-- #### createProject #### //-->
+<!-- #### createProject #### //-->
     <wsdl:operation name="createProject">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/createProject" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/createProject"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
     </wsdl:operation>
-
-    <!-- #### setProjectFile #### //-->
+<!-- #### setProjectFile #### //-->
     <wsdl:operation name="setProjectFile">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/setProjectFile" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
-      <wsdl:fault name="authenticationFault"><soap:fault name="authenticationFault" use="literal"/></wsdl:fault>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/setProjectFile"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+      <wsdl:fault name="authenticationFault">
+        <soap:fault use="literal" name="authenticationFault"/>
+      </wsdl:fault>
     </wsdl:operation>
-
-    <!-- #### getObjects #### //-->
+<!-- #### setName #### //-->
+    <wsdl:operation name="setName">
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/setName"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+<!-- #### getNames #### //-->
+    <wsdl:operation name="getNames">
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getNames"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+<!-- #### getIDs #### //-->
+    <wsdl:operation name="getIDs">
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getIDs"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+<!-- #### getObjects #### //-->
     <wsdl:operation name="getObjects">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getObjects" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getObjects"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
     </wsdl:operation>
-
-    <!-- #### addMember #### //-->
+<!-- #### addMember #### //-->
     <wsdl:operation name="addMember">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/addMember" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
-      <wsdl:fault name="rbacFault"><soap:fault name="rbacFault" use="literal"/></wsdl:fault>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/addMember"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+      <wsdl:fault name="rbacFault">
+        <soap:fault use="literal" name="rbacFault"/>
+      </wsdl:fault>
     </wsdl:operation>
-
-    <!-- #### deleteMember #### //-->
+<!-- #### deleteMember #### //-->
     <wsdl:operation name="deleteMember">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/deleteMember" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/deleteMember"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
     </wsdl:operation>
-
-    <!-- #### tgAddActiveRole #### //-->
+<!-- #### tgAddActiveRole #### //-->
     <wsdl:operation name="tgAddActiveRole">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/tgAddActiveRole" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/tgAddActiveRole"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
     </wsdl:operation>
-
-    <!-- #### tgDropActiveRole #### //-->
+<!-- #### tgDropActiveRole #### //-->
     <wsdl:operation name="tgDropActiveRole">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/tgDropActiveRole" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/tgDropActiveRole"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
     </wsdl:operation>
-
-    <!-- #### tgCheckAccess #### //-->
+<!-- #### tgCheckAccess #### //-->
     <wsdl:operation name="tgCheckAccess">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/tgCheckAccess" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/tgCheckAccess"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+      <wsdl:fault name="unknownResourceFault">
+        <soap:fault use="literal" name="unknownResourceFault"/>
+      </wsdl:fault>
     </wsdl:operation>
-
-    <!-- #### tgAssignedRoles #### //-->
+<!-- #### tgCrudCheckAccess #### //-->
+    <wsdl:operation name="tgCrudCheckAccess">
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/tgCrudCheckAccess"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+      <wsdl:fault name="unknownResourceFault">
+        <soap:fault use="literal" name="unknownResourceFault"/>
+      </wsdl:fault>
+      <wsdl:fault name="authenticationFault">
+        <soap:fault use="literal" name="authenticationFault"/>
+      </wsdl:fault>
+    </wsdl:operation>
+<!-- #### tgAssignedRoles #### //-->
     <wsdl:operation name="tgAssignedRoles">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/tgAssignedRoles" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/tgAssignedRoles"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
     </wsdl:operation>
-
-    <!-- #### tgAssignedProjects #### //-->
+<!-- #### tgAssignedProjects #### //-->
     <wsdl:operation name="tgAssignedProjects">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/tgAssignedProjects" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/tgAssignedProjects"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
     </wsdl:operation>
-
-    <!-- #### getAllProjects #### //-->
+<!-- #### getAllProjects #### //-->
     <wsdl:operation name="getAllProjects">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getAllProjects" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getAllProjects"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
     </wsdl:operation>
-
-    <!-- #### getLeader #### //-->
+<!-- #### getLeader #### //-->
     <wsdl:operation name="getLeader">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getLeader" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getLeader"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
     </wsdl:operation>
-
-    <!-- #### registerResource #### //-->
+<!-- #### registerResource #### //-->
     <wsdl:operation name="registerResource">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/registerResource" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
-      <wsdl:fault name="authenticationFault"><soap:fault name="authenticationFault" use="literal"/></wsdl:fault>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/registerResource"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+      <wsdl:fault name="authenticationFault">
+        <soap:fault use="literal" name="authenticationFault"/>
+      </wsdl:fault>
     </wsdl:operation>
-
-    <!-- #### unregisterResource #### //-->
+<!-- #### unregisterResource #### //-->
     <wsdl:operation name="unregisterResource">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/unregisterResource" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
-      <wsdl:fault name="unknownResourceFault"><soap:fault name="unknownResourceFault" use="literal"/></wsdl:fault>
-      <wsdl:fault name="authenticationFault"><soap:fault name="authenticationFault" use="literal"/></wsdl:fault>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/unregisterResource"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+      <wsdl:fault name="unknownResourceFault">
+        <soap:fault use="literal" name="unknownResourceFault"/>
+      </wsdl:fault>
+      <wsdl:fault name="authenticationFault">
+        <soap:fault use="literal" name="authenticationFault"/>
+      </wsdl:fault>
     </wsdl:operation>
-
-    <!-- #### filterBySid #### //-->
+<!-- #### filterBySid #### //-->
     <wsdl:operation name="filterBySid">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/filterBySid" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
-      <wsdl:fault name="authenticationFault"><soap:fault name="authenticationFault" use="literal"/></wsdl:fault>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/filterBySid"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+      <wsdl:fault name="authenticationFault">
+        <soap:fault use="literal" name="authenticationFault"/>
+      </wsdl:fault>
     </wsdl:operation>
-
-    <!-- #### tgGrantPermission #### //-->
+<!-- #### tgGrantPermission #### //-->
     <wsdl:operation name="tgGrantPermission">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/tgGrantPermission" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
-      <wsdl:fault name="authenticationFault"><soap:fault name="authenticationFault" use="literal"/></wsdl:fault>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/tgGrantPermission"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+      <wsdl:fault name="authenticationFault">
+        <soap:fault use="literal" name="authenticationFault"/>
+      </wsdl:fault>
     </wsdl:operation>
-
-    <!-- #### tgRevokePermission #### //-->
+<!-- #### tgRevokePermission #### //-->
     <wsdl:operation name="tgRevokePermission">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/tgRevokePermission" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
-      <wsdl:fault name="authenticationFault"><soap:fault name="authenticationFault" use="literal"/></wsdl:fault>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/tgRevokePermission"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+      <wsdl:fault name="authenticationFault">
+        <soap:fault use="literal" name="authenticationFault"/>
+      </wsdl:fault>
     </wsdl:operation>
-
-    <!-- #### getOwner #### //-->
+<!-- #### getOwner #### //-->
     <wsdl:operation name="getOwner">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getOwner" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
-      <wsdl:fault name="authenticationFault"><soap:fault name="authenticationFault" use="literal"/></wsdl:fault>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getOwner"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+      <wsdl:fault name="authenticationFault">
+        <soap:fault use="literal" name="authenticationFault"/>
+      </wsdl:fault>
     </wsdl:operation>
 
-    <!-- #### getMembers #### //-->
-    <wsdl:operation name="getMembers">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getMembers" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
-      <wsdl:fault name="authenticationFault"><soap:fault name="authenticationFault" use="literal"/></wsdl:fault>
+<!-- #### getUUID #### //-->
+    <wsdl:operation name="getUUID">
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getUUID"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+      <wsdl:fault name="authenticationFault">
+        <soap:fault name="authenticationFault" use="literal"/>
+      </wsdl:fault>
     </wsdl:operation>
 
-    <!-- #### getRights #### //-->
+<!-- #### getMembers #### //-->
+    <wsdl:operation name="getMembers">
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getMembers"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+      <wsdl:fault name="authenticationFault">
+        <soap:fault use="literal" name="authenticationFault"/>
+      </wsdl:fault>
+    </wsdl:operation>
+<!-- #### getUserRole #### //-->
+    <wsdl:operation name="getUserRole">
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getUserRole"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+      <wsdl:fault name="authenticationFault">
+        <soap:fault use="literal" name="authenticationFault"/>
+      </wsdl:fault>
+      <wsdl:fault name="unknownProjectFault">
+        <soap:fault use="literal" name="unknownProjectFault"/>
+      </wsdl:fault>
+    </wsdl:operation>
+<!-- #### getFriends #### //-->
+    <wsdl:operation name="getFriends">
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getFriends"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+<!-- #### getRights #### //-->
     <wsdl:operation name="getRights">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getRights" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
-      <wsdl:fault name="authenticationFault"><soap:fault name="authenticationFault" use="literal"/></wsdl:fault>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getRights"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+      <wsdl:fault name="authenticationFault">
+        <soap:fault use="literal" name="authenticationFault"/>
+      </wsdl:fault>
     </wsdl:operation>
-
-    <!-- #### publish #### //-->
+<!-- #### publish #### //-->
     <wsdl:operation name="publish">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/publish" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
-      <wsdl:fault name="authenticationFault"><soap:fault name="authenticationFault" use="literal"/></wsdl:fault>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/publish"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+      <wsdl:fault name="authenticationFault">
+        <soap:fault use="literal" name="authenticationFault"/>
+      </wsdl:fault>
     </wsdl:operation>
-
-    <!-- #### isPublic #### //-->
+<!-- #### isPublic #### //-->
     <wsdl:operation name="isPublic">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/isPublic" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/isPublic"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
     </wsdl:operation>
-
-    <!-- #### getProjectDescription #### //-->
+<!-- #### getNumberOfResources #### //-->
+    <wsdl:operation name="getNumberOfResources">
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getNumberOfResources"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+<!-- #### getProjectDescription #### //-->
     <wsdl:operation name="getProjectDescription">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getProjectDescription" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getProjectDescription"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
     </wsdl:operation>
-
-    <!-- #### deactivateProject #### //-->
+<!-- #### deactivateProject #### //-->
     <wsdl:operation name="deactivateProject">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/deactivateProject" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
-      <wsdl:fault name="authenticationFault"><soap:fault name="authenticationFault" use="literal"/></wsdl:fault>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/deactivateProject"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+      <wsdl:fault name="authenticationFault">
+        <soap:fault use="literal" name="authenticationFault"/>
+      </wsdl:fault>
     </wsdl:operation>
-
-    <!-- #### getSid #### //-->
+<!-- #### getDeactivatedProjects #### //-->
+    <wsdl:operation name="getDeactivatedProjects">
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getDeactivatedProjects"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+<!-- #### reactivateProject #### //-->
+    <wsdl:operation name="reactivateProject">
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/reactivateProject"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+      <wsdl:fault name="authenticationFault">
+        <soap:fault use="literal" name="authenticationFault"/>
+      </wsdl:fault>
+      <wsdl:fault name="unknownProjectFault">
+        <soap:fault use="literal" name="unknownProjectFault"/>
+      </wsdl:fault>
+    </wsdl:operation>
+<!-- #### deleteProject #### //-->
+    <wsdl:operation name="deleteProject">
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/deleteProject"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+      <wsdl:fault name="authenticationFault">
+        <soap:fault use="literal" name="authenticationFault"/>
+      </wsdl:fault>
+      <wsdl:fault name="notEmptyFault">
+        <soap:fault use="literal" name="notEmptyFault"/>
+      </wsdl:fault>
+    </wsdl:operation>
+<!-- #### getSupportedUserAttributes #### //-->
+    <wsdl:operation name="getSupportedUserAttributes">
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getSupportedUserAttributes"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+<!-- #### getMyUserAttributes #### //-->
+    <wsdl:operation name="getMyUserAttributes">
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getMyUserAttributes"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+<!-- #### setMyUserAttributes #### //-->
+    <wsdl:operation name="setMyUserAttributes">
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/setMyUserAttributes"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+<!-- #### getSid #### //-->
     <wsdl:operation name="getSid">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getSid" />
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getSid"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+    </wsdl:operation>
+<!-- #### getSLC #### //-->
+    <wsdl:operation name="getSLC">
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getSLC"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+      <wsdl:fault name="authenticationFault">
+        <soap:fault name="authenticationFault" use="literal"/>
+      </wsdl:fault>
+      <wsdl:fault name="unknownResourceFault">
+        <soap:fault name="unknownResourceFault" use="literal"/>
+      </wsdl:fault>
+    </wsdl:operation>
+<!-- #### getCSR #### //-->
+    <wsdl:operation name="getCSR">
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/getCSR"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+      <wsdl:fault name="authenticationFault">
+        <soap:fault name="authenticationFault" use="literal"/>
+      </wsdl:fault>
+      <wsdl:fault name="unknownResourceFault">
+        <soap:fault name="unknownResourceFault" use="literal"/>
+      </wsdl:fault>
+    </wsdl:operation>
+<!-- #### putCRT #### //-->
+    <wsdl:operation name="putCRT">
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/putCRT"/>
+      <wsdl:input>
+        <soap:body use="literal"/>
+      </wsdl:input>
+      <wsdl:output>
+        <soap:body use="literal"/>
+      </wsdl:output>
+      <wsdl:fault name="authenticationFault">
+        <soap:fault name="authenticationFault" use="literal"/>
+      </wsdl:fault>
+      <wsdl:fault name="unknownResourceFault">
+        <soap:fault name="unknownResourceFault" use="literal"/>
+      </wsdl:fault>
     </wsdl:operation>
 
   </wsdl:binding>
-
-
-
-  <!--
-  #####################
-  # Servicedefinition #
-  #####################
-  //-->
+<!--
+		##################### # Servicedefinition # ##################### //
+	-->
   <wsdl:service name="tgextra">
     <wsdl:port binding="tns:binding_tgextra" name="tgextra">
-      <soap:address location="http://ingrid.sub.uni-goettingen.de/rbac-8082/tgextra.php" />
+      <soap:address location="http://ingrid.sub.uni-goettingen.de/rbac-8082/tgextra.php"/>
     </wsdl:port>
   </wsdl:service>
-
 </wsdl:definitions>