v7
Se aplica solo a Campaign Classic v7

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

JavaScript ejecutado en el servidor de Adobe Campaign.

Métodos estáticos static-methods

Se accede a los métodos SOAP estáticos 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

Para utilizar métodos SOAP 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