Show Menu
THEMEN×

SOAP-Methoden in JavaScript

Dies ist das JavaScript, das auf dem Adobe Campaign-Server ausgeführt wird.

Statische Methoden

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) 

Nicht-statische Methoden

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)

Beispiele

  • 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"/>);