如何在Teamcenter SOA中执行“另存为新项”

问题描述

是否有一种通过SOA编程执行“另存为”操作的方法

目标是能够将具有关系和属性的数据集从一个项目转移到另一个项目。我在SOA文档中发现了几个可以引用的对象。

https://support.industrysoftware.automation.siemens.com/docs/teamcenter/10.1/help/en_US/custom/services_reference/java/docs/strong/index.html

SaveAsInput类:此结构用于捕获保存业务对象所需的输入。 Teamcenter.Services.Strong.Core._2011_06.DataManagement in TcSoaCoreStrong

SaveAsIn类:此结构包含要保存的对象以及要保存的对象的附加对象的相应DeepcopyData。 Teamcenter.Services.Strong.Core._2011_06.DataManagement in TcSoaCoreStrong

SaveAsNewItemInfo类:此数据结构包含现有和新的对象信息,另存为新的Item操作。 Teamcenter.Services.Strong.Core._2008_06.DataManagement in TcSoaCoreStrong

SaveAsNewItemResponse2 :数据结构包含该操作的返回信息。 Teamcenter.Services.Strong.Core._2008_06.DataManagement in TcSoaCoreStrong

有人有任何实现或有关它的更多信息吗?

解决方法

最后我找到了解决方案,这是实现的一个示例:

SaveAsNewItemInfo newItemInfo = new SaveAsNewItemInfo();
newItemInfo.BaseItemRevision = dm.getItemRevision("BaseItem_id","BaseRev_id");
newItemInfo.ClientId = "clientID";
newItemInfo.Description = "TestDescription";
newItemInfo.Name = "TestName";
newItemInfo.NewItemId = "Item_id";
newItemInfo.NewRevId = "Rev_id";
 
SaveAsNewItemInfo[] newItemList = new SaveAsNewItemInfo[] { newItemInfo };
 
try
    {
        SaveAsNewItemResponse2 createObjResponse = dmService.SaveAsNewItem2(newItemList);
        for (int i = 0; i < createObjResponse.ServiceData.sizeOfPartialErrors(); i++)
        {
             ErrorStack list = createObjResponse.ServiceData.GetPartialError(i);
        }
    }
catch (ServiceException e)
    {
        Console.WriteLine(e.Message);
    }

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...