成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

nodejs實(shí)現(xiàn)webservice問題總結(jié)

aikin / 3241人閱讀

摘要:庫,工具創(chuàng)建注意里參數(shù)順序你的路徑,可以是或者本地文件注意參數(shù)順序創(chuàng)建創(chuàng)建個(gè)人喜歡形式,之后調(diào)用其它函數(shù)都是可以兩種方式實(shí)現(xiàn)的,若是異步形式,需要在你調(diào)用的函數(shù)名后添加。

庫,工具

node-soap
soapui

創(chuàng)建

注意args里參數(shù)順序

const soap = require("soap");
let URL = "你的wsdl路徑,可以是url或者本地文件";
// 注意參數(shù)順序?。。。。。。。?!
let args = {
    key1: val1,
    key2: val2
};
// promise創(chuàng)建
let client = await soap.createClientAsync(URL);

// callback創(chuàng)建
soap.createClient(url, function(err, client) {
    client.MyFunction(args, function(err, result) {
          console.log(result);
    });
});

個(gè)人喜歡promise形式,之后調(diào)用其它函數(shù)都是可以兩種方式實(shí)現(xiàn)的,若是異步形式,需要在你調(diào)用的函數(shù)名后添加 "Async"。

調(diào)用

參數(shù)數(shù)據(jù)只有一層沒什么特殊,如:

args = {
    key1: val1,
    key2: val2
}

若是參數(shù)里又套了一層,node-soap是不會(huì)根據(jù)wsdl自動(dòng)生成帶有namespace prefix的數(shù)據(jù),傳到服務(wù)器之后會(huì)解析xml失敗。

如:

let val2: Array = [
        {
            key3: val3
        }
    ];
let args = {
    key1: val1,
    key2: val2
}

這個(gè)時(shí)候就需要在傳入數(shù)據(jù)時(shí)做些額外工作,修改為:

let val2: Array = [
        {
            key3: val3
        }
    ];
let args = {
    key1: val1,
    key2: {
        dataType: val2
    }
}

上面這種dataType是生成xml時(shí),其類型在xml中有聲明;若是沒有聲明,就又是另一中寫法,如:

// dataType或namespace prefix在生成xml未聲明
let val2: Array = [
        {
            key3: val3
        }
    ];
let args = {
    key1: val1,
    key2: val2
}

需改寫為(此處用使用Array是參考soapui生成的namespace prefix,具體其它類型實(shí)現(xiàn)應(yīng)該可通用);

let val2: Array = [
        val3,
        val4
    ];
let args = {
    attributes: {
       "xmlns:arr": "http://schemas.microsoft.com/2003/10/Serialization/Arrays"
    },
    key1: val1,
    key2: {
        "arr:string": val2
    }
}
https://stackoverflow.com/que...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/102183.html

相關(guān)文章

  • My Toolkit of Node.js

    摘要:它基于格式,在絕大多數(shù)情況下,使用協(xié)議傳輸請求。由它加密的文件可在所有支持的操作系統(tǒng)和處理器上進(jìn)行轉(zhuǎn)移。后話本文的描述及用語,僅基于本人目前的水平而寫,難免有所局限和措辭不當(dāng)之處。 原文鏈接:BlueSun | My Toolkit of Node.js Cheerio Fast, flexible, and lean implementation of core jQuery des...

    leeon 評論0 收藏0
  • WebService就是這么簡單

    摘要:它使用方式,接收和響應(yīng)外部系統(tǒng)的某種請求。回顧我們在學(xué)習(xí)基礎(chǔ)網(wǎng)絡(luò)編程章節(jié)已經(jīng)知道了這么一個(gè)連接了。使用指定名稱的命名空間。名詞簡單對象訪問協(xié)議作為一個(gè)基于語言的協(xié)議用于有網(wǎng)上傳輸數(shù)據(jù)。以的根元素出現(xiàn)。代理這么一個(gè)概念就更加清晰了。 WebService介紹 首先我們來談一下為什么需要學(xué)習(xí)webService這樣的一個(gè)技術(shù)吧.... 問題一 如果我們的網(wǎng)站需要提供一個(gè)天氣預(yù)報(bào)這樣一個(gè)需求...

    SwordFly 評論0 收藏0
  • SpringBoot 使用CXF 集成WebService

    摘要:啟動(dòng)后我們直接輸入項(xiàng)目地址指定的服務(wù)名會(huì)看到生成的。測試在這就不寫了,大家可以使用生成客戶端,或者直接使用發(fā)送格式數(shù)據(jù)進(jìn)行請求??偨Y(jié)使用集成開發(fā)很簡單,不用在單獨(dú)的部署到外部上,這為我們熟悉開發(fā)的同學(xué)帶了很好的體驗(yàn)。 1、寫在前面 WebService 對我來說既熟悉又陌生,已經(jīng)將近六七年沒有看到過他了, 具體的介紹我就不多少了, 想了解的百度百科下說的很詳細(xì)。 之所以突然研究WebS...

    miracledan 評論0 收藏0
  • 實(shí)現(xiàn)一個(gè)spring webservice服務(wù)端四:服務(wù)端、客戶端以及httpclient調(diào)用spr

    摘要:執(zhí)行結(jié)果如下中華田園犬測試我認(rèn)為所有使用協(xié)議的,都能使用測試。下面是我寫的測試代碼旺財(cái)需要增加一個(gè)包測試結(jié)果返回值如下中華田園犬寫法稍微有點(diǎn)麻煩的是,需要拼接請求參數(shù),參數(shù)少的話還好,多的話就很煩不過這種方法不用生成一大堆客戶端代碼。 經(jīng)過前段時(shí)間的學(xué)習(xí),已經(jīng)實(shí)現(xiàn)一個(gè)有返回值的spring-ws服務(wù),那接下來,就要試試能不能通過不同方式的調(diào)用,要實(shí)現(xiàn)一下幾種方式的測試: spring...

    oneasp 評論0 收藏0
  • spring boot開發(fā)soap webservice

    摘要:本文介紹如何在中開發(fā)接口,以及接口如何同時(shí)支持和兩種協(xié)議。該功能很簡單,就是通過一個(gè)人的姓名查詢這個(gè)人的詳細(xì)信息。就是關(guān)鍵,如本次請求報(bào)文如下就是,對應(yīng)。測試使用進(jìn)行測試,通過地址導(dǎo)入文件進(jìn)行測試。測試這樣就實(shí)現(xiàn)了和同時(shí)提供的目的。 介紹spring boot web模塊提供了RestController實(shí)現(xiàn)restful,第一次看到這個(gè)名字的時(shí)候以為還有SoapController,...

    Ashin 評論0 收藏0

發(fā)表評論

0條評論

aikin

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<