Как извлечь вложения из элементов 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();
Другие вопросы по тегам