この記事の内容は、Web サービスを実装する Nodejs の問題の分析に関するものです。必要な方は参考にしていただければ幸いです。
ライブラリ、ツール
node-soap
soapui
作成
引数内のパラメータの順序に注意してください
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); }); });
個人的には Promise 形式が気に入っています。他の関数の呼び出しは 2 つの方法で実装できます。非同期の場合は、呼び出す関数名の後に「Async」を追加する必要があります。
次のようなパラメータ データのレイヤが 1 つだけであることには特別なことはありません。
args = { key1: val1, key2: val2 }
パラメータに別のレイヤがある場合、node-soap はwsdl に基づいてバンドを自動的に生成します。 名前空間プレフィックスを持つデータは、サーバーに送信された後に XML の解析に失敗します。
例:
let val2: Array= [ { key3: val3 } ]; let args = { key1: val1, key2: val2 }
現時点では、データを渡すときに追加の作業を行う必要があります:
let val2: Array= [ { key3: val3 } ]; let args = { key1: val1, key2: { dataType: val2 } }
上記の dataType は型です。 XML を生成するとき、XML 内に宣言があります。宣言がない場合は、次のように書き換える必要があります (Array
// dataType或namespace prefix在生成xml未声明 let val2: Array= [ { key3: val3 } ]; let args = { key1: val1, key2: val2 }
https://stackoverflow.com/que...
#コラム16 読書 読むのに 6 分かかります
1
ライブラリ、ツールnode-soapsoapui作成
引数のパラメータの順序に注意してください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); }); });
個人的には、promise 形式が気に入っています。その後の他の関数の呼び出しは、2 つの方法で実装できます。非同期の場合は、「Async」を追加する必要があります。呼び出す関数名の後に「」を付けます。
Call
args = { key1: val1, key2: val2 }
例:
let val2: Array= [ { key3: val3 } ]; let args = { key1: val1, key2: val2 }
let val2: Array= [ { key3: val3 } ]; let args = { key1: val1, key2: { dataType: val2 } }
// dataType或namespace prefix在生成xml未声明 let val2: Array= [ { key3: val3 } ]; let args = { key1: val1, key2: val2 }
# ############## #############################報告######
興味があるかもしれません読み込み中...
以上がWebサービスのnodejs実装の問題分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。