Show Menu
THEMEN×

Implementieren von SOAP-Methoden

Einleitung

Es ist möglich, SOAP-Methoden in JavaScript zu erstellen. Diese Funktion ermöglicht einfach anwendbare 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. Die gleichen Attribute werden unterstützt: static, key only und const.

Definieren einer Methodenbibliothek

Das Erstellen einer Methodenbibliothek umfasst zwei Schritte:
  • die SOAP-Methodendeklaration,
  • Definition (oder Implementierung) in JavaScript.

Erklärung

Beginn durch Deklarieren der Methoden in den Schemas (weitere Informationen zum Erstellen und Bearbeiten von Schemas finden Sie in diesem Abschnitt ).
Ihre Deklaration ähnelt der der nativen Methoden, allerdings müssen Sie das Attribut "library"hinzufügen, um den Namen der Methodenbibliothek anzugeben, in der sich die Definition befindet.
Dieser Name fällt mit dem Namen (mit dem Namensraum) der Entität des Typs "JavaScript-Code"zusammen.
Beispiel:
Die Methode testLog(msg) wird in der Erweiterung nms:Empfänger deklariert
<method name="testLog" static="true" library="cus:test">
     <parameters>
       <param name="message" type="string" inout="in"/>
     </parameters>
   </method>

Der Namensraum und der Bibliotheksname sind unabhängig vom Namensraum- und Schema-Namen, in dem die Deklaration gefunden wird.

Definition

SOAP-Methoden werden in Form einer JavaScript-Funktion implementiert, die in einem Skript gruppiert ist, das eine Bibliothek darstellt.
Eine Methodenbibliothek kann Funktionen für verschiedene Schema 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 wird.
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 Typentität "JavaScript-Code"unter Verwendung des Namens "cus:test"definiert.
function nms_recipient_testLog(message)
 {
   logInfo("*** " + message)
 }

2. Unterschrift
Die Signatur der Funktion muss ein Argument für jeden 'in'- oder 'inout'-Parameter der Deklaration enthalten.
Sonderfälle:
  • nichtstatische Methoden : Die Funktion muss zuerst ein zusätzliches Argument enthalten, das mit der XML-Entität zusammenfällt, die in Form eines E4X-Objekts (XML) übergeben wird.
  • Typmethoden "nur Schlüssel": Die Funktion muss zuerst ein zusätzliches Argument enthalten, das mit dem in Form von Zeichenfolgen übergebenen Schlüssel übereinstimmt.
3. Rückgegebene Werte
Die Funktion muss einen Wert für jeden Parameter vom Typ 'out' oder 'inout' zurückgeben. Sonderfall: Wenn die Methode ohne eines der 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]
 }