在salesforce.com中,您可以拥有多值属性吗?

我正在为Salesforce.com开发Novell Identity Manager驱动程序,并且我正在尝试更好地理解Salesforce.com平台。 到目前为止,我取得了很大的成功。我可以从SFDC中读取几乎任意的对象类,并为它们创建eDirectory对象,什么不可以。这一切都已完成并且工作得很好。 (出版商频道)。一旦我将Query事件映射出来,大多数内容都在Publisher Channel中开始工作。 我现在正致力于在eDirectory中发生更改时将事件发送回SFDC(订购者通道)。 我在SOAP API中使用upsert()函数,并且使用Novell Identity Manager,您基本上构建了SOAP文档,并且可以在构建它时查看结果。 (您可以在XSLT中执行此操作,也可以使用各种允许的令牌在DirXML Script中构建文档。我使用的DirXML脚本到目前为止一直运行良好。)。 该评论的结果是我可以构建SOAP文档,看看它,以确保我做对了。这通常与示例代码通常提供的Java / C ++方法不同。这种方式更具视觉效果。 关于upsert()的一些事情我并不完全理解。我知道如何删除一个值,我应该得到那种事件。在
<urn:sObjects>
节点内,添加一个节点(假设你已经声明了你的命名空间):
<urn1:fieldsToNull>FieldName</urn1:fieldsToNull>
我知道如何向属性(FieldName)添加值(AttrValue),添加如下节点:
<FieldName>AttrValue</FieldName>
所有这一切都很有效,非常直接。 我的问题是,SFDC中的值是否可以是多值的?在eDirectory中,更改的多值属性可以通过两种方式发生: 可以删除所有值,并重新添加新集。 删除的单个值可以作为该类事件(remove-value)发送,或者可以在一个操作中删除多个值。 看看SFDC,我只看到似乎存储在单个条目中的多选项列表属性:或;分隔。在SFDC中是否有另一种多值属性管理不同?如果是这样,如何通过SOAP API操纵它? 我仍然需要决定是否要将这些多选项列表映射到单个字符串或字符串的多值属性。第一种方式更容易,第二种方式更有用......嗯......选择...... 一些参考: 我一直在使用示例SOAP消息页面来理解文档应该是什么样子。 Apex Explorer是一个用于浏览数据库和测试查询的踢脚工具。就像DBVisualizer对JDBC连接的数据库一样。如果没有它,这将会更加艰难! SoapUi也是必需的,也是一个可爱的工具!     
已邀请:
据我所知,除了多选选项列表之外,没有多值字段(并且它们映射到以分号分隔的字符串)。通常,如果您需要具有与数据关联的多个值,平台会鼓励您与另一个(可能是新的,自定义)表创建正确的关系。 只有我能想到的其他“不寻常”的东西是如何将某些对象(Case,Lead,或许其他东西)上的OwnerId字段用于指向User或Queue记录。当您习惯于传统数据库中的外键关系时,看起来很奇怪。但这与你所问的不一样,因为一次只有一个值。 当然,根据查看用户的区域设置(例如系统管理员配置文件成为荷兰语的Systeembeheerder),您可能会对数据库中看到的值感到惊讶。但这仍然是一个单一的值,在查询结果发送给您之前即时翻译。 当我不得不与SFDC进行SOAP集成时,我总是使用WSDL文件,并且大部分时间都可以使用Apache Axis生成的Java代码。亲自手工制作SOAP消息似乎......哇,硬核一点。你确定你更喜欢XML的可视化而不是类的创建,异常和所有这些东西准备好与几种开箱即用的集成方法之一一起使用吗?如果他们要改变WSDL,我只需要从中重新生成类;而对SOAP消息创建库的更改可能会很痛苦......     

要回复问题请先登录注册