asp.net使用WSDL地址生成cs檔案(代理類的自動生成)
之所以寫這篇文章,是因為現公司在與外部專案對接時使用WSDL對接。
然而VS2010之前的版本都能在VS工具欄內找到自帶的wsdl工具的使用。而我恰好使用的vs2017,沒有這個工具,並且對接的wsdl帶了賬號密碼的驗證。Google了老半天,也沒找出需要帶賬號密碼驗證的wsdl如何生成代理類,直接把我給整矇蔽了。
最後終於得以自己解決,在此做一個記錄。
點選 vs選單欄-->工具,選擇外部工具。
在彈出框內的操作如下所示:
1:點選新增
2:標題--輸入標題,標題內容可以自定義,下次使用時能找到即可
3:命令--輸入wsdl.exe檔案的路徑。那麼這個檔案路徑又在哪裡呢?這個檔案是出於.net formwork的安裝目錄下的。可在VS的.net formwork安裝路徑去搜索。我安裝在C盤,所以路徑是:
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools\x64\wsdl.exe
地址複製貼上是沒用的。
實在不知道在哪,可以進入C盤後搜尋檔案wsdl.exe。
如下圖所示:
有很多wsdl.exe檔案,隨便選取一個即可。
4:引數--輸入:“/l:cs /out:”(輸入雙引號內的內容)(其中,“l”指的是語言cs,“out”指的是生成類的路徑)
5:初始目錄--點選▶選擇“項目錄”
6:勾選“使用輸出視窗”以及“提示輸入引數”
7:點選確定按鈕
完成上述操作,重新開啟vs的選單欄-->工具,在列表裡就能看到自己剛剛新增的工具了。
若wsdl地址的需要賬號密碼驗證,需要先將檔案儲存至本地,再將儲存到本地的檔案字尾名由xml更改成wsdl。
若不儲存至本地,直接填寫線上地址,會出現錯誤405,訪問未授權(因為wsdl.exe沒有登陸驗證的視窗彈出)
1、選中資料夾
2、點選工具-->找到剛剛輸入的標題(WSDL代理類)
3、填寫路徑。對於不需要賬號密碼驗證的wsdl地址可直接填寫線上地址,也可為本地的wsdl檔案地址。路徑前要加一個空格
4、點選確定之後即可自動生成代理類
問題解決了,那認識一下什麼是wsdl
wsdl(Web服務描述語言,Web Services Description Language)是為描述
其實歸根結底還是Web Services