Dies ist das JavaScript, das auf dem Adobe Campaign-Server ausgeführt wird.
Statische SOAP-Methoden werden aufgerufen, indem eine Methode für das Objekt aufgerufen wird, das das Schema darstellt. Schema sind Eigenschaften von "Namensraum"-Objekten. Bei diesen Namensräumen handelt es sich um globale Variablen. Daher stellen z. B. xtk- oder nms-Variablen die entsprechenden Namensraum dar.
Im folgenden Beispiel wird die statische PostEvent-Methode des Schemas xtk:workflow aufgerufen:
xtk.workflow.PostEvent("WKF1", "signal", "", $recipient-id='123', false)
Um nicht-statische SOAP-Methoden zu verwenden, muss zunächst eine Entität mit den Methoden "get"oder "create"für die entsprechenden Schema abgerufen werden.
Im folgenden Beispiel wird die ExecuteQuery-Methode des Schemas "xtk:queryDef"aufgerufen:
var query = xtk.queryDef.create(
<queryDef schema="xtk:workflow" operation="select">
<select>
<node expr="@internalName"/>
</select>
</queryDef>
)
var res = query.ExecuteQuery()
for each (var w in res.workflow)
logInfo(w.@internalName)
Abfrage auf der Empfänger-Tabelle mit einer "get"-Operation:
var query = xtk.queryDef.create(
<queryDef schema="nms:recipient" operation="get">
<select>
<node expr="@firstName"/>
<node expr="@lastName"/>
<node expr="@email"/>
</select>
<where>
<condition expr="@email = 'peter.martinez@adobe.com'"/>
</where>
</queryDef>)
var recipient = query.ExecuteQuery()
logInfo(recipient.@firstName)
logInfo(recipient.@lastName)
Abfrage auf der Empfänger-Tabelle mit einem "Select"-Vorgang:
var query = xtk.queryDef.create(
<queryDef schema="nms:recipient" operation="select">
<select>
<node expr="@email"/>
<node expr="@lastName"/>
<node expr="@firstName"/>
</select>
<where>
<condition expr="@age > 25"/>
</where>
</queryDef>)
var res = query.ExecuteQuery()
for each (var recipient in res.recipient)
{
logInfo(recipient.@email)
logInfo(recipient.@firstName)
logInfo(recipient.@lastName)
}
Daten in die Empfänger-Tabelle schreiben:
xtk.session.Write(<recipient _operation="insert" lastName="Martinez" firstName="Peter" xtkschema="nms:recipient"/>);