I would like assistance with an issue I'm encountering. During the duplication of a set via a native webservice call (/resources/v1/modeler/dslc/duplicate) of a top-level item, the objects of type Structure Design Unit internally are not duplicated, even though the duplicate option is activated. They maintain their link to the original context where they were created. Is there any option to address this issue?"
Let LenVeric (Integer)
LenVeric = oRefID->Length()
if LenVeric >= 1 {
let iThisCSRF_Tocekn(string)
Let PLMEntity1 (PLMEntity)
Let iEngItem (string)
let resultRestService(String)
let oresult1(String)
Let DataTreeNode1,DataTreeNode2 (DataTreeNode)
let iURI (String)
let strjson (String)
///Extrai ID do item
iEngItem= oRefID
let Thisspace(String)
Thisspace = GetSystemInfo("serverurl")
// HTTP client
let client,clientout (HTTPClient)
client = CreateHTTPClient()
let strtype (String)
strtype = "VPMReference"
Thisspace = "https://space-prd-3de.marcopolo.com.br/3dspace"
strjson = "{\\"affix\\": \\"CopyOf\\",\\"data\\": [{\\"id\\": "+iEngItem+",\\"identifier\\": "+iEngItem+",\\"type\\": "+strtype+",\\"source\\": \\"https://space-prd-3de.marcopolo.com.br/3dspace\\",\\"relativePath\\":\\"/resources/v1/modeler/dseng/dseng:EngItem/"+iEngItem+"\\"}]}"
let securityContext(String)
securityContext = GetSystemInfo("securitycontext")
Let iURI1,iURI2,iURI3 (string)
this::GetToken(iThisCSRF_Tocekn,clientout)
// buffer
let oresult,oresult2 (string)
// POST request
client.AddRequestHeaders("Content-Type: application/json")
client.AddRequestHeaders("SecurityContext:" + securityContext)
client.AddRequestHeaders("ENO_CSRF_TOKEN:" + iThisCSRF_Tocekn)
iURI = Thisspace+"/resources/v1/modeler/dslc/duplicate"
oresult = client.Post(iURI,"TEXT",strjson,DataTreeNode1)
let resposta(string)
let OutClass(string)
let oListDerivedOutput(list)
let jsonChildInfo(JSONNode)
let jsonChilds(List)
let id (string)
set oListDerivedOutput = NULL
if (client.ReturnCode == 0)
{
let jsonResp (JSONNode)
jsonResp = new("JSONNode","mainResponse",NULL)
if jsonResp <> NULL
{
jsonResp.Parse(oresult)
let lista(List)
lista = jsonResp.Children
let jsonResp2 (JSONNode)
jsonResp2 = new("JSONNode","mainResponse2",NULL)
jsonResp2 = lista[1]
id = jsonResp2.GetAttributeString("id")
}
}
client.AddRequestHeaders("SecurityContext:" + securityContext)
iURI3 = Thisspace+"/resources/v1/modeler/dseng/dseng:EngItem/"+id
oresult2 = client.Get(iURI3,DataTreeNode2)
let oName(string)
set oListDerivedOutput = NULL
if (client.ReturnCode == 0)
{
let jsonResp1 (JSONNode)
jsonResp1 = new("JSONNode","mainResponse",NULL)
if jsonResp1 <> NULL
{
jsonResp1.Parse(oresult2)
let lista1(List)
lista1 = jsonResp1.Children
let jsonResp3 (JSONNode)
jsonResp3 = new("JSONNode","mainResponse3",NULL)
jsonResp3 = lista1[1]
oRefCopyID= jsonResp3.GetAttributeString("id")
oRefCopyCestamp = jsonResp3.GetAttributeString("cestamp")
}
}
}
