Méthodes SOAP en JavaScript soap-methods-in-javascript

Il s'agit dans ce cas du JavaScript exécuté sur le serveur Adobe Campaign.

Méthodes statiques static-methods

L'accès aux méthodes SOAPs statiques se fait par invocation d'une méthode sur l'objet représentant le schéma. Les schémas sont des propriétés des objets de type 'espace de noms'. Ces espaces de noms sont des variables globales, ainsi par exemple, les variables xtk ou nms représentent les espaces de noms correspondants.

L'exemple suivant invoque la méthode statique PostEvent du schéma xtk:workflow :

xtk.workflow.PostEvent("WKF1", "signal", "", $recipient-id='123', false)

Méthodes non statiques non-static-methods

Pour utiliser les méthodes SOAPs non statiques, il faut d'abord récupérer une entité en utilisant les méthodes "get" ou "create" sur les schémas correspondants.

L'exemple suivant invoque la méthode ExecuteQuery du schéma "xtk:queryDef" :

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)

Exemples examples

  • Requête sur la table des destinataires avec une opération "get" :

    code language-none
    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)
    
  • Requête sur la table des destinataires avec une opération "select" :

    code language-none
    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)
    }
    
  • Ecriture de données sur la table des destinataires :

    code language-none
    xtk.session.Write(<recipient _operation="insert" lastName="Martinez" firstName="Peter" xtkschema="nms:recipient"/>);
    
recommendation-more-help
601d79c3-e613-4db3-889a-ae959cd9e3e1