我正在为Salesforce.com开发Novell Identity Manager驱动程序,并试图更好地了解Salesforce.com平台。在salesforce.com你可以拥有多值属性吗?
我迄今为止取得了非常好的成绩。我可以从SFDC中读取几乎任意的对象类,并为它们创建eDirectory对象,而不是。这一切都已完成并且工作得很好。 (发布者频道)。一旦我查询了Query事件,大多数事情都开始在Publisher频道中运行。
当我在eDirectory中发生更改时,我正在将事件发送回SFDC(订户通道)。
我在SOAP API中使用upsert()函数,并且使用Novell Identity Manager,您基本上构建了SOAP文档,并且可以在构建它时看到结果。 (你可以在XSLT中完成,或者你可以使用各种允许的令牌在DirXML Script中建立文档,我使用的DirXML Script目前运行良好)。
该评论的结果是,我可以构建SOAP文档,看看它,以确保我能正确地做到这一点。这通常与示例代码通常提供的Java/C++方法不同。这种方式更多的视觉。
关于upsert()有几件事我不完全明白。我知道如何消除价值,我应该得到那种事件。在<urn:sObjects>
节点内,添加一个节点像(假设你得到你的命名空间已声明):
<urn1:fieldsToNull>FieldName</urn1:fieldsToNull>
我知道如何将一个值(AttrValue)添加到属性(字段名),加上像一个节点:
<FieldName>AttrValue</FieldName>
所有这些工作,是非常简单的。
我的问题是,SFDC的值是否可以多值?在eDirectory中,正在更改的多值属性可能发生在两种方式:
- 所有值都可以删除,并重新添加新集。
- 删除的单个值可以作为该类事件(删除值)发送,或者可以在一个操作中删除多个值。
看着SFDC,我只看到似乎存储在单个条目中的多选项列表属性:或;分隔。 SFDC中是否有另一种多值属性管理方式不同?如果是这样,那么如何通过SOAP API操纵它呢?
我仍然需要决定是否要将这些多选项列表映射到单个字符串或字符串的多值属性。第一种方法是比较容易,第二种方式是比较有用的...嗯... ...选择
一些参考:
- 我一直在使用Sample SOAP messages页面了解文档应该是什么样子。
- Apex Explorer是一款用于浏览数据库和测试查询的踢球工具。就像DBVisualizer对于JDBC连接的数据库一样。没有它,这将会变得更加困难!
- SoapUi也是必需的,而且是一个可爱的工具!