LinkConnectionResult OpenLinkConnection(OdId tOb, OpenLinkConnectionArg tArg)
tOb. Моникёр объекта репозитория, являющегося ярлыком.
tArg. Параметры выполнения операции.
Операция OpenLinkConnection открывает соединение с репозиторием, на который настроена связь с репозиторием, используемая ярлыком.
Для выполнения операции укажите в поле tOb моникёр объекта репозитория, являющегося ярлыком. Моникёр объекта может быть получен при выполнении операции GetObjects. В поле tArg.metaGet может быть указан шаблон, в соответствии с которым будет получена информация об объекте из другого репозитория, на который ссылается ярлык. Открытие соединения осуществляется с учётными данными, которые должны быть сохранены в настройках связи с репозиторием.
Результатом выполнения операции будет моникёр соединения с репозиторием, на работу с которым настроена связь с репозиторием, и описание объекта, если было определено поле tArg.metaGet.
Ниже приведён пример открытия соединения с репозиторием, на который настроена связь с репозиторием, используемая ярлыком. В запросе передаётся моникёр ярлыка. В ответе возвращается моникёр созданного соединения и описание объекта из другого репозитория, на который ссылается ярлык.
В примере C# используется функция FindObjectById, код которой приведен в примере «Получение описания объекта по его идентификатору».
{
"OpenLinkConnection" :
{
"tOb" :
{
"id" : "IJOPIIAIMOBHGOAECKHNANPEIOCCJHNEGKCCHICKJBCCIFCP!M!461455"
},
"tArg" :
{
"metaGet" :
{
"source" : "true"
}
}
}
}
{
"OpenLinkConnectionResult" :
{
"id" :
{
"id" : "IJOPIIAIMOBHGOAECKHNANPEIOCCJHNEGKCCHICKJBCCIFCP!M!S!MLCCHOLJAIMOBHGOAEAJLMHGHHGFFHEIKEFIAOKKIGHGCBKIPC!M"
},
"meta" :
{
"source" :
{
"@ds" : "",
"@isShortcut" : "0",
"@isLink" : "0",
"@ver" : "1",
"@hf" : "0",
"i" : "FUNCTION",
"n" : "Function",
"k" : "118",
"c" : "9473",
"p" : "57",
"h" : "0",
"hasPrv" : "0",
"ic" : "0",
"trackElementDependents" : "0"
}
}
}
}
public static LinkConnectionResult OpenLinkConnection(MbId mb, string shortcutId)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операций
// Параметры выполнения операции
var tOpen = new OpenLinkConnection()
{
tArg = new OpenLinkConnectionArg()
{
metaGet = new LinkConnectionMdPattern()
{
source = true
}
},
tOb = new OdId() { id = mb.id + "!" + PP7SOMSampleClass.FindObjectById(mb, shortcutId).k }
};
// Открытие соединения с репозиторием, на который настроена связь с репозиторием, используемая ярлыком
var result = somClient.OpenLinkConnection(tOpen);
return result;
}
См. также: