Я разрабатываю драйвер Novell Identity Manager для Salesforce.com и стараюсь лучше понять платформу Salesforce.com.В salesforce.com у вас есть многозначные атрибуты?
У меня был действительно хороший успех на сегодняшний день. Я могу читать практически любые классы объектов из SFDC и создавать для них объекты eDirectory, а что нет. Все это сделано и работает красиво. (Канал издателя). Как только я получил события Query, большинство из них начало работать в Канале издателя.
Теперь я работаю над отправкой событий в SFDC (канал подписчика), когда происходят изменения в eDirectory.
Я использую функцию upsert() в SOAP API, а с Novell Identity Manager вы в основном создаете SOAP-документ и можете видеть результаты по мере его создания. (Вы можете сделать это в XSLT, или вы можете использовать различные разрешенные токены для создания документа в DirXML Script. Я использую DirXML Script, который работает до сих пор.).
В результате этого комментария я могу создать документ SOAP, увидеть его, чтобы убедиться, что я прав. Обычно это отличается от подхода Java/C++, который обычно предоставляет код примера. Это гораздо более визуально.
Есть несколько вещей, касающихся upsert(), которые я не совсем понимаю. Я знаю, как очистить значение, должен ли я получить такое событие. Внутри <urn:sObjects>
узла, добавить узел как (предполагая, что вы получите ваши пространства имен уже объявлены):
<urn1:fieldsToNull>FieldName</urn1:fieldsToNull>
Я знаю, как добавить значение (значение атрибута) атрибуту (FieldName), добавить узел, как:
<FieldName>AttrValue</FieldName>
Все это работает, и довольно прямо вперед.
Вопрос, который у меня есть, может ли значение в SFDC быть многозначным? В eDirectory изменяемый многозначный атрибут может происходить двумя способами:
- Все значения могут быть удалены, и новый набор будет повторно добавлен.
- Удаленное одиночное значение может быть отправлено в виде такого события (remove-value), или многие значения могут быть удалены за одну операцию.
Глядя на SFDC, я вижу только атрибуты Multi-picklist, которые, кажется, хранятся в одной записи: или; разграничены. Существует ли другой вид многозначного атрибута, управляемый по-разному в SFDC? И если да, то как можно манипулировать им с помощью SOAP API?
Мне все еще нужно решить, хочу ли я отображать эти мультиколлекторы в одну строку или многозначный атрибут строк. Первый способ проще, второй способ является более полезным ... Хммм ... выбор ...
Некоторые ссылки:
- Я использую страницу Sample SOAP messages, чтобы понять, что документы должны выглядеть.
- Apex Explorer - это инструмент для поиска базы данных и тестирования запросов. Подобно DBVisualizer для JDBC-подключенных баз данных. С этим было бы намного сложнее!
- SoapUi также требуется, и прекрасный инструмент!