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

Este es el JavaScript ejecutado en el servidor de Adobe Campaign.

Métodos estáticos static-methods

SOAP Se accede a los métodos de la estática invocando un método en el objeto que representa el esquema. Los esquemas son propiedades de objetos "namespace". Estas áreas de nombres son variables globales, por lo que, por ejemplo, las variables xtk o nms representan las áreas de nombres correspondientes

En el ejemplo siguiente se invoca el método PostEvent estático del esquema xtk

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

Métodos no estáticos non-static-methods

SOAP Para utilizar métodos de no estáticos, primero es necesario recuperar una entidad utilizando los métodos "get" o "create" en los esquemas correspondientes.

En el ejemplo siguiente se invoca el método ExecuteQuery del esquema "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)

Ejemplos examples

  • Realice una consulta en la tabla de destinatarios con una operación "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)
    
  • Realice una consulta en la tabla de destinatarios con una operación "seleccionar":

    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)
    }
    
  • Escritura de datos en la tabla de destinatarios:

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