Вопрос

Я разрабатываю драйвер Novell Identity Manager для Salesforce.com, и пытаюсь лучше понять платформу SalesForce.com лучше.

У меня был действительно хороший успех на сегодняшний день. Я могу прочитать довольно много произвольных классов объектов из SFDC, и создать Edirectory объекты для них, и что нет. Это все сделано и работает красиво. (Канал издателя). Как только у меня появилось запрос события, сопоставленные, большинство все начали работать в канале издателя.

Я сейчас работаю над отправкой событий обратно в SFDC (канал подписчика), когда изменения происходят в Edirectory.

Я использую функцию Upsert () в SOAP API, а с диспетчером идентификации Novell, вы в основном создаете SOAP DOC и можете увидеть результаты, поскольку вы его создаете. (Вы можете сделать это в XSLT или вы можете использовать различные разрешенные токены, чтобы создать документ в скрипте Dirxml. Я использую сценарий Dirxml, который до сих пор работает хорошо.).

Выделение этого комментария состоит в том, что я могу построить документ SOAP, увидим его, чтобы быть уверенным, что у меня все правильно. Что обычно отличается от подхода Java / C ++, который обычно предоставляет код образца. Гораздо более визуальный так.

Есть несколько вещей о UPSERT (), что я не совсем понимаю. Я знаю, как пропустить ценность, я должен получить это событие. Внутри <urn:sObjects> Узел, добавьте узлу, как (при условии, что вы получите свои пространства имен уже):

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

Я знаю, как добавить значение (Attrvalue) к атрибуту (FieldName), добавьте узлу, как:

<FieldName>AttrValue</FieldName>

Все это работает и довольно прямо вперед.

У меня есть вопрос, может ли значение в SFDC быть многозначным? В Edirectory многозначный атрибут изменяется, может произойти два способа:

  • Все значения могут быть удалены, а новый набор повторно добавлен.
  • Одно значение удаленное значение может быть отправлено как такое соревнование (удаление-значение) или многие значения могут быть удалены одним операцией.

Глядя на SFDC, я когда-либо видел только атрибуты Multi-Picklist, которые, кажется, хранятся в одной записи: или; разграниченный. Есть ли другой вид многозначного атрибута, управляемого по-разному в SFDC? И если так, как бы один манипулированный это через SOAP API?

Я все еще должен решить, хочу ли я сопоставить эти мультипилисты в одну строку или многозначный атрибут строк. Первый путь проще, второй способ более полезный ... Хммм ... Выбор ...

Некоторые ссылки:

  • Я использовал страницу Примерные мыльные сообщения Чтобы понять, как должны выглядеть документы.
  • Apex Explorer Является ли icking Tool для просмотра базы данных и запросов тестирования. Так же, как DBVisualizer. делает для подключенных баз данных JDBC. Это было бы намного сложнее без этого!
  • Мыска Также требуется, и прекрасный инструмент!
Это было полезно?

Решение

Насколько я знаю, нет многозначного поля, отличного от нескольких выбора соклейков (и они отображают в строку, разделенную запятой). Обычно платформа призывает вас создать правильные отношения с другой (возможно, новой, пользовательской) таблицей, если вам нуждается в нескольких значениях, связанных с вашими данными.

Только другое «необычное» вещь, о которой я могу думать, так это как поле ServeliD на определенных объектах (случай, свинца, может быть, что-то еще) может использоваться для укачки пользовательской записи или записи очереди. Выглядит странно, когда вы используете для иностранных ключевых отношений от традиционных баз данных. Но это не идентично тому, что вы спрашиваете, так как будет только одно значение за раз.

Конечно, вы также можете повзкольчивать иногда со значениями, которые вы увидите в базе данных в зависимости от просмотра локали пользователя (вроде профиля системы администратора SystembeHerder на голландском языке). Но это будет все еще одно значение, переведенное на лету незадолго до отправки результатов запроса обратно.

Когда мне пришлось выполнить интеграцию мыла с SFDC, я всегда использовал файлы WSDL, и большую часть времени было хорошо с кодом Java сгенерированным из них с оси Apache. Ручная обработка мыла Сообщение о себе кажется ... вау, хардкор немного. Вы уверены, что предпочитаете визуализацию XML за создание классов, исключений и всех этих материалов, готовых к использованию с одним из нескольких из коробки интеграция методы? Если они когда-нибудь изменит WSDL, мне нужно просто воссоздать классы от него; Принимая во внимание, что изменения вашей библиотеки создания сообщений SOAP могут быть болезненными ...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top