Frage

Ich bin ein Novell Identity Manager-Treiber für Salesforce.com zu entwickeln, und ich versuche, besser die Salesforce.com-Plattform zu verstehen.

Ich habe wirklich gute Erfolge bisher hatte. Ich kann ziemlich willkürlich Objektklassen aus SFDC lesen und erstellen eDirectory für sie Objekte, und was nicht. Dies wird alles getan und arbeiten gut. (Publisher Channel). Sobald ich Abfrage Ereignisse bekam vorgezeichnet, begann fast alles im Publisher-Kanal zu arbeiten.

Ich arbeite jetzt auf Ereignisse zurück zu SFDC (Abonnentenkanal), wenn Änderungen auftreten in eDirectory zu senden.

Ich bin mit dem Upsert () Funktion in der SOAP-API und mit Novell Identity Manager, Sie im Grunde die SOAP-doc bauen, und kann die Ergebnisse sehen, wie Sie es bauen. (Sie können es in XSLT oder Sie die verschiedenen erlaubt Token verwenden können das Dokument in DirXML-Skript zu bauen. Ich DirXML Script verwenden, die bisher gut gearbeitet hat.).

Das Ergebnis dieser Bemerkung ist, dass ich das SOAP-Dokument erstellen kann, finden Sie es, sein, ich es sicher richtig. Das ist in der Regel anders als die Java / C ++ Ansatz, dass der Beispielcode stellt in der Regel. Viel mehr visuelle auf diese Weise.

Es gibt mehrere Dinge über Upsert (), dass ich nicht ganz verstehen. Ich weiß, wie leer ein Wert, sollte ich diese Art von Veranstaltung. Im Inneren des <urn:sObjects> Knoten, fügen Sie einen Knoten wie (vorausgesetzt, Sie bekommen Ihre Namespaces bereits erklärt):

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

Ich weiß, wie man einen Wert (attrValue) mit dem Attribut (Feldname) hinzuzufügen, fügen Sie einen Knoten wie:

<FieldName>AttrValue</FieldName>

All diese Werke und ist ziemlich geradlinig.

Die Frage, die ich habe, ist, kann ein Wert in SFDC wird mehrwertig? In eDirectory kann ein Multi bewertet Attribut geändert wird, passieren zwei Möglichkeiten:

  • können alle Werte entfernt werden, und der neue Satz wieder hinzugefügt.
  • Der entfernte einzelne Wert kann als diese Art von Ereignis (remove-Wert) oder viele Werte gesendet werden können, in einem Arbeitsgang entfernt werden.

Mit Blick auf SFDC, ich immer nur Multi-Auswahllisten Attribute sehen, die in einem einzigen Eintrag gespeichert zu sein scheinen: oder; begrenzt. Gibt es eine andere Art von Multi bewertet Attribute anders verwaltet in SFDC? Und wenn ja, wie würde man es über den SOAP-API manipulieren?

Ich muss noch entscheiden, ob ich die Multiauswahllisten zu einer einzigen Zeichenfolge zuordnen möchten, oder ein Multi bewertet Attribut von Strings. Erste Weg ist einfacher, eine zweite Art und Weise nützlicher ist ... Hmmm ... Choices ...

Einige Referenzen:

  • Ich war die Seite mit Beispiel SOAP-Nachrichten zu verstehen, was die Dokumentation sollte aussehen.
  • Apex Explorer ein kicking-Tool ist die Datenbank für das Durchsuchen und Abfragen zu testen. Ähnlich wie DbVisualizer tut für JDBC-Datenbanken verbunden. Dies hätte so viel schwieriger, ohne es gewesen!
  • soapUI ist ebenfalls erforderlich, und ein schönes Werkzeug!
War es hilfreich?

Lösung

Soweit ich weiß, gibt es keinen Mehrwert anderer Bereich als Multi-Select-Auswahllisten (und die in der Umgebung Semikolon getrennte Zeichenfolge). Im Allgemeinen Plattform fordert Sie dazu auf eine richtige Beziehung mit einer anderen (möglicherweise neuen, kundenspezifische) Tabelle zu erstellen, wenn Sie in Not sind mehrere Werte, die auf Ihre Daten verknüpft.

Nur andere „ungewöhnlich“, was ich denken kann, ist, wie die ownerID Feld auf bestimmte Objekte (Fall, Blei, vielleicht etwas anderes) kann auf Benutzer oder Warteschlangen-Datensatz zu Punkt verwendet werden. Sieht komisch, wenn Sie Fremdschlüsselbeziehungen von traditionellen Datenbanken verwendet werden. Aber das ist nicht identisch mit dem, was Sie fragen, denn es wird nur ein Wert zu einer Zeit sein.

Natürlich kann man manchmal mit Werten Surpised werden, um Sie in der Datenbank je nach Betrachtungs Benutzer locale (Sachen wie Systemadministrator Profil immer Systeembeheerder auf Niederländisch) erhältlich ist. Aber das wird noch ein einziger Wert, on the fly übersetzt, kurz bevor die Abfrageergebnisse werden an Sie zurückgesendet.

Als ich hatte SOAP Integration mit SFDC auszuführen, habe ich immer WSDL-Dateien verwendet, und die meiste Zeit war in Ordnung, mit Java-Code von ihnen mit Apache Axis erzeugt werden. Hand Crafting die SOAP-Nachricht selbst scheint ... wow, Hardcore ein wenig. Sind Sie sicher, dass Sie bevorzugen Visualisierung von XML über die Erstellung von Klassen, Ausnahmen und all diese Dinge bereit, für die Verwendung mit einem von mehreren Out-of-the-box Integration Methoden? Wenn sie sich jemals die WSDL ändern brauche ich nur die Klassen von ihm zu regenerieren; während Änderungen an der Erstellung Bibliothek SOAP-Nachricht könnte schmerzhaft sein ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top