Jump to: navigation, search

Difference between revisions of "UBIK Web Service"


(Fix Spelling Mistake)
(Added HTTP documentation for GetHierarchyDeltasV212 + Fixed Spelling Mistakes)
Line 10: Line 10:
 
= Fetch MetaDefinitions =
 
= Fetch MetaDefinitions =
 
== Fetch MetaDefinitions ==
 
== Fetch MetaDefinitions ==
Provides the configured ACM (see [[Application_Context_Management]]) Datemodell to the client.
+
Provides the configured ACM (see [[Application_Context_Management]]) data model to the client.
  
 
<source lang="csharp">
 
<source lang="csharp">
Line 33: Line 33:
  
  
=== List ofParameters ===
+
=== List of Parameters ===
 
{| class="wikitable" | width = "50%"
 
{| class="wikitable" | width = "50%"
 
|-  
 
|-  
Line 49: Line 49:
  
  
=== Code Example (c#) ===
+
=== Code Example (C#) ===
 
<source lang="csharp">
 
<source lang="csharp">
 
string appName = "APP_TEST";
 
string appName = "APP_TEST";
Line 115: Line 115:
 
|}
 
|}
  
 +
== Code Examples ==
  
=== Code Example (c#) ===
+
=== Downloading Root Objects ===
Downloading Root Objects
+
==== HTTP ====
 +
<source lang="html4strict" style="padding-bottom: 0;">
 +
POST <CONTENT-PATH>/UBIKContent.svc/GetHierarchyDeltasV212/<APP>/<CTX>/<TOKEN>/<VERSION> HTTP/1.1
 +
Host: <HOSTNAME/IP>:<PORT>
 +
Content-Type: application/json
 +
</source>
 +
<source lang="javascript" style="padding-top: 0;">
 +
{
 +
    "StartingPoint": {
 +
        "__type": "HierarchyRoot:#UBIK.Service.DTO.V211"
 +
    },
 +
    "ParentDepth": 0,
 +
    "ChildrenDepth": 1,
 +
    "KnownRelations": null,
 +
    "KnownContents": null
 +
}
 +
</source>
 +
Make sure to replace the <code><tags></code> accordingly!
 +
 
 +
The <code>__type</code> property helps the JSON deserializer to find the correct class. [[https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/stand-alone-json-serialization?redirectedfrom=MSDN#polymorphism-1| Microsoft Documentation]].
  
 +
==== C# ====
 
<source lang="csharp">
 
<source lang="csharp">
 
string appName = "APP_TEST";
 
string appName = "APP_TEST";
Line 144: Line 165:
  
  
Downloading Infrastructure Objects
+
=== Downloading Infrastructure Objects ===
  
 
<source lang="csharp">
 
<source lang="csharp">
Line 171: Line 192:
  
  
Downloading an entire branch starting at object with UID = '9E8FC21E-137E-4DDB-9D85-6E71B01F12FA'
+
=== Downloading entire branch ===
 +
The entire branch starting at object with UID = '9E8FC21E-137E-4DDB-9D85-6E71B01F12FA' will be downloaded.
  
 
<source lang="csharp">
 
<source lang="csharp">
Line 196: Line 218:
 
</source>
 
</source>
  
[[Category:Server|Web Service]]
+
 
  
 
= Download a Document =
 
= Download a Document =
Line 229: Line 251:
 
</source>
 
</source>
  
=== List ofParameters ===
+
=== List of Parameters ===
 
{| class="wikitable" | width = "50%"
 
{| class="wikitable" | width = "50%"
 
|-  
 
|-  
Line 246: Line 268:
 
|}
 
|}
  
=== Code Example (c#) ===
+
=== Code Example (C#) ===
 
<source lang="csharp">
 
<source lang="csharp">
 
string appName = "APP_TEST";
 
string appName = "APP_TEST";
Line 321: Line 343:
  
  
=== List ofParameters ===
+
=== List of Parameters ===
 
{| class="wikitable" | width = "50%"
 
{| class="wikitable" | width = "50%"
 
|-  
 
|-  
Line 341: Line 363:
  
  
=== Code Example (c#) ===
+
=== Code Example (C#) ===
 
<source lang="csharp">
 
<source lang="csharp">
 
string appName = "APP_TEST";
 
string appName = "APP_TEST";
Line 419: Line 441:
 
</source>
 
</source>
  
=== List ofParameters ===
+
=== List of Parameters ===
 
{| class="wikitable" | width = "50%"
 
{| class="wikitable" | width = "50%"
 
|-  
 
|-  
Line 436: Line 458:
 
|}
 
|}
  
=== Code Example (c#) ===
+
=== Code Example (C#) ===
 
<source lang="csharp">
 
<source lang="csharp">
 
string appName = "APP_TEST";
 
string appName = "APP_TEST";
Line 523: Line 545:
 
|}
 
|}
  
=== Code Example (c#) ===
+
=== Code Example (C#) ===
 
<source lang="csharp">
 
<source lang="csharp">
 
string appName = "APP_TEST";
 
string appName = "APP_TEST";

Revision as of 13:36, 27 February 2020

The following section describes the most important UBIK Webservice Methods used for

  • Fetching information about the Datamodell (Fetch MetaDefinitions)
  • Downloading Content objects (Download Content)
  • Downloading Content File Documents (Download Document)
  • Creating a single Content object (Create Content)
  • Updating Content objects (Update Contents)
  • Uploading a file Document (Upload Document )


[edit]

Fetch MetaDefinitions

Fetch MetaDefinitions

Provides the configured ACM (see Application Context Management) data model to the client.

        /// <summary>
        /// Delivers a list of all defined MetaClass Objects for the given Application and the given DeviceID
        /// </summary>
        /// <param name="appName">Name of the Application</param>
        /// <param name="contextName">Name of the Context</param>
        /// <param name="authentication">authentication (tokenid) for the user/device to access this service</param>
        /// <returns>a list of MetaDefinitions</returns>
        [OperationContract]
        [WebInvoke(UriTemplate = "GetMetaDefinitionsV212/{appName}/{contextName}/{authentication}/{version}", Method = "GET",
                   RequestFormat = WebMessageFormat.Json,
                   ResponseFormat = WebMessageFormat.Json)]
                                   
        BCMetaDefinitions GetMetaDefinitionsV212(
                                                        String appName,
                                                        String contextName,
                                                        String authentication,
                                                        String version);


List of Parameters

Name Type Description
appName String Name of the Application
contextName String Name of the Context
authentication String Valid auth token
version String Indicator of the expected data format version


Code Example (C#)

        string appName = "APP_TEST";
        string contextName = "CTX_TEST";
        string authToken = FetchValidAuthToken();
        string version = "263";

        UBIKContentClient target = new UBIKContentClient(WEBSERVER_NAME);
       
        BCMetaDefinitions metaDefintions = target.GetMetaDefinitionsV212(
                                                                        appName,
                                                                        contextName,
                                                                        authToken,
                                                                        version);