Métodos SOAP em JavaScript soap-methods-in-javascript
Este é o JavaScript executado no servidor do Adobe Campaign.
Métodos estáticos static-methods
Os métodos estáticos de SOAP são acessados chamando um método no objeto que representa o esquema. Os esquemas são propriedades de objetos 'namespace'. Esses namespaces são variáveis globais, portanto, por exemplo, as variáveis xtk ou nms representam os namespaces correspondentes
O exemplo a seguir invoca o método PostEvent estático do schema xtk
xtk.workflow.PostEvent("WKF1", "signal", "", $recipient-id='123', false)
Métodos não estáticos non-static-methods
Para usar métodos SOAP não estáticos, é necessário primeiro recuperar uma entidade usando os métodos "get" ou "create" nos schemas correspondentes.
O exemplo a seguir invoca o método ExecuteQuery do 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)
Exemplos examples
-
Consulta na tabela de recipients com uma operação "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)
-
Consulte a tabela de recipients com uma operação "select":
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) }
-
Gravando dados na tabela de destinatários:
code language-none xtk.session.Write(<recipient _operation="insert" lastName="Martinez" firstName="Peter" xtkschema="nms:recipient"/>);