【问题标题】:TIBCO - BusinessWorks - Get path of the process dynamicallyTIBCO - BusinessWorks - 动态获取流程路径
【发布时间】:2013-05-07 23:49:04
【问题描述】:

我正在开发一个程序,该程序将读取和发送电子邮件中的图像。此图像是此进程中的一个文件夹。

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

类似于'Server.MapPath',它返回文件系统中的图像路径。

提前致谢。

【问题讨论】:

    标签: tibco businessworks


    【解决方案1】:

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

    您只需在项目中将resourcePath设置为相对路径,它将输出base64数据。

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 2011-01-07
          • 2012-01-29
          • 2015-10-29
          • 1970-01-01
          • 1970-01-01
          • 2014-02-05
          • 2015-04-12
          • 2013-02-14
          • 1970-01-01
          相关资源
          最近更新 更多