TIBCO - BusinessWorks - Динамическое получение пути к процессу

StackOverflow https://stackoverflow.com/questions/2111879

  •  22-09-2019
  •  | 
  •  

Вопрос

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

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

Что-то вроде 'Server.MapPath' это возвращает путь к изображению в файловой системе.

Заранее благодарю.

Это было полезно?

Решение

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

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

Другие советы

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

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

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

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

absolutePath = com.tibco.pe.core.Engine.getRepoAgent().getAbsoluteURIFromProjectRelativeURI(relativePath);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top