【问题标题】:How to manage attachments in Siebel data mappings?如何管理 Siebel 数据映射中的附件?
【发布时间】:2016-10-26 19:22:37
【问题描述】:

我们有一个带有两个集成对象的 Siebel 7.8 应用程序,并且都有一个用于附件的集成组件。其中一个将附件字段定义为DTYPE_ATTACHMENT,而另一个将其定义为DTYPE_TEXT(它用于入站Web 服务,该服务读取base64 数据字符串并将其写入磁盘上的文件)。

我正在尝试使用 UI 数据映射和 EAI Data Transformation Engine 服务将数据从一个 IO 转换为另一个,但到目前为止我没有成功:

  • 如果我将数据从 DTYPE_ATTACHMENT 转换为 DTYPE_TEXT,它不会引发任何错误,但附件 base64 数据会丢失,我只能在生成的 XML 中获取 row_id。
  • 如果我将数据从DTYPE_TEXT 转换为DTYPE_ATTACHMENT,我会收到以下错误:

    源表达式生成附件 ID 'MDEyMzQ1Njc [...] DEy8/W3CDCys7U2w==' 但找不到对应的附件。 (SBL-EAI-04058)

有什么方法可以将数据从一个集成对象转换为另一个,而不会丢失 base64 数据?我不在乎转换是“附件到文本”还是“文本到附件”,我可以构建我需要的任何一种方式。我无法更改集成对象的定义,但如果需要,我可以创建一个新对象作为中间步骤。

【问题讨论】:

    标签: siebel


    【解决方案1】:

    我放弃了。这是不可能的。这是不可能的,任何进一步解决它的尝试都会导致已知宇宙内爆。谢谢,西贝尔!

    不过……

    我为我的要求找到了一个非常简单的解决方法。事实上,它是如此简单,我不敢相信我花了 4 天时间才弄明白。

    我没有尝试将DTYPE_TEXT 字段强制转换为DTYPE_ATTACHMENT 字段,反之亦然,而是在输出集成对象中创建了该字段的两个版本:content (DTYPE_ATTACHMENT)contentText (DTYPE_TEXT)。现在,这两个字段具有不同的名称,但它们共享 External NameXMLTag 属性 (content)。对于 Siebel,它们是不同的字段,我可以在数据映射中以不同的方式处理它们;但是,一旦执行了数据转换,它们都变为<content>,因此Web 服务另一端的外部系统不会注意到任何差异。完成!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-20
      • 2017-06-07
      • 1970-01-01
      • 1970-01-01
      • 2015-06-13
      • 1970-01-01
      • 2015-06-01
      • 1970-01-01
      相关资源
      最近更新 更多