Webサービスのnodejs実装の問題分析

不言
リリース: 2019-02-28 13:32:25
転載
3690 人が閲覧しました

この記事の内容は、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」を追加する必要があります。

Call

次のようなパラメータ データのレイヤが 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 は、ここで参照するために使用されます)。 soapui によって生成された名前空間プレフィックス、およびその他のタイプが指定されている場合、実装はユニバーサルである必要があります);

// dataType或namespace prefix在生成xml未声明 let val2: Array = [ { key3: val3 } ]; let args = { key1: val1, key2: val2 }
ログイン後にコピー
ログイン後にコピー

https://stackoverflow.com/que...

#コラム







Nodejs による WebService の実装に関する質問の概要

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

次のようなパラメータ データのレイヤが 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 は、ここで参照するために使用されます)。 soapui によって生成された名前空間プレフィックス、およびその他のタイプが指定されている場合、実装はユニバーサルである必要があります);

// dataType或namespace prefix在生成xml未声明 let val2: Array = [ { key3: val3 } ]; let args = { key1: val1, key2: val2 }
ログイン後にコピー
ログイン後にコピー

https://stackoverflow.com/que...

# ############## #############################報告######

興味があるかもしれません
  • # ############# ###################コメント### 時間順に並べ替え

    Webサービスのnodejs実装の問題分析

  • 読み込み中...

  • コメントをさらに表示

以上がWebサービスのnodejs実装の問題分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!