[发明专利]基于DotNet平台的可插拔的Web服务动态调用方法有效
申请号: | 200910074133.2 | 申请日: | 2009-04-14 |
公开(公告)号: | CN101534324A | 公开(公告)日: | 2009-09-16 |
发明(设计)人: | 贾殿承;乔辉;武海滨;卢建辉;庞咏;张旭昌;卜思宁 | 申请(专利权)人: | 河北全通通信有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F9/44 |
代理公司: | 石家庄新世纪专利商标事务所有限公司 | 代理人: | 陈建民 |
地址: | 050021河*** | 国省代码: | 河北;13 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 dotnet 平台 可插拔 web 服务 动态 调用 方法 | ||
技术领域
本发明涉及一种基于DotNet平台的可插拔的Web服务动态调用方法。
背景技术
近几年,Internet已经深入企业,企业不仅仅是从Internet上获取信息,企业的许多业务也延伸其上,Web服务的概念应运而生。Web服务是为其它应用提供数据和服务的应用逻辑单元,应用程序通过标准的Web协议和数据格式获得Web服务,如HTTP、XML和SOAP等,每个Web服务的实现是完全独立的。Web服务具有基于组件的开发和Web开发两者的优点。Web服务是在互联网上的一种服务协议,采用XML作为基本的标记语言,SOAP(Simple Object Access Protocol)作为互操作协议,WSDL(Web Service Description Language)作为服务描述语言,通过UDDI(Universal Description Discovery & Integration)可以把服务注册到互联网以便搜索,为更多的用户使用其服务。
Web服务的以上特点,决定了Web服务具有分布性、可复用性、开放性以及可交互性等特性,这使得Web服务在各软件系统中被广泛应用。在基于DotNet平台软件系统中调用Web服务时,一般的解决方案是:在软件系统的代码中直接通过Web服务的地址来添加软件系统对Web服务的引用,然后再在代码中对Web服务进行实例化,最后再通过实例化后的Web服务实例来调用Web服务中的相关方法。
上述调用Web服务的方法存在如下缺点:
(1)软件系统与是否调用Web服务耦合度高。如果软件系统不再需要调用Web服务,则该软件系统就要移除相关调用代码,整个软件系统可能需要重新编译,给软件系统的稳定性带来一定风险。
(2)软件系统与Web服务地址的耦合度高。如果相关Web服务地址发生了更改,则调用该Web服务的软件系统相关调用代码就需要更改,整个软件系统可能需要重新编译,给软件系统的稳定性带来一定风险。
(3)软件系统与Web服务的相关方法的耦合度高。如果相关Web服务的相关方法发生了更改(方法名称、参数等),则调用该Web服务的软件系统相关调用代码就需要更改,整个软件系统可能需要重新编译,给软件系统的稳定性带来一定风险。
发明内容
本发明所要解决的技术问题是针对上述现有技术中存在缺点,而提供一种基于DotNet平台的可插拔的Web服务动态调用方法。
本发明解决其技术问题所采用的技术方案:
本方法在需要调用Web服务处实例化WSProxy类,读取配置文件Config.xml,并调用IsInvokeWebService方法检查是否需要调用Web服务,如果需要调用,则执行InvokeWebService方法;如果不需要调用,则执行软件项目其它业务逻辑。
本发明的具体方法步骤如下:
(1)软件系统在调用Web服务时,首先读取配置文件,把配置文件信息发送给WsProxy类进行验证;
(2)WsProxy类通过IsInvokeWebService方法对配置文件信息进行分析,判断调用Web服务开关是否打开;
(3)如果开关未打开,则WsProxy类通过IsInvokeWebService方法直接返回消息给软件系统,通知软件系统执行其他业务逻辑;
(4)如果开关打开,则WSProxy类根据配置信息通过InvokeWebService方法连接Web服务;
(5)连接Web服务成功后,WSProxy类获取Web服务的WSDL描述信息;
(6)WSProxy类根据获取的WSDL描述信息,生成客户端代理类;
(7)SProxy类在内存中动态编译客户端代理类,执行调用Web服务的方法,最后把方法执行的结果返回给软件系统。
本发明的有益效果如下:
本发明不仅实现了灵活的调用Web服务,并且降低了调用者与Web服务间的耦合度,为软件系统对外接口的实现提供了很好的解决方案。本发明具有以下两个特点:
(1)可插拔性:
Web服务调用者可以通过配置文件手工动态配置实现是否需要调用Web服务。
(2)动态调用:
Web服务接口调用者可以通过配置文件手工动态配置Web服务的URL地址、Web服务命名空间、Web服务类名、Web服务方法名,Web服务参数列表基本信息,来动态调用Web服务。一旦Web服务发生变化,调用者只需修改配置文件即可,调用此Web服务的软件系统无需修改和重新编译。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河北全通通信有限公司,未经河北全通通信有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910074133.2/2.html,转载请声明来源钻瓜专利网。