Der Inhalt dieses Artikels befasst sich mit der Analyse des Problems der Webservice-Implementierung durch NodeJS. Ich hoffe, dass er für Freunde hilfreich ist.
Bibliothek, Werkzeug
node-soap
soapui
Erstellen
Achten Sie auf die Reihenfolge der Parameter in args
const soap = require('soap'); let URL = "你的wsdl路径,可以是url或者本地文件"; // 注意参数顺序!!!!!!!!! let args = { key1: val1, key2: val2 }; // promise创建 let client = await soap.createClientAsync(URL); // callback创建 soap.createClient(url, function(err, client) { client.MyFunction(args, function(err, result) { console.log(result); }); });
Mir persönlich gefällt die Promise-Form. Der Aufruf anderer Funktionen kann auf zwei Arten implementiert werden. Wenn es asynchron ist, müssen Sie nach dem Funktionsnamen, den Sie aufrufen, „Async“ hinzufügen.
Es ist nichts Besonderes, nur eine Ebene von Parameterdaten zu haben, wie zum Beispiel:
args = { key1: val1, key2: val2 }
Wenn es eine andere Ebene im Parameter gibt, wird Node-Soap dies nicht tun Generieren Sie das Band automatisch basierend auf WSDL. Daten mit Namespace-Präfix können XML nach der Übertragung an den Server nicht analysieren.
Zum Beispiel:
let val2: Array<dataType> = [ { key3: val3 } ]; let args = { key1: val1, key2: val2 }
Zu diesem Zeitpunkt müssen Sie beim Übergeben der Daten etwas zusätzliche Arbeit leisten. Ändern Sie es in:
let val2: Array<dataType> = [ { key3: val3 } ]; let args = { key1: val1, key2: { dataType: val2 } }
Der obige Datentyp ist der Typ Beim Generieren von XML gibt es eine Deklaration in XML. Wenn keine Deklaration vorhanden ist, wird sie auf andere Weise geschrieben, z Das von Soapui generierte Namespace-Präfix und andere Typen sind spezifisch. Die Implementierung sollte universell sein); >
Vor 20 Stunden gepostet
>
Javascript
Achten Sie auf die Reihenfolge der Parameter in args
const soap = require('soap'); let URL = "你的wsdl路径,可以是url或者本地文件"; // 注意参数顺序!!!!!!!!! let args = { key1: val1, key2: val2 }; // promise创建 let client = await soap.createClientAsync(URL); // callback创建 soap.createClient(url, function(err, client) { client.MyFunction(args, function(err, result) { console.log(result); }); });
Aufruf Es ist nichts Besonderes, nur eine Ebene von Parameterdaten zu haben, wie zum Beispiel:
args = { key1: val1, key2: val2 }
let val2: Array<dataType> = [ { key3: val3 } ]; let args = { key1: val1, key2: val2 }
let val2: Array<dataType> = [ { key3: val3 } ]; let args = { key1: val1, key2: { dataType: val2 } }
Das könnte Sie interessieren
KommentareNach Zeit sortieren
Laden...
Das obige ist der detaillierte Inhalt vonProblemanalyse der NodeJS-Implementierung des Webservices. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!