Класс документа Filenet Change

Я пытаюсь изменить класс для данного документа, и ниже приведен код, который я использовал

Document p8Document = Factory.Document.getInstance(p8ObjectStore,
                oldDocumentClassName, new Id(documentId));
p8Document.changeClass(newDocClassName);
        p8Document.save(RefreshMode.REFRESH);

После выполнения кода я вижу, что класс документа успешно изменяется. Теперь проблема в том, что если я снова запустил код для того же guid, строка ниже снова извлекает документ со старым именем класса документа.

Document p8Document = Factory.Document.getInstance(p8ObjectStore,
                    oldDocumentClassName, new Id(documentId));

1 ответ

Решение

Используя getInstance, вы не просите сервер проверить существование объекта. использование fetchInstance вместо.

От создания объектов

Методы getInstance используются для создания экземпляра объекта, который ссылается на объект сервера, который, как предполагается, уже существует. Существование объекта не проверяется на сервере Content Engine, и не выполняется обратное обращение к серверу, пока вы не выполните функцию над объектом

getInstance это способ, которым вы можете настроить объект, избегая поездки на сервер CE.

Методы fetchInstance создают экземпляр объекта, сначала совершая круговое обращение к серверу Content Engine и извлекая ("выбирая") значения свойств.

fetchInstance фактически получит объект с сервера CE.

Другие вопросы по тегам