- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VB实现SOAP
简介SOAP - 简单对象处理协议(Simple Object Access Protocol) - 是当前XML开发的热点。它是微软新一代Visual Studio的主要角色,是.NET策略的基础。如果想用VB 6编制一个有保障的SOAP服务,可以查阅微软的SOAP工具包(VB)。但如果想了解SOAP到底是什么,就要自己动手建立自己的SOAP标准对象。本文可以帮助你起步。本文中,我们创建一个简单的SOAP服务端和一个客户端。服务端用ASP编写,名为soap.asp。这个文件应存放在个人Web服务器的根目录下,如:\Inetpub\wwwroot。这个服务器将接受和处理客户端提出的SOAP请求。客户端是一个简单的VB可执行文件,由Sub Main()启动。步骤众所周知,SOAP是一个“呼叫-响应”机制,按客户/服务方式运行。客户端(应用程序)向服务端(位于互联网上的某个Web服务器)发出函数调用请求并传递参数;服务端则返回响应。呼叫与响应的内容和数据都是按XML文件格式进行传送的。因此,要建立一个简单的SOAP应用系统,就要建立一个客户端和一个服务端,即一个呼叫-响应体系。下面是一个简单例子:我们建立一个服务端来计算销售交易的税款。按照传统的VB术语,即建立一个函数,定义如下:? ?? ?Public Function GetSalesTax(ByVal pSalesTotal As Double) as Double? ?? ?? ? GetSalesTax = pSalesTotal * 0.04? ?? ?End Function一个粗糙的函数,但可作为示例(本例只能用于税率为4%的地方)。这个函数定义了一个函数名(GetSalesTax),一个参数(pSalesTotal – 销售金额)和一个返回值(函数返回值)。按照面向对象原则,可以认为pSalesTotal是一个IN参数,GetSalesTax返回值是一个OUT参数。因此我们的SOAP服务端就要侦听客户发出的调用GetSalesTax的请求和传递的IN参数(销售金额),然后返回带有OUT参数的回应,向客户返回所需税款。客户端下面是用VB建立一个呼叫服务的客户端程序:? ?? ?dblSalesTax = GetSalesTax(100)? ?? ?得到返回值$4。? ?? ?? ?? ?如果GetSalesTax函数是一个外部对象,比如在MTS服务器上,就要调用服务器上的DLL模块:? ?? ?Dim objTax As New CTaxCalc? ?? ?dblSalesTax = objTax.GetSalesTax(100)在SOAP系统中,远程调用的方式略有不同,呼叫是通过XML文件传送到服务器的。XML文件里有调用的函数名和相应的参数:? ?? ?GetSalesTax? ?? ?? ? SalesTotal100/SalesTotal? ?? ?GetSalesTax为确保服务器能够识别和解释客户请求,呼叫指令被包装到一个称之为SOAP信封的大文件里。这个信封使用的是SOAP封装标准的通用命名空间:? ?? ?SOAP:Envelope xmlns:SOAP=urn:schemas-xmlsoap-org:soap.v1? ?? ?? ? SOAP:Header/SOAP:Header? ?? ?? ? SOAP:Body? ?? ?? ?? ???GetSalesTax? ?? ?? ?? ?? ?? ?SalesTotal100/SalesTotal? ?? ?? ?? ???GetSalesTax? ?? ?? ? /SOAP:Body? ?? ?/SOAP:Envelope最后,加入函数调用的命名空间,起到函数声明的作用:? ?? ?SOAP:Envelope xmlns:SOAP=urn:schemas-xmlsoap-org:soap.v1? ?? ?? ? SOAP:Header/SOAP:Header? ?? ?? ? SOAP:Body? ?? ?? ?? ???m:GetSalesTax xmlns:m=urn:myserver/soap:TaxCalc? ?? ?? ?? ?? ?? ?SalesTotal100/SalesTotal? ?? ?? ?? ???/m:GetSalesTax? ?? ?? ? /SOAP:Body? ?? ?/SOAP:Envelope现在,已经准备好客户请求文件,可以送往服务端了。发送请求很简单,可以跟浏览器表单一样,用HTTP??post方式。浏览器可以向服务端发送复杂的表单,.NET可以向服务
您可能关注的文档
最近下载
- 2024-2030年中国六氟磷酸锂行业市场现状供需分析及投资评估规划分析研究报告.docx
- 防护工程之三维网植被护坡(附施工图解、工艺、造价编制).pdf VIP
- 《中铁一局集团有限公司工程项目管理绩效考核办法》(中铁一成本[2015]623号).doc
- 机械打眼开炸石方(附施工图解、造价编制).pdf VIP
- 路基土石方(借土填方)(附施工图解、工艺、造价编制).pdf VIP
- 2023扬州龙川控股集团有限责任公司招聘试题及答案解析.docx
- 交通安全设施之交通标志(附施工图解、工艺、造价编制).pdf VIP
- 路基土石方之填挖交界(附施工图解、工艺、造价编制).pdf VIP
- 2纵横造价实战--抛石挤淤附施工图解、工艺、造价编制.pdf
- 2024《我的阿勒泰》作品简介PPT课件(精品).pptx
文档评论(0)