這篇文章帶給大家的內容是關於nodejs實作webservice的問題分析,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
函式庫,工具
node-soap
soapui
#建立
注意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); }); });個人喜歡promise形式,之後呼叫其它函數都是可以兩種方式實現的,若是異步形式,需要在你呼叫的函數名稱後加上"Async"。 呼叫參數資料只有一層沒什麼特殊,如:
args = { key1: val1, key2: val2 }若是參數裡又套了一層,node-soap是不會根據wsdl自動產生帶有namespace prefix的數據,傳到伺服器之後會解析xml失敗。 如:
let val2: Array<datatype> = [ { key3: val3 } ]; let args = { key1: val1, key2: val2 }</datatype>這個時候就需要在傳入資料時做些額外工作,修改為:
let val2: Array<datatype> = [ { key3: val3 } ]; let args = { key1: val1, key2: { dataType: val2 } }</datatype>上面這種dataType是產生xml時,其類型在xml中有聲明;若是沒有聲明,就又是另一中寫法,如:
// dataType或namespace prefix在生成xml未声明 let val2: Array<datatype> = [ { key3: val3 } ]; let args = { key1: val1, key2: val2 }</datatype>需改寫為(此處用使用Array
let val2: Array<string> = [ val3, val4 ]; let args = { attributes: { 'xmlns:arr': 'http://schemas.microsoft.com/2003/10/Serialization/Arrays' }, key1: val1, key2: { "arr:string": val2 } }</string>https://stackoverflow.com/que...
##-火星中加入火星中
########### #################################### ### 上上#####nodejs0####)中實作問題上摘要###n####node
之後閱讀 · 作用內使用 6 分鐘
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形式,之後呼叫其它函數都是可以兩種方式實現的,若是非同步形式,需要在你呼叫的函數名後加上"Async"。 ######呼叫######參數資料只有一層沒什麼特殊,如:###
args = { key1: val1, key2: val2 }###若是參數裡又套了一層,node-soap是不會根據wsdl自動產生帶有namespace prefix的數據,傳到伺服器之後會解析xml失敗。 ######如:###
let val2: Array<datatype> = [ { key3: val3 } ]; let args = { key1: val1, key2: val2 }</datatype>###這個時候就需要在傳入資料時做些額外工作,修改為:###
let val2: Array<datatype> = [ { key3: val3 } ]; let args = { key1: val1, key2: { dataType: val2 } }</datatype>###上面這種dataType是產生xml時,其類型在xml中有聲明;若是沒有聲明,就又是另一中寫法,如:###
// dataType或namespace prefix在生成xml未声明 let val2: Array<datatype> = [ { key3: val3 } ]; let args = { key1: val1, key2: val2 }</datatype>###需改寫為(此處用使用Array
let val2: Array<string> = [ val3, val4 ]; let args = { attributes: { 'xmlns:arr': 'http://schemas.microsoft.com/2003/10/Serialization/Arrays' }, key1: val1, key2: { "arr:string": val2 } }</string>###https://stackoverflow.com/que...######################## #############################回報################################################################## #########################你可能感興趣的#################### ###################評論#### 時間排序########################載入中...######顯示更多註解######## ###################
以上是nodejs實作webservice的問題分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!