TIBCO - BusinessWorks - 动态获取流程路径

时间:2010-01-21 18:39:30

标签: tibco businessworks

我正在开发一个能够在电子邮件中读取和发送图像的流程。此图像是此过程中的文件夹。

问题是:如何获取进程运行的路径?

'Server.MapPath'那样返回文件系统中的图像路径。

提前致谢。

3 个答案:

答案 0 :(得分:1)

SOAP RetrieveResources可能是一个很好的解决方案,但在BW 5.4上为我抛出了NullPointerException。也许这是这个版本的一个错误。
获取“根路径”的问题在于部署的BW项目不保留其原始文件夹/文件结构 - 部署者不会“爆炸”EAR文件。因此,您不会在BW服务器框上找到图像作为单独的文件。
通过使用以下XPath语句,有一种动态加载XML文件的简单方法:

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

但是二进制文件显然会失败。我在BW项目中存储二进制数据的最佳猜测是将其存储为Base64或Hex格式的字符串常量。

答案 1 :(得分:0)

如果您的图片存在于BW项目的文件夹中,您可以使用“检索资源”活动来获取内容。

您只需在项目中使用相对路径设置resourcePath,它就会输出base64数据。

答案 2 :(得分:0)

如果有人遇到这个问题(就像我今天所做的那样),这里有一种获取应用程序中文件的绝对路径的方法。以下代码可用于“Java代码”活动,例如,分别是relativePath和absolutePath的输入和输出参数:

absolutePath = com.tibco.pe.core.Engine.getRepoAgent().getAbsoluteURIFromProjectRelativeURI(relativePath);