我正在为Salesforce.com开发Novell Identity Manager驱动程序,并试图更好地了解Salesforce.com平台。

迄今为止,我取得了巨大的成功。我可以从SFDC中读取几乎任意的对象类,并为它们创建edirectory对象,而不是。这一切都完成了,而且工作得很好。 (发布者频道)。一旦我映射了查询事件,大多数所有内容都开始在发布者频道中工作。

现在,我正在努力将事件发送回SFDC(订户通道),当时发生了变化。

我在SOAP API中使用UPSERT()函数,并且使用Novell Identity Manager,您基本上构建了SOAP DOC,并且可以在构建它时看到结果。 (您可以在XSLT中执行此操作,也可以使用各种允许的代币在DiRXML脚本中构建文档。我正在使用迄今为止运行良好的DirXML脚本。)

该评论的结果是,我可以构建肥皂文档,看看它,以确保我做对了。通常与示例代码通常提供的Java/C ++方法不同。这种方式更多的视觉效果。

关于UpSert(),有几件事我不完全理解。我知道如何空白一个值,我应该得到这样的事件。在 - 的里面 <urn:sObjects> 节点,添加一个节点(假设您已经声明了名称空间):

<urn1:fieldsToNull>FieldName</urn1:fieldsToNull>

我知道如何将值(attrvalue)添加到属性(fieldName),添加一个节点:

<FieldName>AttrValue</FieldName>

所有这些都起作用,非常简单。

我的问题是,SFDC中的值可以多价吗?在edirectory中,可以更改多重有价值的属性,可以发生两种方式:

  • 所有值都可以删除,并重新添加新集合。
  • 可以将删除的单个值作为此类事件(删除值)发送,也可以在一个操作中删除许多值。

看着SFDC,我只看到似乎存储在单个条目中的多填充属性:或;划界。在SFDC中,是否有另一种多种有价值的属性管理?如果是这样,一个人将如何通过肥皂API操纵它?

我仍然必须确定是否要将这些多填充物映射到单个字符串或字符串的多重属性。第一种方法更容易,第二种方法更有用...嗯...选择...

一些参考:

  • 我一直在使用页面 样本肥皂消息 了解文档的外观。
  • Apex Explorer 是用于浏览数据库和测试查询的踢脚工具。很像 dbvisualizer 适用于JDBC连接的数据库。没有它,这将变得更加困难!
  • 肥皂 也需要,也是一个可爱的工具!
有帮助吗?

解决方案

据我所知,除了多选择的选择列表外,没有多价值字段(它们映射到半分离的字符串)。通常,如果您需要与数据关联的多个值,则平台鼓励您与另一个(可能是新的自定义)表建立正确的关系。

我能想到的只有其他“不寻常”的事情是如何使用某些对象上的所有者字段(情况,铅,也许还有其他东西)指向用户或队列记录。当您习惯于传统数据库的外键关系时,看起来很奇怪。但这与您的要求并不相同,因为一次只有一个值。

当然,有时您可能会在数据库中看到的值,具体取决于查看用户的语言环境(诸如系统管理员配置文件之类的内容成为荷兰语中的Systeembeheerder)。但这仍然是一个单一的值,在查询结果发送回您之前就可以随时翻译。

当我必须与SFDC进行SOAP集成时,我一直使用WSDL文件,并且在大多数情况下,使用Apache Axis生成的Java代码很好。手工制作肥皂讯息似乎……哇,铁杆有点。您是否确定您更喜欢XML的可视化,而不是创建类,例外和所有这些东西,以便与几个开箱即用的东西之一一起使用 一体化 方法?如果他们要更改WSDL,我只需要从中再生课程;而您的肥皂消息创建库的更改可能很痛苦...

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top