Below is the example of using the OpenMs operation to open a modeling container. The request contains the container moniker and a pattern for getting data. The response contains the opened modeling container instance moniker and data about the container scenarios.
{
"OpenMs" :
{
"tOb" :
{
"id" : "DHBHAJPMANJBFOAEDNFOJNMAGMDOKOGEAIHDMOJANENOLHHL!M!1581"
},
"tArg" :
{
"args" : "",
"metaGet" :
{
"obInst" : "false",
"all" : "false",
"scenarios" : "Get",
"period" : "false"
}
}
}
}
{
"OpenMsResult" :
{
"id" :
{
"id" : "DHBHAJPMANJBFOAEDNFOJNMAGMDOKOGEAIHDMOJANENOLHHL!M!S!CBDMOGKANANJBFOAEKPBOKHMPKEPCPPFEAIEDKBCJMDFEGEIK"
},
"meta" :
{
"scenarios" :
{
"nodes" :
{
"it" :
[
{
"@isFolder" : "0",
"k" : "1628",
"id" : "OBJ1628",
"n" : "Basic",
"vis" : "1",
"scenDesc" :
{
"@fullUrl" : "http:\/\/v-shp-development.dev.fs.fsight.world\/",
"@isShortcut" : "0",
"@isLink" : "0",
"@ver" : "0",
"@hf" : "0",
"i" : "OBJ1628",
"n" : "Basic",
"k" : "1628",
"c" : "5124",
"p" : "1627",
"h" : "0",
"hasPrv" : "0",
"ic" : "0"
},
"internalKey" : "1629"
},
{
"@isFolder" : "0",
"k" : "5371",
"id" : "OBJ5371",
"n" : "Basic (copy1)",
"vis" : "1",
"scenDesc" :
{
"@fullUrl" : "http:\/\/v-shp-development.dev.fs.fsight.world\/",
"@isShortcut" : "0",
"@isLink" : "0",
"@ver" : "0",
"@hf" : "0",
"i" : "OBJ5371",
"n" : "Basic (copy1)",
"k" : "5371",
"c" : "5124",
"p" : "1627",
"h" : "0",
"hasPrv" : "0",
"ic" : "0"
},
"internalKey" : "5372"
}
]
}
}
},
"readOnly" : "0"
}
}
The OpenMsMeta function extracts information about scenarios from an opened modeling container. The repository connection moniker and container identifier are passed as input parameters. The example uses the FindObjectById function, which code is given in the Getting Object Description by Its Identifier section.
public static MsScenarioTree OpenMsMeta(MbId mb, string msId)
{
// Get modeling container key
ulong msKey = FindObjectById(mb, msId).k;
// Set operation execution parameters
var tMsOp = new OpenMs();
tMsOp.tArg = new OpenMsArg()
{
// Set container open parameters
args = new MsOpenArgs(),
// Set data get pattern
metaGet = new MsMdPattern()
{
all = false,
obInst = false,
period = false,
scenarios = ListOperation.Get
}
};
tMsOp.tOb = new OdId();
// Form modeling container moniker
tMsOp.tOb.id = mb.id + "!" + msKey.ToString();
// Create proxy object for operation execution
var somClient = new SomPortTypeClient();
// Open modeling container for edit
OpenMsResult tResult = somClient.OpenMs(tMsOp);
// Return scenario data
MsMd mcMeta = tResult.meta;
MsScenarioTree scTree = mcMeta.scenarios;
return scTree;
r
See also:
SOAP