2010-01-21 2 views
0

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

Проблема в следующем: как мне получить путь, на котором выполняется процесс?

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

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

ответ

0

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

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

1

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

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

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

0

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

absolutePath = com.tibco.pe.core.Engine.getRepoAgent().getAbsoluteURIFromProjectRelativeURI(relativePath); 
Смежные вопросы