Show Menu
トピック×

JavaScriptでのSOAPメソッド

これは、Adobe Campaignサーバー上で実行されるJavaScriptです。

静的メソッド

静的SOAPメソッドには、スキーマを表すオブジェクトのメソッドを呼び出してアクセスします。 スキーマは'namespace'オブジェクトのプロパティです。 これらの名前空間はグローバル変数なので、例えばxtkやnms変数は対応する名前空間を表します
次の例は、xtk:workflowスキーマの静的PostEventメソッドを呼び出します。
xtk.workflow.PostEvent("WKF1", "signal", "", $recipient-id='123', false) 

非静的メソッド

非静的SOAPメソッドを使用するには、まず対応するスキーマで「get」メソッドまたは「create」メソッドを使用してエンティティを取得する必要があります。
次の例は、「xtk:queryDef」スキーマのExecuteQueryメソッドを呼び出します。
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)

  • 「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)
    
    
  • 「選択」操作を使用した受信者テーブルに対するクエリ:
    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)
    }
    
    
  • 受信者テーブルにデータを書き込み中:
    xtk.session.Write(<recipient _operation="insert" lastName="Martinez" firstName="Peter" xtkschema="nms:recipient"/>);