Interface adjustment due to current standardization activities
Massive refactoring for the better
diff --git a/sdks/dotnet/basyx-components/BaSyx.API.Http.Controllers/BaSyx.API.Http.Controllers.xml b/sdks/dotnet/basyx-components/BaSyx.API.Http.Controllers/BaSyx.API.Http.Controllers.xml
new file mode 100644
index 0000000..8ed3b60
--- /dev/null
+++ b/sdks/dotnet/basyx-components/BaSyx.API.Http.Controllers/BaSyx.API.Http.Controllers.xml
@@ -0,0 +1,474 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>BaSyx.API.Http.Controllers</name>
+    </assembly>
+    <members>
+        <member name="T:BaSyx.API.Http.Controllers.AssetAdministrationShellRepositoryServices">
+            <summary>
+            The Asset Administration Shell Repository Controller
+            </summary>
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.AssetAdministrationShellRepositoryServices.#ctor(BaSyx.API.Components.IAssetAdministrationShellRepositoryServiceProvider)">
+            <summary>
+            Constructor for the Asset Administration Shell Repository Services Controller
+            </summary>
+            <param name="assetAdministrationShellRepositoryServiceProvider"></param>
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.AssetAdministrationShellRepositoryServices.GetAllAssetAdministrationShells">
+            <summary>
+            Retrieves all Asset Administration Shells from the repository service endpoint
+            </summary>
+            <returns></returns>
+            <response code="200">Returns a list of found Asset Administration Shells</response>
+            <response code="404">No Asset Administration Shells found</response>            
+            <response code="400">Bad Request</response>    
+            <response code="502">Bad Gateway</response>
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.AssetAdministrationShellRepositoryServices.GetAssetAdministrationShellById(System.String)">
+            <summary>
+            Retrieves a specific Asset Administration Shell from the repository service endpoint
+            </summary>
+            <param name="aasId">The Asset Administration Shell's unique id</param>
+            <returns></returns>
+            <response code="200">Returns the requested Asset Administration Shell</response>
+            <response code="404">No Asset Administration Shell found</response>     
+            <response code="400">Bad Request</response>         
+            <response code="502">Bad Gateway</response>
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.AssetAdministrationShellRepositoryServices.PutAssetAdministrationShell(BaSyx.Models.Core.AssetAdministrationShell.Generics.IAssetAdministrationShell)">
+            <summary>
+            Creates or updates a Asset Administration Shell at the repository service endpoint
+            </summary>
+            <param name="aas">The serialized Asset Administration Shell object</param>
+            <returns></returns>
+            <response code="201">Asset Administration Shell created successfully</response>
+            <response code="400">Bad Request</response>             
+            <response code="502">Bad Gateway</response> 
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.AssetAdministrationShellRepositoryServices.DeleteAssetAdministrationShellById(System.String)">
+            <summary>
+            Deletes a specific Asset Administration Shell at the repository service endpoint
+            </summary>
+            <param name="aasId">The Asset Administration Shell's unique id</param>
+            <returns></returns>
+            <response code="200">Asset Administration Shell deleted successfully</response>
+            <response code="400">Bad Request</response>      
+            <response code="502">Bad Gateway</response>
+        </member>
+        <member name="T:BaSyx.API.Http.Controllers.AssetAdministrationShellServices">
+            <summary>
+            All Asset Administration Shell Services provided by the component
+            </summary>
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.AssetAdministrationShellServices.#ctor(BaSyx.API.Components.IAssetAdministrationShellServiceProvider)">
+            <summary>
+            Constructor for the Asset Administration Shell Services Controller
+            </summary>
+            <param name="assetAdministrationShellServiceProvider">The Asset Administration Shell Service Provider implementation provided by the dependency injection</param>
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.AssetAdministrationShellServices.GetAssetAdministrationShell">
+            <summary>
+            Retrieves the Asset Administration Shell Descriptor
+            </summary>
+            <returns></returns>
+            <response code="200">Success</response>   
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.AssetAdministrationShellServices.PutSubmodelToShell(BaSyx.Models.Core.AssetAdministrationShell.Generics.ISubmodel)">
+            <summary>
+            Creates or updates a Submodel to an existing Asset Administration Shell
+            </summary>
+            <param name="submodel">The serialized Submodel object</param>
+            <returns></returns>
+            <response code="201">Submodel created successfully</response>
+            <response code="400">Bad Request</response>               
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.AssetAdministrationShellServices.GetSubmodelFromShellByIdShort(System.String)">
+            <summary>
+            Retrieves the Submodel from the Asset Administration Shell
+            </summary>
+            <param name="submodelIdShort">The Submodel's short id</param>
+            <returns></returns>
+            <response code="200">Submodel retrieved successfully</response>
+            <response code="404">No Submodel Service Provider found</response>    
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.AssetAdministrationShellServices.DeleteSubmodelFromShellByIdShort(System.String)">
+            <summary>
+            Deletes a specific Submodel from the Asset Administration Shell
+            </summary>
+            <param name="submodelIdShort">The Submodel's short id</param>
+            <returns></returns>
+            <response code="204">Submodel deleted successfully</response>
+            <response code="400">Bad Request</response>    
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.AssetAdministrationShellServices.GetSubmodelsFromShell">
+            <summary>
+            Retrieves all Submodels from the  Asset Administration Shell
+            </summary>
+            <returns></returns>
+            <response code="200">Returns a list of found Submodels</response>
+            <response code="404">No Submodel Service Providers found</response>       
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.AssetAdministrationShellServices.RoutedGetSubmodelElements">
+            <summary>
+            Retrieves all Submodel-Elements from the Submodel
+            </summary>
+            <returns></returns>
+            <response code="200">Returns a list of found Submodel-Elements</response>
+            <response code="404">Submodel not found / No Submodel-Elements found</response>       
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.AssetAdministrationShellServices.RoutedPutSubmodelElement(BaSyx.Models.Core.AssetAdministrationShell.Generics.ISubmodelElement)">
+            <summary>
+            Creates or updates a Submodel-Element to the Asset Administration Shell's Submodel
+            </summary>
+            <param name="submodelElement">The serialized Submodel Element object</param>
+            <returns></returns>
+            <response code="201">Submodel-Element created successfully</response>
+            <response code="400">Bad Request</response>
+            <response code="404">Submodel not found</response>
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.AssetAdministrationShellServices.RoutedGetSubmodelElementByIdShort(System.String)">
+            <summary>
+            Retrieves a specific Submodel-Element from the Asset Administrations's Submodel
+            </summary>
+            <param name="submodelElementIdShort">The Submodel-Element's short id</param>
+            <returns></returns>
+            <response code="200">Returns the requested Submodel-Element</response>
+            <response code="404">Submodel / Submodel-Element not found</response>     
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.AssetAdministrationShellServices.RoutedDeleteSubmodelElementByIdShort(System.String)">
+            <summary>
+            Deletes a specific Submodel-Element from the Asset Administration Shell's Submodel
+            </summary>
+            <param name="submodelElementIdShort">The Submodel-Element's short id</param>
+            <returns></returns>
+            <response code="204">Submodel-Element deleted successfully</response>
+            <response code="404">Submodel not found</response>
+        </member>
+        <member name="T:BaSyx.API.Http.Controllers.SubmodelRepositoryServices">
+            <summary>
+            The Submodel Repository Controller
+            </summary>
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.SubmodelRepositoryServices.#ctor(BaSyx.API.Components.ISubmodelRepositoryServiceProvider)">
+            <summary>
+            Constructor for the Submodel Repository Services Controller
+            </summary>
+            <param name="submodelRepositoryServiceProvider"></param>
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.SubmodelRepositoryServices.GetAllSubmodelsFromRepo">
+            <summary>
+            Retrieves all Submodels from the repository service endpoint
+            </summary>
+            <returns></returns>
+            <response code="200">Returns a list of found Submodels</response>
+            <response code="404">No Submodels found</response>            
+            <response code="400">Bad Request</response>    
+            <response code="502">Bad Gateway</response>
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.SubmodelRepositoryServices.RetrieveSubmodelFromRepoById(System.String)">
+            <summary>
+            Retrieves a specific Submodel from the repository service endpoint
+            </summary>
+            <param name="submodelId">The Submodel's unique id</param>
+            <returns></returns>
+            <response code="200">Returns the requested Submodel</response>
+            <response code="404">No Submodel found</response>     
+            <response code="400">Bad Request</response>         
+            <response code="502">Bad Gateway</response>
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.SubmodelRepositoryServices.PutSubmodelToRepo(BaSyx.Models.Core.AssetAdministrationShell.Generics.ISubmodel)">
+            <summary>
+            Creates or updates a Submodel at the repository service endpoint
+            </summary>
+            <param name="submodel">The serialized Submodel object</param>
+            <returns></returns>
+            <response code="201">Submodel created/updated successfully</response>
+            <response code="400">Bad Request</response>             
+            <response code="502">Bad Gateway</response> 
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.SubmodelRepositoryServices.DeleteSubmodelFromRepoById(System.String)">
+            <summary>
+            Deletes a specific Submodel at the repository service endpoint
+            </summary>
+            <param name="submodelId">The Submodel's unique id</param>
+            <returns></returns>
+            <response code="200">Submodel deleted successfully</response>
+            <response code="400">Bad Request</response>      
+            <response code="502">Bad Gateway</response>
+        </member>
+        <member name="T:BaSyx.API.Http.Controllers.SubmodelServices">
+            <summary>
+            All Asset Administration Shell Services provided by the component
+            </summary>
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.SubmodelServices.#ctor(BaSyx.API.Components.ISubmodelServiceProvider)">
+            <summary>
+            Constructor for the Submodel Services Controller
+            </summary>
+            <param name="submodelServiceProvider">The Submodel Service Provider implementation provided by the dependency injection</param>
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.SubmodelServices.GetSubmodelAsTable(System.String)">
+            <summary>
+            Retrieves a customizable table version of a Submodel
+            </summary>
+            <param name="columns">A comma-separated list of field names to structure the payload beeing returned</param>
+            <returns></returns>
+            <response code="200">Success</response>
+            <response code="404">Submodel not found</response>   
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.SubmodelServices.GetMinimizedSubmodel">
+            <summary>
+            Retrieves the minimized version of a Submodel, i.e. only the values of SubmodelElements are serialized and returned
+            </summary>
+            <returns></returns>
+            <response code="200">Success</response>
+            <response code="404">Submodel not found</response>       
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.SubmodelServices.GetSubmodel">
+            <summary>
+            Retrieves the entire Submodel
+            </summary>
+            <returns></returns>
+            <response code="200">Success</response>
+            <response code="404">Submodel not found</response>       
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.SubmodelServices.GetSubmodelElements">
+            <summary>
+            Retrieves all SubmodelElements from the current Submodel
+            </summary>
+            <returns></returns>
+            <response code="200">Returns a list of found SubmodelElements</response>
+            <response code="404">Submodel not found</response>       
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.SubmodelServices.PutSubmodelElement(BaSyx.Models.Core.AssetAdministrationShell.Generics.ISubmodelElement)">
+            <summary>
+            Adds a new Submodel-Element to the Submodel
+            </summary>
+            <param name="submodelElement">The Submodel-Element object</param>
+            <returns></returns>
+            <response code="201">Submodel Element created successfully</response>
+            <response code="400">Bad Request</response>
+            <response code="404">Submodel not found</response>
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.SubmodelServices.GetSubmodelElementByIdShort(System.String)">
+            <summary>
+            Retrieves a specific Submodel-Element from the Submodel
+            </summary>
+            <param name="submodelElementIdShort">The Submodel-Element's short id</param>
+            <returns></returns>
+            <response code="200">Returns the requested Submodel-Element</response>
+            <response code="404">Submodel / Submodel Element not found</response>     
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.SubmodelServices.GetSubmodelElementValueByIdShort(System.String)">
+            <summary>
+            Retrieves the value of a specific Submodel-Element from the Submodel
+            </summary>
+            <param name="submodelElementIdShort">The Submodel-Element's short id</param>
+            <returns></returns>
+            <response code="200">Returns the value of a specific Submodel-Element</response>
+            <response code="404">Submodel / Submodel-Element not found</response>  
+            <response code="405">Method not allowed</response>  
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.SubmodelServices.PutSubmodelElementValueByIdShort(System.String,BaSyx.Models.Core.Common.IValue)">
+            <summary>
+            Updates the Asset Administration Shell's Submodel's Submodel-Element
+            </summary>
+            <param name="submodelElementIdShort">The Submodel-Element's short id</param>
+            <param name="value">The new value</param>
+            <returns></returns>
+            <response code="200">Submodel-Element's value changed successfully</response>
+            <response code="404">Submodel / Submodel-Element not found</response>     
+            <response code="405">Method not allowed</response>  
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.SubmodelServices.DeleteSubmodelElementByIdShort(System.String)">
+            <summary>
+            Deletes a specific Submodel-Element from the Submodel
+            </summary>
+            <param name="submodelElementIdShort">The Submodel-Element's short id</param>
+            <returns></returns>
+            <response code="204">Submodel-Element deleted successfully</response>
+            <response code="404">Submodel / Submodel-Element not found</response>
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.SubmodelServices.InvokeOperationByIdShort(System.String,BaSyx.Models.Communication.InvocationRequest,System.Boolean)">
+            <summary>
+            Invokes a specific operation from the Submodel synchronously or asynchronously
+            </summary>
+            <param name="operationIdShort">The Operation's short id</param>
+            <param name="invocationRequest">The parameterized request object for the invocation</param>
+            <param name="async">Determines whether the execution of the operation is asynchronous (true) or not (false)</param>
+            <returns></returns>
+            <response code="200">Operation invoked successfully</response>
+            <response code="400">Bad Request</response>
+            <response code="404">Submodel / Method handler not found</response>
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.SubmodelServices.GetInvocationResultByIdShort(System.String,System.String)">
+            <summary>
+            Retrieves the result of an asynchronously started operation
+            </summary>
+            <param name="operationIdShort">The Operation's short id</param>
+            <param name="requestId">The request id</param>
+            <returns></returns>
+            <response code="200">Result found</response>
+            <response code="400">Bad Request</response>
+            <response code="404">Submodel / Operation / Request not found</response>
+        </member>
+        <member name="T:BaSyx.API.Http.Controllers.AssetAdministrationShellRegistry">
+            <summary>
+            The Http-Controller implementation of the IAssetAdministrationShellRegistry interface
+            </summary>
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.AssetAdministrationShellRegistry.#ctor(BaSyx.API.Components.IAssetAdministrationShellRegistry)">
+            <summary>
+            The Constructor for the AssetAdministrationShellRegistry-Controller
+            </summary>
+            <param name="aasRegistry">The backend implementation for the IAssetAdministrationShellRegistry interface. Usually provided by the Depedency Injection mechanism.</param>
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.AssetAdministrationShellRegistry.GetAllAssetAdministrationShellDescriptors">
+            <summary>
+            Retrieves all registered Asset Administration Shells within system (e.g. Station, Line, Plant, Area, etc.) defined by the Registry
+            </summary>
+            <returns></returns>
+            <response code="200">Returns a list of found Asset Administration Shell Descriptors</response>        
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.AssetAdministrationShellRegistry.GetAssetAdministrationShellDescriptor(System.String)">
+            <summary>
+            Retrieves a specific Asset Administration Shell registration
+            </summary>
+            <param name="aasId">The Asset Administration Shell's unique id</param>
+            <returns></returns>
+            <response code="200">Returns the requested Asset Administration Shell</response>
+            <response code="400">Bad Request</response> 
+            <response code="404">No Asset Administration Shell with passed id found</response>     
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.AssetAdministrationShellRegistry.RegisterAssetAdministrationShell(System.String,BaSyx.Models.Connectivity.Descriptors.IAssetAdministrationShellDescriptor)">
+            <summary>
+            Creates a new or updates an existing Asset Administration Shell registration at the Registry
+            </summary>
+            <param name="aasId">The Asset Administration Shell's unique id</param>
+            <param name="aasDescriptor">The Asset Administration Shell Descriptor</param>
+            <returns></returns>
+            <response code="200">The Asset Administration Shell's registration was successfully renewed</response>
+            <response code="400">The syntax of the passed Asset Administration Shell is not valid or malformed request</response>    
+            <response code="404">No Asset Administration Shell with passed id found</response>      
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.AssetAdministrationShellRegistry.UnregisterAssetAdministrationShell(System.String)">
+            <summary>
+            Deletes the Asset Administration Shell registration from the Registry
+            </summary>
+            <param name="aasId">The Asset Administration Shell's unique id</param>
+            <returns></returns>
+            <response code="200">The Asset Administration Shell was deleted successfully</response>
+            <response code="400">Bad Request</response>  
+            <response code="404">No Asset Administration Shell with passed id found</response>     
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.AssetAdministrationShellRegistry.RegisterSubmodelAtAssetAdministrationShell(System.String,System.String,BaSyx.Models.Connectivity.Descriptors.ISubmodelDescriptor)">
+            <summary>
+            Creates a new or updates an existing Submodel registration at a specific Asset Administration Shell registered at the Registry
+            </summary>
+            <param name="aasId">The Asset Administration Shell's unique id</param>
+            <param name="submodelId">The Submodel's unique id</param>
+            <param name="submodelDescriptor">The Submodel Descriptor</param>
+            <returns></returns>
+            <response code="201">The Submodel was created successfully</response>
+            <response code="400">The syntax of the passed Submodel is not valid or malformed request</response>      
+            <response code="404">No Asset Administration Shell with passed id found</response>   
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.AssetAdministrationShellRegistry.GetSubmodelDescriptorFromAssetAdministrationShell(System.String,System.String)">
+            <summary>
+            Retrieves the Submodel registration from a specific Asset Administration Shell registered at the Registry
+            </summary>
+            <param name="aasId">The Asset Administration Shell's unique id</param>
+            <param name="submodelId">The Submodel's unique id</param>
+            <returns></returns>
+            <response code="200">Returns the requested Submodels Descriptor</response>
+            <response code="400">Bad Request</response>
+            <response code="404">No Asset Administration Shell / Submodel with passed id found</response>     
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.AssetAdministrationShellRegistry.DeleteSubmodelDescriptorFromAssetAdministrationShell(System.String,System.String)">
+            <summary>
+            Unregisters the Submodel from a specific Asset Administration Shell registered at the Registry
+            </summary>
+            <param name="aasId">The Asset Administration Shell's unique id</param>
+            <param name="submodelId">The Submodel's unique id</param>
+            <returns></returns>
+            <response code="200">The Submodel Descriptor was successfully unregistered</response>
+            <response code="400">Bad Request</response>    
+            <response code="404">No Asset Administration Shell / Submodel with passed id found</response>  
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.AssetAdministrationShellRegistry.GetAllSubmodelDescriptorsFromAssetAdministrationShell(System.String)">
+            <summary>
+            Retrieves all Submodel registrations from a specific Asset Administration Shell registered at the Registry
+            </summary>
+            <param name="aasId">The Asset Administration Shell's unique id</param>
+            <returns></returns>
+            <response code="200">Returns a list of found Submodels Descriptors</response>
+            <response code="400">Bad Request</response>  
+            <response code="404">No Asset Administration Shell with passed id found</response>  
+        </member>
+        <member name="T:BaSyx.API.Http.Controllers.ResultHandling">
+            <summary>
+            Helper class for handling Action Results for HTTP-Requests
+            </summary>
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.ResultHandling.NullResult(System.String)">
+            <summary>
+            Returns a Result-Object in an ObjectResult with status code 400 and a message which element is null or empty
+            </summary>
+            <param name="elementName">The name of the element which is null or empty</param>
+            <returns></returns>
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.ResultHandling.BadRequestResult(System.String)">
+            <summary>
+            Returns a Result-Object in an BadRequest(400)-ObjectResult and a message why it is a BadRequest
+            </summary>
+            <param name="message">The message why it is a BadRequest</param>
+            <returns></returns>
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.ResultHandling.MethodNotAllowedResult">
+            <summary>
+            Returns a Result-Object in an MethodNotAllowed(405)-ObjectResult
+            </summary>
+            <returns></returns>
+        </member>
+        <member name="M:BaSyx.API.Http.Controllers.ResultHandling.CreateActionResult(BaSyx.Utils.ResultHandling.IResult,BaSyx.API.Http.Controllers.CrudOperation,System.String)">
+            <summary>
+            Returns a Result-Object wrapped in an ObjectResult according to the CRUD-operation
+            </summary>
+            <param name="result">The orignary Result object</param>
+            <param name="crud">The CRUD-operation taken</param>
+            <param name="route">Optional route for Create-Operations</param>
+            <returns></returns>
+        </member>
+        <member name="T:BaSyx.API.Http.Controllers.CrudOperation">
+            <summary>
+            Enumeration of the different CRUD-Operations
+            </summary>
+        </member>
+        <member name="F:BaSyx.API.Http.Controllers.CrudOperation.Create">
+            <summary>
+            Create
+            </summary>
+        </member>
+        <member name="F:BaSyx.API.Http.Controllers.CrudOperation.Retrieve">
+            <summary>
+            Retrieve
+            </summary>
+        </member>
+        <member name="F:BaSyx.API.Http.Controllers.CrudOperation.Update">
+            <summary>
+            Update
+            </summary>
+        </member>
+        <member name="F:BaSyx.API.Http.Controllers.CrudOperation.Delete">
+            <summary>
+            Delete
+            </summary>
+        </member>
+        <member name="F:BaSyx.API.Http.Controllers.CrudOperation.Invoke">
+            <summary>
+            Invoke
+            </summary>
+        </member>
+    </members>
+</doc>