最近在公司有使用到公司开发的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用到自己的想法上了。