The example of using the GetObjects operation to get description of the repository object by its identifier. The request contains identifier of the searched object and additional parameters for searching and filtering objects. The search includes all repository folders (hidden folders included), and various container objects. The response contains description of the found object.
{ "GetObjects" : { "tParent" : { "id" : "S1!M!0" }, "tFilter" : { "levels" : "-1", "includeRoot" : "false", "hideEmptyFolders" : "true", "hideAllFolders" : "true", "limit" : "1", "findInfo" : { "active" : "true", "text" : "NEWFORM", "attribute" : "Ident", "caseSensitive" : "false", "wholeWordsOnly" : "true", "scanNestedNamespaces" : "true", "scanHiddenFolders" : "true" } }, "tArg" : { "pattern" : "" } } }
{ "GetObjectsResult" : { "id" : { "id" : "S1!M!0" }, "objects" : { "its" : { "d" : { "@isShortcut" : "0", "@isLink" : "0", "@hf" : "0", "i" : "NEWFORM", "n" : "NewForm", "k" : "8080", "c" : "1538", "p" : "4294967295", "h" : "0" } } } } }
The FindObjectById function specified below searches for the repository object by its identifier and returns its description in case of a successful search. The repository connection moniker and identifier of the required object must be sent as input parameters of the function. The result of the function execution is the object description, or the null value if the object is not found.
public static Od FindObjectById(MbId mb, string id) { var somClient = new SomPortTypeClient(); //Proxy object for operation execution //Operation execution parameters
var tObject = new GetObjects() { //Object filtering parameters tArg = new GetObjectsArg() { pattern = new OdsPattern() }, tFilter = new OdsFilt() { limit = 1,
levels = -1, includeRoot = false, hideAllFolders = true, hideEmptyFolders = true, findInfo = new OdFindInfo() { active = true, attribute = OdFindAttribute.Ident, caseSensitive = false, scanHiddenFolders = true,
scanNestedNamespaces = true, text = id, wholeWordsOnly = true } }, //Specify identifier of object, which child object are used in search tParent = new OdId() { id = mb.id + "!0" //0 - root repository folder key }
}; //Get list of objects according to specified selection parameters var result = somClient.GetObjects(tObject); //Check list of descriptions and return first found description //If list if empty, return Null var ods = result.objects; if (ods.its.Length > 0) return ods.its[0]; else return null; }
See also: