国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

nodejs實現(xiàn)webservice問題總結

aikin / 3225人閱讀

摘要:庫,工具創(chuàng)建注意里參數(shù)順序你的路徑,可以是或者本地文件注意參數(shù)順序創(chuàng)建創(chuàng)建個人喜歡形式,之后調(diào)用其它函數(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);
    });
});

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

調(diào)用

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

args = {
    key1: val1,
    key2: val2
}

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

如:

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

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

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

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

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

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

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...

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

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/102183.html

相關文章

  • My Toolkit of Node.js

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

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

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

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

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

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

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

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

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

    Ashin 評論0 收藏0

發(fā)表評論

0條評論

aikin

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<