Как извлечь вложения из элементов PTC целостности с помощью Java API
Я пытаюсь извлечь вложения из PTC-элементов целостности, которые находятся на сервере linux, с моего компьютера с Windows, но он продолжает выдавать мне ошибки. Точно такая же команда работала в командной строке
IntegrationPoint integrationPoint =
IntegrationPointFactory.getInstance().createIntegrationPoint(
hostName,
port,
APIVersion.API_4_16);
System.out.println("Start download Attachment");
// Start the Integrity client.
integrationPoint.setAutoStartIntegrityClient(true);
// Connect to the Integrity server.
Session session = integrationPoint.createSession(username, password);
Command command = new Command(Command.IM, "extractattachments");
command.addOption(new Option("issue", itemID));
command.addOption(new Option("field", "Text Attachments"));
command.addSelection(attachment);
Response response = session.createCmdRunner().execute(command);
Я получаю ошибку, которая говорит
Произошла ошибка при попытке получить следующее имя: пути к файлам должны быть укоренены в /export/home/ptc/Integrity/ILMServer11.0/data/tmp: текущий файл /export/home/ptc/Integrity/ILMServer11.0/bin/C:\Workspace\ документ /bear.jpg
Каждый раз, когда я добавляю cwd в команду, он просто добавляет все, что я положил после / bin / Он говорит, что это InvalidCommandSelectionException и CommandException
1 ответ
Решение
Вы скучаете по outputFile
вариант на extractattachments
команда.
Этот код работал так, как я ожидал...
IntegrationPointFactory ipfact = IntegrationPointFactory.getInstance();
IntegrationPoint ip = ipfact.createIntegrationPoint(hostname, port, APIVersion.API_4_16);
Session session = ip.createNamedSession("test", APIVersion.API_4_16, user, passwd);
CmdRunner cr = session.createCmdRunner();
Command cmd = new Command(Command.IM, "extractattachments");
cmd.addSelection(attachmentName);
cmd.addOption(new Option("issue", issueid));
cmd.addOption(new FileOption("outputFile", "d:/data/" + attachmentName));
cr.execute(cmd);
cr.release();
ip.release();