How to Upload File into Teamcenter ?
private static void importXML(String sFullFilePath, String sSiteId, String sDestSiteId) throws Exception
{
String sFileName = sFullFilePath.substring(sFullFilePath.lastIndexOf("/") + 1);
File file = new File(sFullFilePath);
/* now we can get file ticket and use that file for import */
//com.teamcenter.services.strong.core.FileManagementService
FileManagementService fileMgntService = FileManagementService.getService(connection);
FileManagement.TransientFileInfo[] fileinfo = new FileManagement.TransientFileInfo[1];
fileinfo[0] = new FileManagement.TransientFileInfo();
fileinfo[0].deleteFlag = false;
fileinfo[0].fileName = sFileName;
fileinfo[0].isBinary = false;
GetTransientFileTicketsResponse resp = fileMgntService.getTransientFileTicketsForUpload(fileinfo);
String sPLMXMLTicket = resp.transientFileTicketInfos[0].ticket;
/* now we will upload the file using ticket */
String sDirectory = file.getParent();
String bootStrapURL = getTeamcenterPreference(connection, "Fms_BootStrap_Urls", "site");
FileManagementUtility utility = new FileManagementUtility(connection, null, null,
new String[] { bootStrapURL }, sDirectory);
utility.putFileViaTicket(sPLMXMLTicket, file);
//com.teamcenter.services.internal.strong.globalmultisite.ImportExportService
ImportExportService serv = ImportExportService.getService(connection);
TransferFormula formula = new TransferFormula();
String arrTick[] = new String[1];
arrTick[0] = sPLMXMLTicket;
ImportObjectsResponse importObjectsResponse = serv.importObjects(Integer.parseInt(sSiteId), "AB",
arrTick, formula, false);
/* check for errors and if found throw exception */
if (importObjectsResponse.servicedata.sizeOfPartialErrors() > 0)
{
ErrorStack errStack = importObjectsResponse.servicedata.getPartialError(0);
String sErr = "";
for (String sPartialError : errStack.getMessages())
{
sErr = sErr + sPartialError;
}
System.out.println(sErr);
}
}