This page describes how to build an application that interacts with the TotalAgility SDK.
Create a new Console Application in Visual Studio and change the .NET Framework at the top to the latest version (4.5.1 at time of writing):
Next, references to the TotalAgilityFiles need to be added. Open the project and right click on References and choose Add Reference:
1 <?xml version="1.0" encoding="utf-8"?>
4 <add key="IsMultitenantDeployment" value="false"/>
5 <add key="SdkServicesLocation" value="http://localhost/TotalAgility/Services/SDK"/>
10 <binding name="BasicHttpBinding_Service" closeTimeout="00:01:00"
11 openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
12 allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
13 maxBufferSize="2147483647" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647"
14 messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
15 useDefaultWebProxy="true">
16 <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
17 maxBytesPerRead="4096" maxNameTableCharCount="16384" />
18 <security mode="TransportCredentialOnly">
19 <transport clientCredentialType="Windows" proxyCredentialType="None"
21 <message clientCredentialType="UserName" algorithmSuite="Default" />
27 <endpoint name="SdkCaseServiceEndpoint"
28 binding="basicHttpBinding"
29 bindingConfiguration="BasicHttpBinding_Service"
30 contract="Agility.Sdk.Model.Interfaces.Services.ICaseService"/>
31 <endpoint name="SdkActivityServiceEndpoint"
32 binding="basicHttpBinding"
33 bindingConfiguration="BasicHttpBinding_Service"
34 contract="Agility.Sdk.Model.Interfaces.Services.IActivityService"/>
35 <endpoint name="SdkClientServiceEndpoint"
36 binding="basicHttpBinding"
37 bindingConfiguration="BasicHttpBinding_Service"
38 contract="Agility.Sdk.Model.Interfaces.Services.IClientService"/>
39 <endpoint name="SdkJobServiceEndpoint"
40 binding="basicHttpBinding"
41 bindingConfiguration="BasicHttpBinding_Service"
42 contract="Agility.Sdk.Model.Interfaces.Services.IJobService"/>
43 <endpoint name="SdkProcessServiceEndpoint"
44 binding="basicHttpBinding"
45 bindingConfiguration="BasicHttpBinding_Service"
46 contract="Agility.Sdk.Model.Interfaces.Services.IProcessService"/>
47 <endpoint name="SdkServerServiceEndpoint"
48 binding="basicHttpBinding"
49 bindingConfiguration="BasicHttpBinding_Service"
50 contract="Agility.Sdk.Model.Interfaces.Services.IServerService"/>
51 <endpoint name="SdkTenantServiceEndpoint"
52 binding="basicHttpBinding"
53 bindingConfiguration="BasicHttpBinding_Service"
54 contract="Agility.Sdk.Model.Interfaces.Services.ITenantService"/>
55 <endpoint name="SdkUserServiceEndpoint"
56 binding="basicHttpBinding"
57 bindingConfiguration="BasicHttpBinding_Service"
58 contract="Agility.Sdk.Model.Interfaces.Services.IUserService"/>
59 <endpoint name="SdkResourceServiceEndpoint"
60 binding="basicHttpBinding"
61 bindingConfiguration="BasicHttpBinding_Service"
62 contract="Agility.Sdk.Model.Interfaces.Services.IResourceService"/>
63 <endpoint name="SdkCategoryServiceEndpoint"
64 binding="basicHttpBinding"
65 bindingConfiguration="BasicHttpBinding_Service"
66 contract="Agility.Sdk.Model.Interfaces.Services.ICategoryService"/>
67 <endpoint name="SdkSecurityServiceEndpoint"
68 binding="basicHttpBinding"
69 bindingConfiguration="BasicHttpBinding_Service"
70 contract="Agility.Sdk.Model.Interfaces.Services.ISecurityService"/>
71 <endpoint name="SdkBusinessCalendarServiceEndpoint"
72 binding="basicHttpBinding"
73 bindingConfiguration="BasicHttpBinding_Service"
74 contract="Agility.Sdk.Model.Interfaces.Services.IBusinessCalendarService"/>
75 <endpoint name="SdkDynamicResourceServiceEndpoint"
76 binding="basicHttpBinding"
77 bindingConfiguration="BasicHttpBinding_Service"
78 contract="Agility.Sdk.Model.Interfaces.Services.IDynamicResourceService"/>
79 <endpoint name="SdkCaptureDocumentServiceEndpoint"
80 binding="basicHttpBinding"
81 bindingConfiguration="BasicHttpBinding_Service"
82 contract="Agility.Sdk.Model.Interfaces.Services.ICaptureDocumentService"/>
83 <endpoint name="SdkCaptureProjectServiceEndpoint"
84 binding="basicHttpBinding"
85 bindingConfiguration="BasicHttpBinding_Service"
86 contract="Agility.Sdk.Model.Interfaces.Services.ICaptureProjectService"/>
87 <endpoint name="SdkCaptureKfsServiceEndpoint"
88 binding="basicHttpBinding"
89 bindingConfiguration="BasicHttpBinding_Service"
90 contract="Agility.Sdk.Model.Interfaces.Services.ICaptureKfsService"/>
91 <endpoint name="SdkAssetServiceEndpoint"
92 binding="basicHttpBinding"
93 bindingConfiguration="BasicHttpBinding_Service"
94 contract="Agility.Sdk.Model.Interfaces.Services.IAssetService"/>
96 </system.serviceModel>
As an example, the first part of any application will be logging on to the system, in this example LogOnWithWindowsAuthentication3 will be used, which logs in the current Windows user.
This method takes an short, indicating the logon protocol, a boolean indicating that the user should be logged on uncondtionally and returns a Session2 object that has the session details.
In order to call the method a UserService object is needed: