AgilePoint Developer / Remote API |
This section provides information about accessing the AgilePoint Remote API from a 3rd party application such as a SharePoint component or ASP.NET application in a separate machine through Impersonation. This method is used if you want to implement your own custom component to access AgilePoint through Web Service API. These components can be located in a physically separate machine (for example, calling from a SharePoint Web Part).
When accessing AgilePoint Server through the Remote API, an HTTP - 401 authentication error may occur. For the SharePoint component, it runs under the identity that is specified in the SharePoint Application Pool. In some case, the identity could be set using the NetworkService or LocalSystem. These identities will not be able to get authenticated remotely through IIS and therefore returned the HTTP - 401 error.
In a multiple-server environment, it is recommend to set up a dedicated user credential that the 3rd party application code can impersonate to get authenticated cross machine in order to access the AgilePoint Web Service. This dedicated user credential is typically stored in the web.config file of the application which can be retrieved before accessing the Web Service.
AgilePoint also provides an API called Surrogate() to allow the custom code to set the login user identity after the initial authentication through the impersonation. This will allow the remaining operation with the Web Service to run under the correct login identity.