最近在公司有使用到公司開發的webservice接口,然后發現自己的一個想法可以用webservice實現,於是想着自己建立webservice服務,並嘗試發布,並用vb6.0 調用測試。
1,首先搜了一下webservice的建立,搜到一篇博文:
https://www.cnblogs.com/zqzjs/p/4705994.html
有詳細的說明webservice 的建立,照葫蘆畫瓢,寫了一個自己的webservice測試服務。
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Services; namespace MyWeb { /// <summary> /// Summary description for CAPI /// </summary> [WebService(Namespace = "http://localhost/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolboxItem(false)] // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. // [System.Web.Script.Services.ScriptService] public class CAPI : System.Web.Services.WebService { [WebMethod] public string HelloWorld() { return "Hello World"; } [WebMethod] public string CV1_TT_Report(string station, string tt) { Console.WriteLine(station + ";" + tt); return station + ";" + tt; } } }
然后發布程序到D:\Web下,得到的文件是這樣的:
2,之后就是發布了,由於自己的筆記本比較弱,所以一直都還在用xp系統,搜了一下,xp下能用的就是IIS5.1了,於是下載了IIS5.1,進行安裝
安裝細節就不說了,就說我碰到的坑:
<1>由於系統是ghost的,所以被精簡了一些dll,安裝過程中報了一些錯,后來找到一個好用的安裝包,居然包含了常見的幾種dll,預計比較順利的裝好了iis5.1
附上鏈接,方便以后找
鏈接:https://pan.baidu.com/s/1J2BjWUHGgedvKayFDhl6Uw
提取碼:odio
<2>裝好iis5.1之后,在瀏覽器輸入127.0.0.1 測試,發現需要輸入賬號密碼,又搜索了一下,找到答案:
https://wenku.baidu.com/view/efe421875acfa1c7ab00cca6.html
<3>之后就是iis5.1的一些配置了,需要注冊過ASP.NET IIS 才可以使用,輸入cmd,回車,輸入神秘代碼:
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -i (根據你安裝的framework版本和路徑實際情況做適當調整)
然后就可以建站了,這里需要特別說明,XP不能建網站,只能建虛擬目錄,而且只能同時有10個連接(也是搜到的,自己也沒試過,反正自己也就是調試一下)
如果這個別名你設置的是test,那么之后你需要在瀏覽器輸入127.0.0.1/ 后面加test,即 127.0.0.1/test
本以為這樣就訪問了,結果出現這樣的錯誤:
然后才發現,我發布的webservice 名字叫CAPI.asmx,所以iis的啟用默認文檔需要添加,否則iis根據設置的默認文檔找不到網站,於是就報錯啦。
這個簡單,加進去就好了~ 右擊新建的虛擬目錄,點屬性
添加我們的CAPI.asmx,然后打開瀏覽器測試一下,終於發布成功了
接下來測試一下我們的VB6.0可否調用webservice接口
新建一個vb6.0 的標准exe工程
簡單寫一點代碼:
Private cc As New SoapClient Private Sub Command1_Click() Dim S$ S = cc.CV1_TT_Report("S", "12") MsgBox S End Sub Private Sub Form_Load() cc.mssoapinit "http://localhost/test/?WSDL" End Sub
運行一下:
看來是成功了。
所以我也可以把webservice用到自己的想法上了。