【问题标题】:How to gather complete object schema with Mulesoft Salesforce connector (Mule 4)如何使用 Mulesoft Salesforce 连接器 (Mule 4) 收集完整的对象架构
【发布时间】:2020-03-01 19:41:13
【问题描述】:

...我在 Anypoint Studio (7.4.2) 中使用 Mule Salesforce 连接器(用于 Mule Runtime 4.4.2)。

Salesforce 查询语言不允许* 运算符从对象中收集所有键,因此我正在寻找另一种方法来检索示例对象并创建可用于更新和创建的模型记录。

以 Task 对象(记录在此:https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_task.htm)为例,我发现 describeLayout()retrieve() 方法看起来很有前景。

但是,当我尝试调用 retrieve() 时,我需要提交要检索的字段列表。

我没有看到连接器中暴露的describeLayout() 方法,所以我没有看到它返回什么。

我是否错过了一种通用方法来允许我从示例对象中收集每个字段?

[为清楚起见进行了编辑]

【问题讨论】:

标签: salesforce anypoint-studio mulesoft


【解决方案1】:

查看是否有 describe 支持。 describeLayout 主要用于如果您需要在移动应用程序中重新创建 SF 页面,例如,不会告诉您有关字段类型的太多信息,并且只会列出最终用户可以看到的字段,在后台可以隐藏更多。

REST API describe:https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/dome_sobject_describe.htm

或元数据 API:https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_calls_describesobjects_describesobjectresult.htm

我不知道你有什么可用的。我希望 Mule 连接器作为某些连接向导的一部分为您执行此操作,提取有关所有可查询表的信息,并在您选择一个表之后 - 关于您可以在其中看到的所有字段。也许您过于复杂了,您需要一个真正动态的 SELECT * 等价物,当管理员无需刷新连接即可添加新字段时可以使用?

也可以查询元数据,它像实际数据一样存储在表中。看看https://stackoverflow.com/a/60067076/313628 是否有帮助。

【讨论】:

  • ...谢谢。最初的两个参考资料都有助于我的理解。我现在正在试验这个。
【解决方案2】:

...事实证明 Mule 4 Salesforce 连接器确实支持describe SObject

对于 Anypoint Studio 开发人员,它显示如下:

XML 定义几乎没有提供进一步的见解。

更新:经过进一步调查,事实证明需要使用 Dataweave 应用额外的操作来获取简单的字段列表。在有效负载中拥有 SObject 结构后,您将:

payload.fields.*name

这会产生一个包含字段名称的数组。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-02
    • 1970-01-01
    • 1970-01-01
    • 2016-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多