实现 SOAP 方法

简介

可以在JavaScript中创建SOAP方法。 该函数简单的支持了应用程序进程,避免了JSP及其在表单中的调用。

这些SOAP方法的行为方式与应用程序中本机定义的方法相同。 支持相同的属性:静态、仅键和const。

定义方法库

创建方法库涉及两个阶段:

  • SOAP方法声明,
  • JavaScript中的定义(或实现)。

声明

开始通过在模式中声明方法(有关如何创建和编辑模式的详细信息,请参阅本节)。

它们的声明与本机方法的声明类似,只是需要添加“library”属性,该属性指定定义所在的方法库的名称。

此名称与“JavaScript代码”类型实体的名称(命名空间)一致。

示例:

testLog(msg)方法在nms:收件人扩展中声明

<method name="testLog" static="true" library="cus:test">
     <parameters>
       <param name="message" type="string" inout="in"/>
     </parameters>
   </method>
注意

命名空间和用于库的名称与找到声明的命名空间和模式名称无关。

定义

SOAP方法以JavaScript函数的形式实现,这些JavaScript函数分组在表示库的脚本中。

注意

方法库可以对各种模式的函数进行分组,反之亦然,一个模式的函数可以在单独的库中定义。

脚本可包含在初始库加载期间要执行的代码。

1. 名称

函数名称必须符合以下格式:

 <schema-namespace>_<schema-name>_<method-name>

示例:

下面的JavaScript函数是上述方法的实现。 它应使用“cus:test”名称在“JavaScript代码”类型实体中定义。

function nms_recipient_testLog(message)
 {
   logInfo("*** " + message)
 }

2.签名

函数的签名必须包含声明的每个“in”或“inout”参数的参数。

具体情况:

  • 非静态方法:该函数必须首先包含一个附加参数,与以“xml”(E4X)类型对象形式传递的XML实体相符。
  • “仅键”类型方法:函数必须首先包含一个附加参数,与以字符串形式传递的键相符。

3.返回值

函数必须为每个“out”或“inout”类型参数返回一个值。 具体情况:如果声明方法时没有任何“static”、“key only”或“const”属性,则第一个返回值必须与修改后的实体一致。 可以返回新对象或返回第一个修改的参数。

例如:

function nms_recipient_setLastName(self, name)
 {
   self.@lastName = name
   return self
 }

当要返回多个值时,它们必须显示在表中。

示例:

function nms_recipient_getKey(self)
 {
   return [self.@firstName, self.@lastName]
 }

On this page

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now