OpenWspResult OpenWsp(OdId tOb, OpenWspArg tArg)
tOb. Моникёр объекта репозитория, являющегося рабочим пространством.
tArg. Параметры выполнения операции.
Операция OpenWsp открывает рабочее пространство.
Операция позволяет получить доступ к структуре рабочего пространства. Для выполнения операции укажите в поле tOb моникёр объекта, являющегося рабочим пространством, а в поле tArg параметры открытия. Моникёр объекта может быть получен при выполнении операции GetObjects.
В поле tArg могут быть указаны режим открытия рабочего пространства (просмотр или редактирование), значения параметров и шаблон для извлечения метаданных. В шаблоне указывается та информация, которая должна быть получена при выполнении операции. Результатом работы операции будет моникёр открытого экземпляра рабочего пространства, а также метаданные, если при выполнении операции в поле tArg.metaGet был задан соответствующий шаблон.
Дальнейшая работа с открытым экземпляром осуществляется с помощью операций GetWspMd и SetWspMd.
Для закрытия открытого экземпляра рабочего пространства используйте операцию CloseWsp.
Ниже приведён пример открытия на редактирование рабочего пространства. В запросе передаётся моникёр объекта, являющегося рабочим пространством репозитория. В ответе приходит моникёр открытого экземпляра рабочего пространства.
В примере C# используется функция FindObjectById, код которой приведён в примере «Получение описания объекта по его идентификатору».
{
"OpenWsp" :
{
"tOb" :
{
"id" : "CIMJHKLEBJECGOAEDDAIHBNBMCJPBEIEDLDBMALGIAOFGHDO!M!282380"
},
"tArg" :
{
"args" :
{
"bind" : "true",
"openForEdit" : "true"
}
}
}
}
{
"OpenWspResult" :
{
"id" :
{
"id" : "CIMJHKLEBJECGOAEDDAIHBNBMCJPBEIEDLDBMALGIAOFGHDO!M!S!WSPMCLOGNLEBJECGOAEIIMMCOLKFIOGIGNEPLNLFCEAJGEIEIBG"
}
}
}
public static OpenWspResult OpenWorkspace(MbId mb, string id)
{
var somClient = new SomPortTypeClient(); // Прокси-объект для выполнения операций
// Параметры выполнения операции
var tOpen = new OpenWsp()
{
tArg = new OpenWspArg()
{
args = new WspOpenArgs()
{
bind = true,
openForEdit = true
}
},
tOb = new OdId() { id = mb.id + "!" + FindObjectById(mb, id).k }
};
// Открытие рабочего пространства
var tResult = somClient.OpenWsp(tOpen);
return tResult;
}
См. также: