[v7]{class="badge informative" title="Applicabile solo a Campaign Classic v7"}

Metodi SOAP in JavaScript soap-methods-in-javascript

Questo è il JavaScript eseguito sul server Adobe Campaign.

Metodi statici static-methods

I metodi SOAP statici sono accessibili richiamando un metodo sull'oggetto che rappresenta lo schema. Gli schemi sono proprietà degli oggetti 'namespace'. Questi spazi dei nomi sono variabili globali, pertanto, ad esempio, le variabili xtk o nms rappresentano gli spazi dei nomi corrispondenti

Nell'esempio seguente viene richiamato il metodo PostEvent statico dello schema xtk

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

Metodi non statici non-static-methods

Per utilizzare metodi SOAP non statici, è necessario innanzitutto recuperare un’entità utilizzando i metodi "get" o "create" negli schemi corrispondenti.

Nell'esempio seguente viene richiamato il metodo ExecuteQuery dello schema "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)

Esempi examples

  • Eseguire una query sulla tabella dei destinatari con un’operazione "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)
    
  • Eseguire una query sulla tabella dei destinatari con un'operazione di selezione:

    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)
    }
    
  • Scrittura dei dati nella tabella dei destinatari:

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