TIBCO - BusinessWorks - динамически определять путь процесса - PullRequest
0 голосов
/ 21 января 2010

Я разрабатываю процесс, который будет читать и отправлять изображение по электронной почте. Это изображение является папкой в ​​этом процессе.

Проблема в том, как мне получить путь, по которому выполняется процесс? Что-то вроде 'Server.MapPath', которое возвращает путь к изображению в файловой системе.

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 18 марта 2010

SOAP RetrieveResources может быть хорошим решением, но выдает исключение NullPointerException для меня на BW 5.4. Может быть, это ошибка в этой версии.
Проблема, связанная с получением «корневого пути», заключается в том, что развернутый проект BW не сохраняет свою исходную структуру папок / файлов - развертыватель не будет «взрывать» файл EAR. Поэтому вы не найдете изображение в виде отдельного файла на сервере BW.
Существует простой способ динамической загрузки файлов XML с помощью следующего оператора XPath:

tib:render-xml(document('tibcr://path/to/file.xml'))

но он, очевидно, не будет работать с двоичными файлами. Моим лучшим предположением для хранения двоичных данных внутри BW-проекта будет сохранение их в виде строковой константы в формате Base64 или Hex.

0 голосов
/ 07 мая 2013

В случае, если кто-то сталкивался с этим вопросом (как я это сделал сегодня), вот способ получить абсолютный путь к файлу в приложении. Следующий код может использоваться в действии «Java Code», например, являясь входными и выходными параметрамиlativePath и absolutePath соответственно:

absolutePath = com.tibco.pe.core.Engine.getRepoAgent().getAbsoluteURIFromProjectRelativeURI(relativePath);
0 голосов
/ 28 января 2010

Если ваши изображения существуют в папке в вашем BW-проекте, вы можете использовать действие «Извлечь ресурс» для доступа к контенту.

Вам просто нужно установить resourcePath с относительным путем в вашем проекте, и он будет выводить данные base64.

...