Документ Domino нельзя открыть дважды на publi c access xpage - PullRequest
1 голос
/ 28 мая 2020

У меня есть Xpage с доступом к publi c, чтобы клиенты могли заполнить форму. Когда я отправляю клиенту ссылку на страницу, и они открывают ее впервые. Все идет гладко. Однако, если они закроют браузер и снова нажмут ссылку, они получат эту ошибку:

{Неожиданная ошибка времени выполнения

Среда выполнения обнаружила непредвиденную ошибку.

Источник ошибки

Имя страницы: /xpClientForm.xsp

Исключение

Не удалось открыть документ

Недействительный универсальный идентификатор}

Я использую фасет переключения для переключения между формами в зависимости от типа клиента. Идентификатор документа домино хранится в sessionScope beforepageload , и документ динамически вычисляет его на основе этой переменной sessionScope.

Вот код:

Назначение SessionScope на beforepageload

var cData = getClientData(id);
sessionScope.docId = cData.docID;

Источник данных документа

<xp:panel style="height:100px" id="pnlDocData">
                    <xp:this.data>
                        <xp:dominoDocument var="document1"
                            formName="frmA" action="editDocument"
                            documentId="#{javascript:sessionScope.docID;}" scope="request">
                    </xp:this.data>
</xp:panel>

Однако, когда я выполняю эту настройку на странице, не имеющей доступа publi c. Он работает нормально, без проблем, независимо от того, сколько раз я открывал ссылку.

Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 28 мая 2020

Вам необходимо установить ignoreRequestParams="true" в источнике данных dominoDocument. В противном случае он использует идентификатор документа в URL-адресе или пытается создать новый документ, к которому пользователь, вероятно, не имеет доступа.

Вычисление идентификатора документа является менее распространенным сценарием, когда используется URL-адрес для документа расположение по умолчанию.

...