Heim > Web-Frontend > js-Tutorial > Hauptteil

Problemanalyse der NodeJS-Implementierung des Webservices

不言
Freigeben: 2019-02-28 13:32:25
nach vorne
3778 Leute haben es durchsucht

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);
    });
});
Nach dem Login kopieren
Nach dem Login kopieren

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.

Aufruf

Es ist nichts Besonderes, nur eine Ebene von Parameterdaten zu haben, wie zum Beispiel:

args = {
    key1: val1,
    key2: val2
}
Nach dem Login kopieren
Nach dem Login kopieren

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
}
Nach dem Login kopieren
Nach dem Login kopieren

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
    }
}
Nach dem Login kopieren
Nach dem Login kopieren

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

16 Mal                                                             Das Lesen dauert 6 Minuten                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         

Bibliotheken, Werkzeuge


node-soap

soapui

create

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);
    });
});
Nach dem Login kopieren
Nach dem Login kopieren
Mir persönlich gefällt das Promise-Formular. Der spätere Aufruf anderer Funktionen kann auf zwei Arten implementiert werden. Wenn es sich um ein asynchrones Formular handelt, müssen Sie „ hinzufügen. Async“ nach dem Funktionsnamen, den Sie aufrufen.

Aufruf Es ist nichts Besonderes, nur eine Ebene von Parameterdaten zu haben, wie zum Beispiel:

args = {
    key1: val1,
    key2: val2
}
Nach dem Login kopieren
Nach dem Login kopieren
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
}
Nach dem Login kopieren
Nach dem Login kopieren
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
    }
}
Nach dem Login kopieren
Nach dem Login kopieren


Das könnte Sie interessieren

Kommentare

                                                                            Nach Zeit sortieren

Laden...

    Weitere Kommentare anzeigen
  • Problemanalyse der NodeJS-Implementierung des Webservices

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!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!