這是在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"/>);