diff --git a/info.textgrid.middleware.tgauth.rbac/rbacSoap/TgExtra.class.php b/info.textgrid.middleware.tgauth.rbac/rbacSoap/TgExtra.class.php
index dd3dc2c6b1c425304f0830d46fe79d236aeb32b4..846dffed8aca2c2b9d67e02b4f63524f2738ca2c 100755
--- a/info.textgrid.middleware.tgauth.rbac/rbacSoap/TgExtra.class.php
+++ b/info.textgrid.middleware.tgauth.rbac/rbacSoap/TgExtra.class.php
@@ -121,6 +121,8 @@ class TgExtra {
     $arrUserEntry;                         // the users entry in the directory
     $intSid = "";                          // the generated session-ID
     $creationResult;                       // the result of the creation of the session
+    $objFaultDetail = new stdClass();      // Fault details sent to the client
+
 
 
     // Construct the search-filter
@@ -153,26 +155,41 @@ class TgExtra {
         }
         else {
 
+          $objFaultDetail->faultNo = $this->config->getValue( "errorCode", "AUTHENTICATION_ERROR" );
+          $objFaultDetail->faultMessage = $this->config->getValue( "errorDescription", "AUTHENTICATION_ERROR" );
+          $objFaultDetail->cause = "Unable to create new session. This should not have happened.";
+
+
           return new SoapFault( "authenticationFault",
                                 $this->config->getValue( "errorCode", "AUTHENTICATION_ERROR" ),
                                 get_class( $this ),
-                                $this->config->getValue( "errorDescription", "AUTHENTICATION_ERROR" ) );
+                                $objFaultDetail );
 
         }
 
       }
       else {
 
+        $objFaultDetail->faultNo = $this->config->getValue( "errorCode", "AUTHENTICATION_ERROR" );
+        $objFaultDetail->faultMessage = $this->config->getValue( "errorDescription", "AUTHENTICATION_ERROR" );
+        $objFaultDetail->cause = "Wrong username or password.";
+
+
         return new SoapFault( "authenticationFault",
                               $this->config->getValue( "errorCode", "AUTHENTICATION_ERROR" ),
                               get_class( $this ),
-                              $this->config->getValue( "errorDescription", "AUTHENTICATION_ERROR" ) );
+                              $objFaultDetail );
 
       }
 
     }
     else {
 
+      $objFaultDetail->faultNo = $this->config->getValue( "errorCode", "AUTHENTICATION_ERROR" );
+      $objFaultDetail->faultMessage = $this->config->getValue( "errorDescription", "UNKNOWN_USER" );
+      $objFaultDetail->cause = "Wrong username or password.";
+
+
       return new SoapFault( "authenticationFault",
                             $this->config->getValue( "errorCode", "UNKNOWN_USER" ),
                             get_class( $this ),
@@ -188,6 +205,128 @@ class TgExtra {
 
 
 
+  // -----------------------------------------------------
+  // Function: tgCrudCheckAccess
+  // Input: log / xsd:string
+  //        session / xsd:string
+  //        operation / xsd:string
+  //        resource / xsd:string
+  // Output: sid / xsd:string
+  // Description
+  //   Searches for the given resource. If it's existing the
+  //   method starts the checkAccess query and returns the
+  //   result. Otherwise a Fault is generated that sais that
+  //   the resource does not exist.
+  // -----------------------------------------------------
+  public function tgCrudCheckAccess( $inRequest ) {
+
+    $result = new tgCrudCheckAccessResponse();
+    $objProjectInfo = new stdClass();
+    $objFaultDetail = new stdClass();
+    $arrResource = Array();
+    $arrProject = None;
+    $filter = "";
+
+
+    if( $inRequest->secret === $this->config->getValue( "crud", "secret" ) ) {
+
+      $filter  = "(&(objectClass=rbacResource)";
+      $filter .= "(|(" . $this->rbac->getConfiguration()->getValue( "resource", "aliasattribute" ) . "=" . $inRequest->resource . ")";
+      $filter .= "(" . $this->rbac->getConfiguration()->getValue( "resource", "namingattribute" ) . "=" . $inRequest->resource . ")))";
+
+
+      // Search for the resource.
+      $arrResource = $this->connection['resource']->search( $this->rbac->getConfiguration()->getValue( "resource", "base" ), $filter, "sub" );
+
+
+      if( sizeof( $arrResource ) > 0 ) {
+
+        // Add the PDP result
+        $result->result = $this->rbac->checkAccess( $inRequest->auth, $inRequest->operation, $inRequest->resource );
+
+
+        // See if the object is a project role...
+        for( $loObjectclass = 0; $loObjectclass < sizeof( $arrResource[0]['objectclass'] ); $loObjectclass++ ) {
+
+          // If this matches the resource is a project and the
+          // work has already been done.
+          if( preg_match( "/TextGridProject/i", $arrResource[0]['objectclass'][$loObjectclass] ) ) {
+
+            $arrProject = $arrResource;
+            break;
+
+          }
+
+        }
+
+
+        // If the resource isn't a project the project corresponding to the
+        // has to be searched now.
+        if( $arrProject == None && isset( $arrResource['tgprojectid'] ) ) {
+
+          $filter  = "(&(objectClass=rbacResource)";
+          $filter .= "(|(" . $this->rbac->getConfiguration()->getValue( "resource", "aliasattribute" ) . "=" . $arrResource['tgprojectid'][0] . ")";
+          $filter .= "(" . $this->rbac->getConfiguration()->getValue( "resource", "namingattribute" ) . "=" . $arrResource['tgprojectid'][0] . ")))";
+
+
+          // Search for the project.
+          $arrProject = $this->connection['resource']->search( $this->rbac->getConfiguration()->getValue( "resource", "base" ), $filter, "sub" );
+
+        }
+
+
+        if( $arrProject != None && sizeof( $arrProject ) > 0 ) {
+
+          $result->project = new ProjectInfo( $arrProject[0][$this->rbac->getConfiguration()->getValue( "role", "namingattribute" )][0],
+                                              $arrProject[0]['tgprojectname'][0], $arrProject[0]['tgprojectdescription'][0],
+                                              $arrProject[0]['tgprojectfile'][0] );
+
+        }
+
+
+        // Finally add the username and allowed
+        // operations for the current session.
+        $result->username = $this->rbac->sessionUser( $inRequest->auth );
+        $result->operation = $this->rbac->userOperationsOnObject( $this->rbac->sessionUser( $inRequest->auth ), $inRequest->resource );
+
+
+        return $result;
+
+      }
+      else {
+
+        $objFaultDetail->faultNo = $this->config->getValue( "errorCode", "RESOURCENOTFOUND_ERROR" );
+        $objFaultDetail->faultMessage = $this->config->getValue( "errorDescription", "RESOURCENOTFOUND_ERROR" );
+        $objFaultDetail->cause = "Object does not exist";
+
+
+        return new SoapFault( "unknownResourceFault",
+                              $this->config->getValue( "errorDescription", "RESOURCENOTFOUND_ERROR" ),
+                              get_class( $this ),
+                              $objFaultDetail );
+
+      }
+
+    }
+    else {
+
+      $objFaultDetail->faultNo = $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" );
+      $objFaultDetail->faultMessage = $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" );
+      $objFaultDetail->cause = "You are not cruddy enough - Go away and come back as CRUD!";
+
+
+      return new SoapFault( "authenticationFault",
+                            "You are not cruddy enough - Go away and come back as CRUD!",
+                            get_class( $this ),
+                            $objFaultDetail );
+
+    }
+
+  }
+
+
+
+
   // -----------------------------------------------------
   // Function: tgCheckAccess
   // Input: log / xsd:string
@@ -203,6 +342,7 @@ class TgExtra {
   public function tgCheckAccess( $inRequest ) {
 
     $result = new booleanResponse();
+    $objFaultDetail = new stdClass();
 
 
     try {
@@ -212,10 +352,15 @@ class TgExtra {
     }
     catch( Exception $e ) {
 
+      $objFaultDetail->faultNo = $this->config->getValue( "errorCode", "RESOURCENOTFOUND_ERROR" );
+      $objFaultDetail->faultMessage = $this->config->getValue( "errorDescription", "RESOURCENOTFOUND_ERROR" );
+      $objFaultDetail->cause = "Object does not exist";
+
+
       return new SoapFault( "unknownResourceFault",
-                            $this->config->getValue( "errorCode", "RESOURCENOTFOUND_ERROR" ),
+                            $this->config->getValue( "errorDescription", "RESOURCENOTFOUND_ERROR" ),
                             get_class( $this ),
-                            $this->config->getValue( "errorDescription", "RESOURCENOTFOUND_ERROR" ) );
+                            $objFaultDetail );
 
     }
 
@@ -441,6 +586,7 @@ class TgExtra {
   public function tgGrantPermission( $inRequest ) {
 
     $result = new booleanResponse();
+    $objFaultDetail = new stcClass();
 
 
     try {
@@ -452,17 +598,27 @@ class TgExtra {
       }
       else {
 
+        $objFaultDetail->faultNo = $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" );
+        $objFaultDetail->faultMessage = $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" );
+        $objFaultDetail->cause = "You do not have the permission to change the access to the resource " . $inRequest->resource . ".";
+
+
         return new SoapFault( "authenticationFault",
                                $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" ),
                                get_class( $this ),
-                               $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" ) );
+                               $objFaultDetail );
 
       }
 
     }
     catch( RBACException $e ) {
 
-      return new SoapFault( "rbacFault", $e->getCode(), get_class( $this->rbac ), $e->getMessage() );
+      $objFaultDetail->faultNo = $e->getCode();
+      $objFaultDetail->faultMessage = $e->getMessage();
+      $objFaultDetail->cause = "There was an error while connecting to the underlying RBAC database. This should not have happend!";
+
+
+      return new SoapFault( "rbacFault", $e->getCode(), get_class( $this->rbac ), $objFaultDetail );
 
     }
 
@@ -490,6 +646,7 @@ class TgExtra {
   public function tgRevokePermission( $inRequest ) {
 
     $result = new booleanResponse();
+    $objFaultDetail = new stdClass();
 
 
     try {
@@ -501,17 +658,27 @@ class TgExtra {
       }
       else {
 
+        $objFaultDetail->faultNo = $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" );
+        $objFaultDetail->faultMessage = $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" );
+        $objFaultDetail->cause = "You do not have the permission to change the access to the resource " . $inRequest->resource . ".";
+
+
         return new SoapFault( "authenticationFault",
                                $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" ),
                                get_class( $this ),
-                               $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" ) );
+                               $objFaultDetail );
 
       }
 
     }
     catch( RBACException $e ) {
 
-      return new SoapFault( "rbacFault", $e->getCode(), get_class( $this->rbac ), $e->getMessage() );
+      $objFaultDetail->faultNo = $e->getCode();
+      $objFaultDetail->faultMessage = $e->getMessage();
+      $objFaultDetail->cause = "There was an error while connecting to the underlying RBAC database. This should not have happend!";
+
+
+      return new SoapFault( "rbacFault", $e->getCode(), get_class( $this->rbac ), $objFaultDetail );
 
     }
 
@@ -864,6 +1031,7 @@ class TgExtra {
 
     $arrOperation = Array();
     $result = new operationsetResponse();  // The return-result
+    $objFaultDetail = new stdClass();
 
 
     if( preg_match( "/.+/", $inRequest->username ) ) {
@@ -875,10 +1043,15 @@ class TgExtra {
       }
       else {
 
+        $objFaultDetail->faultNo = $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" );
+        $objFaultDetail->faultMessage = $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" );
+        $objFaultDetail->cause = "You do not have the permission to see the rights of the resource " . $inRequest->resource . ".";
+
+
         return new SoapFault( "authenticationFault",
                                $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" ),
                                get_class( $this ),
-                               $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" ) );
+                               $objFaultDetail );
 
       }
 
@@ -916,6 +1089,7 @@ class TgExtra {
     $arrModify = Array();
     $filter = "";
     $result = new booleanResponse();  // The return-result
+    $objFaultDetail = new stdClass();
 
 
     $filter  = "(&" . $this->rbac->getConfiguration()->getValue( "resource", "filter" );
@@ -937,10 +1111,15 @@ class TgExtra {
     }
     else {
 
+      $objFaultDetail->faultNo = $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" );
+      $objFaultDetail->faultMessage = $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" );
+      $objFaultDetail->cause = "You do not have the permission publish the resource " . $inRequest->resource . ".";
+
+
       return new SoapFault( "authenticationFault",
                              $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" ),
                              get_class( $this ),
-                             $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" ) );
+                             $objFaultDetail );
 
     }
 
@@ -1083,17 +1262,12 @@ class TgExtra {
 
     $arrUserEntry = $this->connection['user']->search( $this->config->getValue( "authentication", "base" ), $filter, "sub" );
 
-   $file = fopen ("/tmp/xxxUR.log", "w+");
-   fwrite ($file, serialize ($arrUserEntry) ."\n");
-   fclose ($file);
-
-
     for ($i = 0; $i < sizeof( $arrUserEntry ); $i++) {
       if( isset( $arrUserEntry[$i]) &&  isset( $arrUserEntry[$i]['dn']) ) {
         $entry = $arrUserEntry[$i];
         
         $result[] = new userDetail (
-				     mb_strtolower ($entry['uid'][0]), // ePPN
+				      mb_strtolower ($entry['uid'][0]), // ePPN
 				     $entry['cn'][0],  // name
 				     isset ($entry['mail'][0]) ? $entry['mail'][0] : null,  
 				     isset ($entry['o'][0]) ? $entry['o'][0]: null,  // organisation
@@ -1145,6 +1319,7 @@ class TgExtra {
         unset ( $arrModify );
       }
 
+
       // only assert that these data are correct if they came from the IdP AND the IdP had sent at least the name (cn or (sn and givenname)) and one mail address
       if( $inRequest->webAuthSecret === $this->config->getValue( "webAuth", "secret" ) && strlen($inRequest->name) > 0 && strlen ($inRequest->mail) > 0  ) {
         $arrModify['tgusersupplieddata'][] = "FALSE";
@@ -1185,8 +1360,6 @@ class TgExtra {
   }
 
 
-
-
   // -----------------------------------------------------
   // Function: provideUserDetails
   // Input: auth / xsd:string
@@ -1257,6 +1430,7 @@ class TgExtra {
   public function setProjectFile( $inRequest ) {
 
     $result = new booleanResponse();
+    $objFaultDetail = new stdClass();
 
     $connection = $this->rbac->getConnection( "role" ); 
 
@@ -1286,10 +1460,15 @@ class TgExtra {
     }
     else { // not delegate
 
+      $objFaultDetail->faultNo = $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" );
+      $objFaultDetail->faultMessage = $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" );
+      $objFaultDetail->cause = "You do not have the permission to set the project file for project " . $inRequest->project . ".";
+
+
       return new SoapFault( "authenticationFault",
                              $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" ),
                              get_class( $this ),
-                             $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" ) );
+                             $objFaultDetail );
 
     }
 
@@ -1533,6 +1712,7 @@ class TgExtra {
     $resourceAliasAttribute = "";     // The alias-attribute of the resource
     $filter = "";                     // The LDAP-filter to find the resource
     $result = new booleanResponse();  // The return-result
+    $objFaultDetail = new stdClass();
 
 
     if( $inRequest->secret === $this->config->getValue( "crud", "secret" ) ) {
@@ -1558,21 +1738,30 @@ class TgExtra {
         }
         else {
 
+          $objFaultDetail->faultNo = $this->config->getValue( "errorCode", "RESOURCENOTFOUND_ERROR" );
+          $objFaultDetail->faultMessage = $this->config->getValue( "errorDescription", "RESOURCENOTFOUND_ERROR" );
+          $objFaultDetail->cause = "The specified resource " . $inRequest->resource . " could not be found.";
+
+
           return new SoapFault( "unknownResourceFault",
                                 $this->config->getValue( "errorCode", "RESOURCENOTFOUND_ERROR" ),
                                 get_class( $this ),
-                                $this->config->getValue( "errorDescription", "RESOURCENOTFOUND_ERROR" ) );
+                                $objFaultDetail );
 
         }
 
       }
       else {
 
+        $objFaultDetail->faultNo = $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" );
+        $objFaultDetail->faultMessage = $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" );
+        $objFaultDetail->cause = "You do not have the permission to remove " . $inRequest->resource . ".";
+
+
         return new SoapFault( "authenticationFault",
                                $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" ),
                                get_class( $this ),
-                               $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" ) );
-//      $result->result = false;
+                               $objFaultDetail );
 
       }
 
@@ -1582,10 +1771,15 @@ class TgExtra {
     }
     else {
 
+      $objFaultDetail->faultNo = $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" );
+      $objFaultDetail->faultMessage = $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" );
+      $objFaultDetail->cause = "You are not cruddy enough - Go away and come back as CRUD!";
+
+
       return new SoapFault( "authenticationFault",
-                             $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" ),
-                             get_class( $this ),
-                             $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" ) );
+                            "You are not cruddy enough - Go away and come back as CRUD!",
+                            get_class( $this ),
+                            $objFaultDetail );
 
     }
 
@@ -1614,7 +1808,8 @@ class TgExtra {
     $resourceNamingAttribute = "";    // The naming-attribute of the resource
     $arrCounter = false;              // The counter entry
     $askedDaemon = false;
-    $result = new booleanResponse();  // The return-result
+    $result = new operationsetResponse();  // The return-result
+    $objFaultDetail = new stdClass();
 
 
     if( $inRequest->secret === $this->config->getValue( "crud", "secret" ) ) {
@@ -1737,7 +1932,7 @@ class TgExtra {
         }
 
 
-        if( !$askedDaemon ) {
+        if( !$askedDaemon && $registered ) {
 
           // This entry will add or modify the directory that way
           // that there is a counter entry.
@@ -1761,24 +1956,43 @@ class TgExtra {
         }
 
 
-        $result->result = $registered;
+        // Create the set of operations the user has on
+        // the new object.
+
+        $result->operation = $this->rbac->userOperationsOnObject( $this->rbac->sessionUser( $inRequest->auth ), "TGRS" . $freeNumber );
+//        $result->result = $registered;
 
       }
       else {
 
-        $result->result = false;
+        $objFaultDetail->faultNo = $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" );
+        $objFaultDetail->faultMessage = $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" );
+        $objFaultDetail->cause = "You are not allowed to create resources in this project.";
+
+
+        return new SoapFault( "authenticationFault",
+                              "You are not allowed to create resources in this project.",
+                              get_class( $this ),
+                              $objFaultDetail );
+//        $result->operation = Array();
 
       }
 
+
       return $result;
 
     }
     else {
 
+      $objFaultDetail->faultNo = $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" );
+      $objFaultDetail->faultMessage = $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" );
+      $objFaultDetail->cause = "You are not cruddy enough - Go away and come back as CRUD!";
+
+
       return new SoapFault( "authenticationFault",
-                             $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" ),
-                             get_class( $this ),
-                             $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" ) );
+                            "You are not cruddy enough - Go away and come back as CRUD!",
+                            get_class( $this ),
+                            $objFaultDetail );
 
     }
 
@@ -1839,7 +2053,7 @@ class TgExtra {
 
       $result->project[] = new ProjectInfo( $arrProject[$i][$this->rbac->getConfiguration()->getValue( "role", "namingattribute" )][0],
                                             $arrProject[$i]['tgprojectname'][0], $arrProject[$i]['tgprojectdescription'][0],
-                                            $arrProject[$i]['tgprojectfile'] );
+                                            $arrProject[$i]['tgprojectfile'][0] );
 
     }
 
@@ -1875,6 +2089,8 @@ class TgExtra {
     $i = 0;                                 // Loop
     $username = "";                         // Reply from sessionUser	
     $is_authenticated = false;              // test if session exists in rbac
+    $objFaultDetail = new stdClass();
+
 
     try {
       $username = $this->rbac->sessionUser($inRequest->auth);
@@ -1971,7 +2187,12 @@ class TgExtra {
       }
       catch( RBACException $e ) {
 
-        return new SoapFault( "rbacFault", $e->getCode(), get_class( $this->rbac ), $e->getMessage() );
+        $objFaultDetail->faultNo = $e->getCode();
+        $objFaultDetail->faultMessage = $e->getMessage();
+        $objFaultDetail->cause = "There was an error while connecting to the underlying RBAC database. This should not have happend!";
+
+
+        return new SoapFault( "rbacFault", $e->getCode(), get_class( $this->rbac ), $objFaultDetail );
 
       }
 
@@ -1988,10 +2209,15 @@ class TgExtra {
     }
     else {
 
+      $objFaultDetail->faultNo = $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" );
+      $objFaultDetail->faultMessage = $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" );
+      $objFaultDetail->cause = "You have to login to be able to create a new project.";
+
+
       return new SoapFault( "authenticationFault",
                             $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" ),
                             get_class( $this ),
-                            $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" ) );
+                            $objFaultDetail );
 
     }
 
@@ -2016,6 +2242,7 @@ class TgExtra {
   public function deleteProject( $inRequest ) {
 
     $result = new booleanResponse();
+    $objFaultDetail = new stdClass();
 
 
     // Search for any resources within the project. If
@@ -2028,7 +2255,12 @@ class TgExtra {
 
     if( sizeof( $arrResource ) != 0 ) {
 
-      return new SoapFault( Array( "http://textgrid.info/namespaces/middleware/tgauth", "notEmptyFault" ), 7, get_class( $this ), "There are still " . sizeof( $arrResource ) . " resources belonging to this project." );
+      $objFaultDetail->faultNo = 7;
+      $objFaultDetail->faultMessage = "Project could not be deleted";
+      $objFaultDetail->cause = "There are still " . sizeof( $arrResource ) . " resources belonging to this project.";
+
+      return new SoapFault( "notEmptyFault", 7, get_class( $this ), $objFaultDetail );
+//      return new SoapFault( Array( "http://textgrid.info/namespaces/middleware/tgauth", "notEmptyFault" ), 7, get_class( $this ), "There are still " . sizeof( $arrResource ) . " resources belonging to this project." );
 
     }
     else {
@@ -2048,10 +2280,15 @@ class TgExtra {
         }
         else {
 
+          $objFaultDetail->faultNo = $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" );
+          $objFaultDetail->faultMessage = $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" );
+          $objFaultDetail->cause = "You do not have permission to delete project " . $inRequest->project . ".";
+
+
           return new SoapFault( "authenticationFault",
                                 $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" ),
                                 get_class( $this ),
-                                $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" ) );
+                                $objFaultDetail );
 
         }
 
@@ -2162,6 +2399,7 @@ class TgExtra {
     $strDn = "";
     $strFilter = "";
     $result = new booleanResponse();  // Return
+    $objFaultDetail = new stdClass();
 
 
     $username = $this->rbac->sessionUser( $inRequest->auth );
@@ -2216,20 +2454,30 @@ class TgExtra {
       }
       else {
 
+        $objFaultDetail->faultNo = $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" );
+        $objFaultDetail->faultMessage = $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" );
+        $objFaultDetail->cause = "You are not allowed to reactivate the project " . $inRequest-project . ".";
+
+
         return new SoapFault( "authenticationFault",
                               $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" ),
                               get_class( $this ),
-                              $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" ) );
+                              $objFaultDetail );
 
       }
 
     }
     else {
 
+      $objFaultDetail->faultNo = $this->config->getValue( "errorCode", "UNKNOWN_PROJECT" );
+      $objFaultDetail->faultMessage = $this->config->getValue( "errorDescription", "UNKNOWN_PROJECT" );
+      $objFaultDetail->cause = "The project " . $inRequest-project . " is unknown.";
+
+
       return new SoapFault( "unknownProjectFault",
                             $this->config->getValue( "errorCode", "UNKNOWN_PROJECT" ),
                             get_class( $this ),
-                            $this->config->getValue( "errorDescription", "UNKNOWN_PROJECT" ) );
+                            $objFaultDetail );
 
     }
 
@@ -2257,6 +2505,7 @@ class TgExtra {
     $flagResult = false;              // The result of setting the flag to the project role
     $result = new booleanResponse();  // Return
     $arrProject = "";                 // The username corresponding to the session-ID
+    $objFaultDetail = new stdClass();
 
 
     if( $this->rbac->checkAccess( $inRequest->auth, "delegate", $inRequest->project ) ) {
@@ -2307,10 +2556,15 @@ class TgExtra {
     }
     else {
 
+      $objFaultDetail->faultNo = $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" );
+      $objFaultDetail->faultMessage = $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" );
+      $objFaultDetail->cause = "You are not allowed to deactivate the project " . $inRequest->project . ".";
+
+
       return new SoapFault( "authenticationFault",
                             $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" ),
                             get_class( $this ),
-                            $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" ) );
+                            $objFaultDetail );
 
     }
 
@@ -2411,6 +2665,7 @@ class TgExtra {
 
     $result = new booleanResponse();  // Return
     $username = "";                   // The username corresponding to the session-ID
+    $objFaultDetail = new stdClass();
 
 
     try {
@@ -2420,7 +2675,12 @@ class TgExtra {
     }
     catch( Exception $e ) {
 
-      return new SoapFault( "rbacFault", $e->getCode(), get_class( $this->rbac ), $e->getMessage() );
+      $objFaultDetail->faultNo = $e->getCode();
+      $objFaultDetail->faultMessage = $e->getMessage;
+      $objFaultDetail->cause = "There was an error while connecting to the underlying RBAC database. This should not have happend!";
+
+
+      return new SoapFault( "rbacFault", $e->getCode(), get_class( $this->rbac ), $objFaultDetail );
 
     }
 
@@ -2633,6 +2893,7 @@ class TgExtra {
 
     $assignUserResult = false;        // The result of the RBAC-call
     $result = new booleanResponse();  // The result
+    $objFaultDetail = new stdClass();
 
 
     $arrRoleSplit = preg_split( "/[,]/", $inRequest->role );
@@ -2668,17 +2929,27 @@ class TgExtra {
       }
       catch( RBACException $e ) {
 
-        return new SoapFault( "rbacFault", $e->getCode(), get_class( $this->rbac ), $e->getMessage() );
+        $objFaultDetail->faultNo = $e->getCode();
+        $objFaultDetail->faultMessage = $e->getMessage;
+        $objFaultDetail->cause = "There was an error while connecting to the underlying RBAC database. This should not have happend!";
+
+
+        return new SoapFault( "rbacFault", $e->getCode(), get_class( $this->rbac ), $objFaultDetail );
 
       }
 
     }
     else {
 
+      $objFaultDetail->faultNo = $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" );
+      $objFaultDetail->faultMessage = $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" );
+      $objFaultDetail->cause = "You are not allowed to assign the member " . $inRequest->username . " to the role " . $inRequest->role . ".";
+
+
       return new SoapFault( "rbacFault",
                             $this->config->getValue( "errorCode", "INSUFFICIENT_ACCESS" ),
                             get_class( $this ),
-                            $this->config->getValue( "errorDescription", "INSUFFICIENT_ACCESS" ) );
+                            $objFaultDetail );
 
     }
 
diff --git a/info.textgrid.middleware.tgauth.rbac/rbacSoap/examples/phpinfo.php b/info.textgrid.middleware.tgauth.rbac/rbacSoap/examples/phpinfo.php
new file mode 100755
index 0000000000000000000000000000000000000000..c9f5eeb1291d85983e383d3f958ee85f35fff636
--- /dev/null
+++ b/info.textgrid.middleware.tgauth.rbac/rbacSoap/examples/phpinfo.php
@@ -0,0 +1 @@
+<?php phpinfo(); ?>
\ No newline at end of file
diff --git a/info.textgrid.middleware.tgauth.rbac/rbacSoap/examples/registerResource.php b/info.textgrid.middleware.tgauth.rbac/rbacSoap/examples/registerResource.php
index 9edfe60b64a5287b320eadc8960c0b4cb0ee163d..8451c1550e0996fe492e467946a46ebfb2b8a4f4 100755
--- a/info.textgrid.middleware.tgauth.rbac/rbacSoap/examples/registerResource.php
+++ b/info.textgrid.middleware.tgauth.rbac/rbacSoap/examples/registerResource.php
@@ -21,7 +21,7 @@ echo "<BODY><HTML>";
 
 if( isset( $_POST['wsdl'] ) ) {
 
-  $soapExtra = new SoapClient( $arrExtraWsdl[$_POST['wsdl']]['url'] );
+  $soapExtra = new SoapClient( $arrExtraWsdl[$_POST['wsdl']]['url'], Array( "trace" => true ) );
 
 }
 else {
@@ -40,6 +40,7 @@ if( isset( $_POST['auth'] ) ) {
   // -----------------------------------------------------
   $regReq = new registerResourceRequest();
   $regReq->auth = $_POST['auth'];
+  $regReq->secret = "29hsudhf892en11syodw34fh0d";
   $regReq->log = "";
   $regReq->project = $_POST['project'];
   $regReq->uri = $_POST['uri'];
@@ -51,14 +52,16 @@ if( isset( $_POST['auth'] ) ) {
   try {
 
     $registerResourceResponse = $soapExtra->registerResource( $regReq );
+    echo $soapExtra->__getLastRequest();
 
-    if( $registerResourceResponse->result ) {
+    if( $registerResourceResponse->operation ) {
 
-      echo "DONE.<BR>";
+      echo "Operations: " . serialize( $registerResourceResponse->operation );
 
     }
     else {
 
+      echo $soapExtra->__getLastResponse();
       echo "UNABLE to commit!<BR>";
 
     }
@@ -66,7 +69,7 @@ if( isset( $_POST['auth'] ) ) {
   }
   catch( SoapFault $f ) {
 
-    echo "SOAP FAULT!: " . $f->faultcode . " / " . $f->faultstring . " / " . $f->detail;
+    echo "SOAP FAULT!: " . $f->faultcode . " / " . $f->faultstring . " / " . serialize( $f->detail );
 
   }
 
diff --git a/info.textgrid.middleware.tgauth.rbac/rbacSoap/examples/tgCrudCheckAccess.php b/info.textgrid.middleware.tgauth.rbac/rbacSoap/examples/tgCrudCheckAccess.php
new file mode 100755
index 0000000000000000000000000000000000000000..15f54d427f3cc3138eec3f8fb7576392dbdfef61
--- /dev/null
+++ b/info.textgrid.middleware.tgauth.rbac/rbacSoap/examples/tgCrudCheckAccess.php
@@ -0,0 +1,81 @@
+<?php
+// #######################################################
+// Author: Markus Widmer
+// Creation date: 18.07.2007
+// Modification date: 18.07.2007
+// Version: 0.1.0
+// #######################################################
+
+
+require_once( "../soapTypes.inc.php" );
+
+
+
+// -----------------------------------------------------
+// You'll need these services
+// -----------------------------------------------------
+$soapSystem = new SoapClient( "../wsdl/tgextra.wsdl", Array( "trace" => true ) );
+
+
+echo "<BODY><HTML>";
+
+
+
+
+if( isset( $_POST['auth'] ) ) {
+
+  // -----------------------------------------------------
+  // If this was successfull you can add a the user you
+  // wish to create
+  // -----------------------------------------------------
+  $regReq = new tgCrudCheckAccessRequest();
+  $regReq->auth = $_POST['auth'];
+  $regReq->secret = "29hsudhf892en11syodw34fh0d";
+  $reqReq->log = "";
+//  $regReq->sid = $_POST['sid'];
+  $regReq->resource = $_POST['resource'];
+  $regReq->operation = $_POST['operation'];
+
+
+  echo "<HR/>";
+  echo "Checking access...<BR/>";
+
+
+  try {
+
+    $checkResponse = $soapSystem->tgCrudCheckAccess( $regReq );
+
+    echo $soapSystem->__getLastResponse();
+
+    if( $checkResponse->result ) {
+
+      echo "YES.<BR>";
+
+    }
+    else {
+
+      echo "NO<BR>";
+
+    }
+
+  }
+  catch( SoapFault $f ) {
+
+    echo $soapSystem->__getLastRequest();
+    echo "SOAP FAULT!: " . serialize ($f);
+
+  }
+
+}
+
+
+echo "<FORM action=\"tgCrudCheckAccess.php\" method=\"post\" enctype=\"multipart/form-data\">\n";
+echo "Auth: <INPUT type=\"text\" name=\"auth\" value=\"\"><BR>\n";
+echo "Operation: <INPUT type=\"text\" name=\"operation\" value=\"\"><BR>\n";
+echo "Resource: <INPUT type=\"text\" name=\"resource\" value=\"\"><BR>\n";
+echo "<INPUT type=\"submit\" value=\"Commit...\">\n";
+echo "</FORM>\n";
+
+echo "</BODY></HTML>";
+
+?>
diff --git a/info.textgrid.middleware.tgauth.rbac/rbacSoap/soapTypes.inc.php b/info.textgrid.middleware.tgauth.rbac/rbacSoap/soapTypes.inc.php
index 10b6b5cd20cb7800ee48591ae77087341a23d8da..acda70bc5dc0a351de3158b86c6297f1b26b11e0 100755
--- a/info.textgrid.middleware.tgauth.rbac/rbacSoap/soapTypes.inc.php
+++ b/info.textgrid.middleware.tgauth.rbac/rbacSoap/soapTypes.inc.php
@@ -28,6 +28,26 @@ class checkAccessRequest {
 
 }
 
+class tgCrudCheckAccessRequest {
+
+  public $auth;
+  public $log;
+  public $secret;
+  public $operation;
+  public $resource;
+  public $sid;
+
+}
+
+class tgCrudCheckAccessResponse {
+
+  public $result;
+  public $projectInfo;
+  public $username;
+  public $operation;
+
+}
+
 class tgCheckAccessRequest {
 
   public $auth;
@@ -662,6 +682,7 @@ class userDetail {
 	if (!is_null ($inorganisation)) { $this->organisation = $inorganisation;}
 	if (!is_null ($inagreesearch)) { $this->agreesearch = $inagreesearch;}
 	if (!is_null ($inusersupplieddata)) { $this->usersupplieddata = $inusersupplieddata;}
+
   }
 }
 
diff --git a/info.textgrid.middleware.tgauth.rbac/rbacSoap/wsdl-8081/tgextra.wsdl b/info.textgrid.middleware.tgauth.rbac/rbacSoap/wsdl-8081/tgextra.wsdl
index ffaceae0662997bbfd7a85eb6e6f5ce40219c7f5..b3da1592cc6add5fbdceb07cc0bfa4bbb2662dbe 100644
--- a/info.textgrid.middleware.tgauth.rbac/rbacSoap/wsdl-8081/tgextra.wsdl
+++ b/info.textgrid.middleware.tgauth.rbac/rbacSoap/wsdl-8081/tgextra.wsdl
@@ -1,2632 +1,2212 @@
 <?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 #### //-->
-                        <xsd:element name="getSidRequest">
-                                <xsd:complexType>
-                                        <xsd:sequence>
-                                        </xsd:sequence>
-                                </xsd:complexType>
-                        </xsd:element>
-       <xsd:element name="getSidResponse">
+<!-- #### 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 #### //-->
+<!-- #### 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="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>
-
-
-      <!-- #### getDeactivatedProjects #### //-->
+<!-- #### 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: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:element name="project" type="tns:projectInfo" minOccurs="0" maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
-      <!-- #### tgCheckAccess #### //-->
+<!-- #### 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 #### //-->
+<!-- #### 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>
-
-      <!-- #### getUserRole #### //-->
+<!-- #### getUserRole #### //-->
       <xsd:element name="getUserRoleRequest">
-	<xsd:complexType>
+        <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 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 #### //-->
+<!-- #### getFriends #### //-->
       <xsd:element name="getFriendsRequest">
-	<xsd:complexType>
+        <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 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 #### //-->
+<!-- #### 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>
-
-
-      <!-- #### hasPublicResourcesRequest #### //-->
+<!-- #### hasPublicResourcesRequest #### //-->
       <xsd:element name="hasPublicResourcesRequest">
         <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>
-
-
-      <!-- #### setProjectFile #### //-->
+<!-- #### 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>
-
-      <!-- #### setName #### //-->
+<!-- #### 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: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>
-
-      <!-- #### provideUserDetails #### //-->
+<!-- #### provideUserDetails #### //-->
       <xsd:element name="provideUserDetailsRequest">
         <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="citizenship" type="xsd:string" minOccurs="1" maxOccurs="1" />
-            <xsd:element name="personid" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="interest" type="xsd:string" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="organisationalunit" 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="citizenship" type="xsd:string" minOccurs="1" maxOccurs="1"/>
+            <xsd:element name="personid" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="interest" type="xsd:string" minOccurs="0" maxOccurs="1"/>
+            <xsd:element name="organisationalunit" type="xsd:string" minOccurs="0" maxOccurs="1"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-      <!-- #### getNames #### //-->
+<!-- #### 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: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:element name="userdetails" type="tns:userDetail" minOccurs="0" maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-      <!-- #### getIDs #### //-->
+<!-- #### 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: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:element name="userdetails" type="tns:userDetail" minOccurs="0" maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-      <!-- #### getProjectDescription #### //-->
+<!-- #### 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 #### //-->
+<!-- #### 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: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 #### //-->
+<!-- #### 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: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="tgCrudCheckAccessResponse">
+        <xsd:complexType>
+          <xsd:sequence>
+            <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="rolesetResponse">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="role" 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="usersetResponse">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="username" 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="resourcesetResponse">
         <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="operationsetResponse">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="operation" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
+            <xsd:element name="operation" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
       <xsd:element name="getUserRoleResponse">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="userRole" type="tns:userRole" minOccurs="0" maxOccurs="unbounded" />
+            <xsd:element name="userRole" type="tns:userRole" minOccurs="0" maxOccurs="unbounded"/>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
-
-
       <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: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:element name="getFriendsResponse">
         <xsd:complexType>
           <xsd:sequence>
-            <xsd:element name="friends" type="tns:friend" minOccurs="0" maxOccurs="unbounded" />
+            <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: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: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: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>
-
-
-      <!-- #### authenticationFault #### //-->
-      <xsd:element name="authenticationFaultResponse">
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="fault" type="xsd:string" minOccurs="1" maxOccurs="1" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-
-      <!-- #### unknownResourceFault #### //-->
-      <xsd:element name="unknownResourceFaultResponse">
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="fault" type="xsd:string" minOccurs="1" maxOccurs="1" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-
-      <!-- #### unknownProjectFault #### //-->
-      <xsd:element name="unknownProjectFaultResponse">
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="fault" type="xsd:string" minOccurs="1" maxOccurs="1" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-
-      <!-- #### rbacFault #### //-->
-      <xsd:element name="rbacFaultResponse">
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="fault" type="xsd:string" minOccurs="1" maxOccurs="1" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-
-      <!-- #### notEmptyFault #### //-->
-      <xsd:element name="notEmptyFaultResponse">
-        <xsd:complexType>
-          <xsd:sequence>
-            <xsd:element name="fault" type="xsd:string" minOccurs="1" maxOccurs="1" />
-          </xsd:sequence>
-        </xsd:complexType>
-      </xsd:element>
-
     </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>
-
-  <!-- #### getDeactivatedProjects #### //-->
+<!-- #### getDeactivatedProjects #### //-->
   <wsdl:message name="getDeactivatedProjectsRequest">
-    <wsdl:part element="tns:getDeactivatedProjectsRequest" name="getDeactivatedProjectsInput" />
+    <wsdl:part element="tns:getDeactivatedProjectsRequest" name="getDeactivatedProjectsInput"/>
   </wsdl:message>
   <wsdl:message name="getDeactivatedProjectsResponse">
-    <wsdl:part element="tns:getDeactivatedProjectsResponse" name="getDeactivatedProjectsOutput" />
+    <wsdl:part element="tns:getDeactivatedProjectsResponse" name="getDeactivatedProjectsOutput"/>
   </wsdl:message>
-
-  <!-- #### getLeader #### //-->
+<!-- #### 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 #### //-->
+<!-- #### 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>
-
-  <!-- #### getUserRole #### //-->
+<!-- #### getUserRole #### //-->
   <wsdl:message name="getUserRoleRequest">
-    <wsdl:part element="tns:getUserRoleRequest" name="getUserRoleInput" />
+    <wsdl:part element="tns:getUserRoleRequest" name="getUserRoleInput"/>
   </wsdl:message>
   <wsdl:message name="getUserRoleResponse">
-    <wsdl:part element="tns:getUserRoleResponse" name="getUserRoleOutput" />
+    <wsdl:part element="tns:getUserRoleResponse" name="getUserRoleOutput"/>
   </wsdl:message>
-
-  <!-- #### getFriends #### //-->
+<!-- #### getFriends #### //-->
   <wsdl:message name="getFriendsRequest">
-    <wsdl:part element="tns:getFriendsRequest" name="getFriendsInput" />
+    <wsdl:part element="tns:getFriendsRequest" name="getFriendsInput"/>
   </wsdl:message>
   <wsdl:message name="getFriendsResponse">
-    <wsdl:part element="tns:getFriendsResponse" name="getFriendsOutput" />
+    <wsdl:part element="tns:getFriendsResponse" name="getFriendsOutput"/>
   </wsdl:message>
-
-
-  <!-- #### getRights #### //-->
+<!-- #### 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>
-
-  <!-- #### hasPublicResources #### //-->
+<!-- #### hasPublicResources #### //-->
   <wsdl:message name="hasPublicResourcesRequest">
-    <wsdl:part element="tns:hasPublicResourcesRequest" name="hasPublicResourcesInput" />
+    <wsdl:part element="tns:hasPublicResourcesRequest" name="hasPublicResourcesInput"/>
   </wsdl:message>
   <wsdl:message name="hasPublicResourcesResponse">
-    <wsdl:part element="tns:booleanResponse" name="hasPublicResourcesOutput" />
+    <wsdl:part element="tns:booleanResponse" name="hasPublicResourcesOutput"/>
   </wsdl:message>
-
-  <!-- #### setProjectFile #### //-->
+<!-- #### 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>
-
-  <!-- #### setName #### //-->
+<!-- #### setName #### //-->
   <wsdl:message name="setNameRequest">
-    <wsdl:part element="tns:setNameRequest" name="setNameInput" />
+    <wsdl:part element="tns:setNameRequest" name="setNameInput"/>
   </wsdl:message>
   <wsdl:message name="setNameResponse">
-    <wsdl:part element="tns:booleanResponse" name="setNameOutput" />
+    <wsdl:part element="tns:booleanResponse" name="setNameOutput"/>
   </wsdl:message>
-
-  <!-- #### provideUserDetails #### //-->
+<!-- #### provideUserDetails #### //-->
   <wsdl:message name="provideUserDetailsRequest">
-    <wsdl:part element="tns:provideUserDetailsRequest" name="provideUserDetailsInput" />
+    <wsdl:part element="tns:provideUserDetailsRequest" name="provideUserDetailsInput"/>
   </wsdl:message>
   <wsdl:message name="provideUserDetailsResponse">
-    <wsdl:part element="tns:booleanResponse" name="provideUserDetailsOutput" />
+    <wsdl:part element="tns:booleanResponse" name="provideUserDetailsOutput"/>
   </wsdl:message>
-
-  <!-- #### getNames #### //-->
+<!-- #### getNames #### //-->
   <wsdl:message name="getNamesRequest">
-    <wsdl:part element="tns:getNamesRequest" name="getNamesInput" />
+    <wsdl:part element="tns:getNamesRequest" name="getNamesInput"/>
   </wsdl:message>
   <wsdl:message name="getNamesResponse">
-    <wsdl:part element="tns:getNamesResponse" name="getNamesOutput" />
+    <wsdl:part element="tns:getNamesResponse" name="getNamesOutput"/>
   </wsdl:message>
-
-  <!-- #### getIDs #### //-->
+<!-- #### getIDs #### //-->
   <wsdl:message name="getIDsRequest">
-    <wsdl:part element="tns:getIDsRequest" name="getIDsInput" />
+    <wsdl:part element="tns:getIDsRequest" name="getIDsInput"/>
   </wsdl:message>
   <wsdl:message name="getIDsResponse">
-    <wsdl:part element="tns:getIDsResponse" name="getIDsOutput" />
+    <wsdl:part element="tns:getIDsResponse" name="getIDsOutput"/>
   </wsdl:message>
-
-  <!-- #### getProjectDescription #### //-->
+<!-- #### 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>
-
-  <!-- #### 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 #### //-->
+<!-- #### reactivateProject #### //-->
   <wsdl:message name="reactivateProjectRequest">
-    <wsdl:part element="tns:reactivateProjectRequest" name="reactivateProjectInput" />
+    <wsdl:part element="tns:reactivateProjectRequest" name="reactivateProjectInput"/>
   </wsdl:message>
   <wsdl:message name="reactivateProjectResponse">
-    <wsdl:part element="tns:booleanResponse" name="reactivateProjectOutput" />
+    <wsdl:part element="tns:booleanResponse" name="reactivateProjectOutput"/>
   </wsdl:message>
-
-  <!-- #### deleteProject #### //-->
+<!-- #### deleteProject #### //-->
   <wsdl:message name="deleteProjectRequest">
-    <wsdl:part element="tns:deleteProjectRequest" name="deleteProjectInput" />
+    <wsdl:part element="tns:deleteProjectRequest" name="deleteProjectInput"/>
   </wsdl:message>
   <wsdl:message name="deleteProjectResponse">
-    <wsdl:part element="tns:booleanResponse" name="deleteProjectOutput" />
+    <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="getSidRequest">
-                <wsdl:part element="tns:getSidRequest" name="getSidInput" />
-        </wsdl:message>
   <wsdl:message name="getSidResponse">
-    <wsdl:part element="tns:getSidResponse" name="getSidOutput" />
+    <wsdl:part element="tns:getSidResponse" name="getSidOutput"/>
   </wsdl:message>
-
-  <!-- #### authenticationFault #### //-->
+<!-- #### authenticationFault #### //-->
   <wsdl:message name="authenticationFault">
-    <wsdl:part element="tns:authenticationFaultResponse" name="authenticationFault" />
-  </wsdl:message>
-
-  <!-- #### unknownResourceFault #### //-->
-  <wsdl:message name="unknownResourceFault">
-    <wsdl:part element="tns:unknownResourceFaultResponse" name="unknownResourceFault" />
+    <wsdl:part element="tns:authenticationFaultResponse" name="authenticationFault"/>
   </wsdl:message>
-
-  <!-- #### unknownProjectFault #### //-->
+<!-- #### unknownProjectFault #### //-->
   <wsdl:message name="unknownProjectFault">
-    <wsdl:part element="tns:unknownProjectFaultResponse" 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>
-
-  <!-- #### notEmptyFault #### //-->
+<!-- #### notEmptyFault #### //-->
   <wsdl:message name="notEmptyFault">
-    <wsdl:part element="tns:notEmptyFaultResponse" name="notEmptyFault" />
+    <wsdl:part element="tns:notEmptyFaultResponse" name="notEmptyFault"/>
   </wsdl:message>
-
-
-  <!--
-  ##########################
-  # Port-Type-Definitionen #
-  ##########################
-  //-->
+<!-- #### 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" />
-    </wsdl:operation>
-
-    <!-- #### userExists #### //-->
+				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 #### //-->
     <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" />
-    </wsdl:operation>
-
-    <!-- #### createProject #### //-->
+				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 #### //-->
     <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" />
-    </wsdl:operation>
-
-    <!-- #### setProjectFile #### //-->
+				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 #### //-->
     <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" />
-    </wsdl:operation>
-
-
-    <!-- #### setName #### //-->
+				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"/>
+    </wsdl:operation>
+<!-- #### 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>
-
-    <!-- #### provideUserDetails #### //-->
+				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>
+<!-- #### provideUserDetails #### //-->
     <wsdl:operation name="provideUserDetails">
-
       <wsdl:documentation>
 	Supply further user-specific information
-	<ul>
-	  <li><b>Input Parameters</b> provideUserDetailsRequest, 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>citizenship - mandatory 2-letter String with code for Country Of Citizenship of the User</li>
-	      <li>personid - optional, an URI or PND reference for the person</li>
-	      <li>interest - optional, Users can list their TextGrid-related research interests</li>
-	      <li>organisationalunit - optional, finer-grained unit of a larger organisation</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>
+	<ul><li><b>Input Parameters</b> provideUserDetailsRequest, 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>citizenship - mandatory 2-letter String with code for Country Of Citizenship of the User</li><li>personid - optional, an URI or PND reference for the person</li><li>interest - optional, Users can list their TextGrid-related research interests</li><li>organisationalunit - optional, finer-grained unit of a larger organisation</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:provideUserDetailsRequest" />
-      <wsdl:output message="tns:provideUserDetailsResponse" />
+      <wsdl:input message="tns:provideUserDetailsRequest"/>
+      <wsdl:output message="tns:provideUserDetailsResponse"/>
     </wsdl:operation>
-
-
-    <!-- #### getNames #### //-->
+<!-- #### 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 #### //-->
+				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 #### //-->
+				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" />
-    </wsdl:operation>
-
-    <!-- #### addMember #### //-->
+				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 #### //-->
     <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" />
-    </wsdl:operation>
-
-    <!-- #### deleteMember #### //-->
+				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 #### //-->
     <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" />
-    </wsdl:operation>
-
-    <!-- #### tgAddActiveRole #### //-->
+				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 #### //-->
     <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" />
-    </wsdl:operation>
-
-    <!-- #### tgDropActiveRole #### //-->
+				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 #### //-->
     <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" />
-    </wsdl:operation>
-
-    <!-- #### tgCheckAccess #### //-->
+				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 #### //-->
     <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>
-	  <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 #### //-->
+				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>
+<!-- #### 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" />
-    </wsdl:operation>
-
-    <!-- #### tgAssignedProjects #### //-->
+				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 #### //-->
     <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" />
-    </wsdl:operation>
-
-    <!-- #### getAllProjects #### //-->
+				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 #### //-->
     <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" />
-    </wsdl:operation>
-
-    <!-- #### getDeactivatedProjects #### //-->
+				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>
+<!-- #### 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 #### //-->
+				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" />
-    </wsdl:operation>
-
-    <!-- #### registerResource #### //-->
+				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 #### //-->
     <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" />
-    </wsdl:operation>
-
-    <!-- #### unregisterResource #### //-->
+				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 #### //-->
     <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" />
-    </wsdl:operation>
-
-    <!-- #### filterBySid #### //-->
+				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 #### //-->
     <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" />
-    </wsdl:operation>
-
-    <!-- #### tgGrantPermission #### //-->
+				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 #### //-->
     <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" />
-    </wsdl:operation>
-
-    <!-- #### tgRevokePermission #### //-->
+				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 #### //-->
     <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" />
-    </wsdl:operation>
-
-    <!-- #### getOwner #### //-->
+				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 #### //-->
     <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>
-
-    <!-- #### getMembers #### //-->
+				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>
+<!-- #### 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 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>
-
-
-    <!-- #### getUserRole #### //-->
+				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>
+<!-- #### 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 #### //-->
+				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 #### //-->
+				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" />
-    </wsdl:operation>
-
-    <!-- #### publish #### //-->
+				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 #### //-->
     <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" />
-    </wsdl:operation>
-
-    <!-- #### isPublic #### //-->
+				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 #### //-->
     <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" />
-    </wsdl:operation>
-
-    <!-- #### hasPublicResources #### //-->
+				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>
+<!-- #### hasPublicResources #### //-->
     <wsdl:operation name="hasPublicResources">
-
       <wsdl:documentation>
-	Checks if a project has public resources.
-	<ul>
-	  <li><b>Input Parameters</b> hasPublicResourcesRequest, 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> booleanResponse, with element
-	    <ul>
-	      <li>result - boolean, true if project has public
-	      resources.</li>
-	    </ul>
-	  </li>
-	</ul>
-      </wsdl:documentation>
-
-      <wsdl:input message="tns:hasPublicResourcesRequest" />
-      <wsdl:output message="tns:hasPublicResourcesResponse" />
-    </wsdl:operation>
-
-    <!-- #### deactivateProject #### //-->
+				Checks if a project has public resources.
+				<ul><li><b>Input Parameters</b>
+						hasPublicResourcesRequest, 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>
+						booleanResponse, with element
+						<ul><li>result - boolean, true if project has public
+								resources.</li></ul></li></ul>
+			</wsdl:documentation>
+      <wsdl:input message="tns:hasPublicResourcesRequest"/>
+      <wsdl:output message="tns:hasPublicResourcesResponse"/>
+    </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" />
-    </wsdl:operation>
-
-    <!-- #### reactivateProject #### //-->
+				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>
+<!-- #### 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 #### //-->
+				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 #### //-->
+				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>
-
-    <!-- #### getSid #### //-->
+				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>
+<!-- #### getSid #### //-->
     <wsdl:operation name="getSid">
-
       <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>
-      </wsdl:documentation>
-
-      <wsdl:output message="tns:getSidResponse" />
-                        <wsdl:input message="tns:getSidRequest" />
+				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>
-
   </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>
-    </wsdl:operation>
-
-    <!-- #### userExists #### //-->
+      <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 #### //-->
     <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>
-    </wsdl:operation>
-
-    <!-- #### createProject #### //-->
+      <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 #### //-->
     <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>
-    </wsdl:operation>
-
-    <!-- #### setProjectFile #### //-->
+      <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 #### //-->
     <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>
-    </wsdl:operation>
-
-    <!-- #### setName #### //-->
+      <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>
+<!-- #### 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>
-
-    <!-- #### provideUserDetails #### //-->
+      <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>
+<!-- #### provideUserDetails #### //-->
     <wsdl:operation name="provideUserDetails">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/provideUserDetails" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
-    </wsdl:operation>
-
-    <!-- #### getNames #### //-->
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/provideUserDetails"/>
+      <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 #### //-->
+      <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 #### //-->
+      <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>
-    </wsdl:operation>
-
-    <!-- #### addMember #### //-->
+      <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 #### //-->
     <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>
-    </wsdl:operation>
-
-    <!-- #### deleteMember #### //-->
+      <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 #### //-->
     <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>
-    </wsdl:operation>
-
-    <!-- #### tgAddActiveRole #### //-->
+      <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 #### //-->
     <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>
-    </wsdl:operation>
-
-    <!-- #### tgDropActiveRole #### //-->
+      <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 #### //-->
     <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>
-    </wsdl:operation>
-
-    <!-- #### tgCheckAccess #### //-->
+      <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 #### //-->
     <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>
-      <wsdl:fault name="unknownResourceFault"><soap:fault name="unknownResourceFault" use="literal"/></wsdl:fault>
-    </wsdl:operation>
-
-    <!-- #### tgAssignedRoles #### //-->
+      <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>
+<!-- #### 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>
-    </wsdl:operation>
-
-    <!-- #### tgAssignedProjects #### //-->
+      <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 #### //-->
     <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>
-    </wsdl:operation>
-
-    <!-- #### getAllProjects #### //-->
+      <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 #### //-->
     <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>
-    </wsdl:operation>
-
-    <!-- #### getLeader #### //-->
+      <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 #### //-->
     <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>
-    </wsdl:operation>
-
-    <!-- #### registerResource #### //-->
+      <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 #### //-->
     <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>
-    </wsdl:operation>
-
-    <!-- #### unregisterResource #### //-->
+      <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 #### //-->
     <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>
-    </wsdl:operation>
-
-    <!-- #### filterBySid #### //-->
+      <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 #### //-->
     <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>
-    </wsdl:operation>
-
-    <!-- #### tgGrantPermission #### //-->
+      <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 #### //-->
     <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>
-    </wsdl:operation>
-
-    <!-- #### tgRevokePermission #### //-->
+      <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 #### //-->
     <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>
-    </wsdl:operation>
-
-    <!-- #### getOwner #### //-->
+      <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 #### //-->
     <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>
-    </wsdl:operation>
-
-    <!-- #### getMembers #### //-->
+      <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>
-    </wsdl:operation>
-
-    <!-- #### getUserRole #### //-->
+      <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 name="authenticationFault" use="literal"/></wsdl:fault>
-      <wsdl:fault name="unknownProjectFault"><soap:fault name="unknownProjectFault" use="literal"/></wsdl:fault>
-    </wsdl:operation>
-
-    <!-- #### getFriends #### //-->
+      <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 #### //-->
+      <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>
-    </wsdl:operation>
-
-    <!-- #### publish #### //-->
+      <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 #### //-->
     <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>
-    </wsdl:operation>
-
-    <!-- #### isPublic #### //-->
+      <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 #### //-->
     <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>
-    </wsdl:operation>
-
-    <!-- #### hasPublicResources #### //-->
+      <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>
+<!-- #### hasPublicResources #### //-->
     <wsdl:operation name="hasPublicResources">
-      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/hasPublicResources" />
-      <wsdl:input><soap:body use="literal" /></wsdl:input>
-      <wsdl:output><soap:body use="literal" /></wsdl:output>
-    </wsdl:operation>
-
-    <!-- #### getProjectDescription #### //-->
+      <soap:operation soapAction="http://textgrid.info/namespaces/middleware/tgauth/hasPublicResources"/>
+      <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>
-    </wsdl:operation>
-
-    <!-- #### deactivateProject #### //-->
+      <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 #### //-->
     <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>
-    </wsdl:operation>
-
-    <!-- #### getDeactivatedProjects #### //-->
+      <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>
+<!-- #### 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 #### //-->
+      <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 name="authenticationFault" use="literal" /></wsdl:fault>
-      <wsdl:fault name="unknownProjectFault"><soap:fault name="unknownProjectFault" use="literal" /></wsdl:fault>
-    </wsdl:operation>
- 
-    <!-- #### deleteProject #### //-->
+      <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 name="authenticationFault" use="literal" /></wsdl:fault>
-      <wsdl:fault name="notEmptyFault"><soap:fault name="notEmptyFault" use="literal" /></wsdl:fault>
-    </wsdl:operation>
-
-    <!-- #### getSid #### //-->
+      <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>
+<!-- #### getSid #### //-->
     <wsdl:operation name="getSid">
-      <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>
+      <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>
-
   </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-8081/tgextra.php" />
+      <soap:address location="http://ingrid.sub.uni-goettingen.de/rbac-8081/tgextra.php"/>
     </wsdl:port>
   </wsdl:service>
-
 </wsdl:definitions>