Implementieren von SOAP-Methoden

Einleitung

Es ist möglich, SOAP-Methoden in JavaScript zu erstellen. Diese Funktion ermöglicht einfach anwendungsbezogene Prozesse. Sie kann die Entwicklung von JSPs und deren Aufruf in den Formularen vermeiden.

Diese SOAP-Methoden verhalten sich genauso wie die nativ in der Anwendung definierten Methoden. Dieselben Attribute werden unterstützt: static, key only and const.

Definieren einer Methodenbibliothek

Das Erstellen einer Methodenbibliothek umfasst zwei Phasen:

  • die SOAP-Methodendeklaration,
  • Definition (oder Implementierung) in JavaScript.

Erklärung

Deklarieren Sie zunächst die Methoden in den Schemas (weitere Informationen zum Erstellen und Bearbeiten von Schemas finden Sie in diesem Abschnitt).

Ihre Deklaration ähnelt der nativen Methoden, allerdings müssen Sie das Attribut "library"hinzufügen, das den Namen der Methodenbibliothek angibt, in der sich die Definition befindet.

Dieser Name entspricht dem Namen (mit dem Namespace) der Entität vom Typ "JavaScript-Code".

Beispiel:

Die Methode testLog(msg) wird in der Erweiterung nms:recipient deklariert

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

Der Namespace und der für die Bibliothek verwendete Name sind unabhängig vom Namespace und vom Schemanamen, in dem die Deklaration gefunden wird.

Definition

SOAP-Methoden werden in Form von JavaScript-Funktionen implementiert, die in einem Skript gruppiert sind, das eine Bibliothek darstellt.

HINWEIS

Eine Methodenbibliothek kann Funktionen für verschiedene Schemas gruppieren oder umgekehrt. Die Funktionen eines Schemas können in separaten Bibliotheken definiert werden.

Das Skript kann Code enthalten, der beim ersten Laden der Bibliothek ausgeführt werden soll.

1. Name

Der Name der Funktion muss dem folgenden Format entsprechen:

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

Beispiel:

Die folgende JavaScript-Funktion ist die Implementierung der oben beschriebenen Methode. Sie wird in der Entität vom Typ "JavaScript-Code"unter Verwendung des Namens "cus:test"definiert.

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

2. Signature

Die Signatur der Funktion muss ein -Argument für jeden "in"- oder "inout"-Parameter der Deklaration enthalten.

Sonderfälle:

  • nichtstatische Methoden: Die -Funktion muss zunächst ein zusätzliches -Argument enthalten, das mit der XML-Entität übereinstimmt, die in Form eines Objekts vom Typ "xml"(E4X) übergeben wurde.
  • Methoden vom Typ "Nur Schlüssel": Die Funktion muss zuerst ein zusätzliches -Argument enthalten, das mit dem in Form von Zeichenfolgen übergebenen Schlüssel übereinstimmt.

3. Zurückgegebene Werte

Die Funktion muss für jeden Parameter vom Typ 'out' oder 'inout' einen Wert zurückgeben. Sonderfall: Wenn die Methode ohne die Attribute "static", "key only"oder "const"deklariert wird, muss der erste zurückgegebene Wert mit der geänderten Entität übereinstimmen. Es ist möglich, ein neues Objekt zurückzugeben oder den ersten geänderten Parameter zurückzugeben.

Beispiel:

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

Wenn mehrere Werte zurückgegeben werden sollen, müssen sie in einer Tabelle angezeigt werden.

Beispiel:

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

Auf dieser Seite