Metodi SOAP in JavaScript

Questo è il JavaScript eseguito sul server Adobe Campaign.

Metodi statici

È possibile accedere ai metodi SOAP statici richiamando un metodo sull'oggetto che rappresenta lo schema. Gli schemi sono proprietà degli oggetti "namespace". Questi namespace sono variabili globali, pertanto, ad esempio, le variabili xtk o nms rappresentano i namespace corrispondenti

L'esempio seguente richiama il metodo statico PostEvent dello schema xtk:workflow:

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

Metodi non statici

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

L'esempio seguente richiama 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

  • Esegui una query sulla tabella dei destinatari con un’operazione "get":

    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)
    
  • Esegui una query sulla tabella dei destinatari con un’operazione "select":

    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:

    xtk.session.Write(<recipient _operation="insert" lastName="Martinez" firstName="Peter" xtkschema="nms:recipient"/>);
    

In questa pagina