CN101588347A - 一种自动生成网络服务客户端的方法 - Google Patents
一种自动生成网络服务客户端的方法 Download PDFInfo
- Publication number
- CN101588347A CN101588347A CNA2008100980447A CN200810098044A CN101588347A CN 101588347 A CN101588347 A CN 101588347A CN A2008100980447 A CNA2008100980447 A CN A2008100980447A CN 200810098044 A CN200810098044 A CN 200810098044A CN 101588347 A CN101588347 A CN 101588347A
- Authority
- CN
- China
- Prior art keywords
- web service
- service client
- client
- generating network
- client terminal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种自动生成网络服务客户端的方法,包括下列步骤:步骤A:用户发起获取Web服务的请求;步骤B:系统根据用户请求,依照预先存储的对应列表获取所述Web服务请求对应的统一资源定位符URL地址;步骤C:根据所述URL地址,在预先存储的对应列表中找到相应的Web服务描述文件,并根据系统预定的开发环境生成对应的Web服务客户端源代码;步骤D:根据生成的Web服务客户端源代码,动态编译生成Web服务客户端执行代码,即生成Web服务客户端。依照本发明的方法,能够动态的生成Web服务客户端,不需人工干预,在大量调用Web服务的时候,减少了生成客户端的时间、人力和金钱,提高了效率。
Description
技术领域
本发明涉及计算机网络技术领域,特别涉及一种自动生成网络(Web)服务客户端的方法。
背景技术
Web服务是基于国际开放标准的、松散耦合的网络应用系统构件,它可以在网络中被描述、发布、查找以及调用。当一个Web服务的实现发生变更的时候,对于调用者来说,只要Web服务的调用界面不变,Web服务的实现发生任何变更对他们来说都是透明的。因此Web服务有着广阔的应用前景。
要想调用Web服务,需要通过Web服务客户端来调用。目前,常用的Web服务客户端生成方法为:首先获取到Web服务描述文件,然后利用第三方工具由Web服务的服务描述生成Web服务客户端。
例如,每次要调用相应的Web服务时,都需要向浏览器输入URL地址,才能获取执行相应的Web服务所需的执行代码。当需要调用的Web服务的数量非常多的情况下,例如需要调用上千个Web服务时,需要手动输入上千次URL地址,并上千次利用第三方工具生成Web服务客户端,因而再采用这种方法去生成执行代码即客户端,会花去大量的时间、人力和金钱,效率低下。
发明内容
本发明的目的在于,提供一种自动生成网络服务客户端的方法。
本发明的自动生成网络服务客户端的方法,包括下列步骤:
步骤A:用户发起获取Web服务的请求;
步骤B:系统根据用户请求,依照预先存储的对应列表获取所述Web服务请求对应的统一资源定位符URL地址;
步骤C:根据所述URL地址,在预先存储的对应列表中找到相应的Web服务描述文件,并根据系统预定的开发环境生成对应的Web服务客户端源代码;
步骤D:根据生成的Web服务客户端源代码,动态代码编译生成Web服务客户端执行代码,即生成Web服务客户端。
其中,在所述步骤B中,所述预先存储的对应列表为:Web服务、统一资源定位符URL地址与Web服务描述文件之间相对应的列表。
其中,在所述步骤C中,所述预定的开发环境包括Visual Studio、JAVA等开发环境。
另外,在所述步骤D中,所述动态代码编译为,通过预定的开发环境中相应的类,动态编译生成Web服务客户端执行代码。
其中,所述预定的开发环境中相应的类,包括服务描述类和代码提供类。
进一步地,可以包括下列步骤:产生Web服务客户端后,为每一个客户端生成一个适合于该客户端的服务操作项,该服务操作项用来操作已生成的Web服务客户端。
此外,还可以进一步包括下列步骤:对Web服务的更新检测,即定时获取Web服务描述文件,并监测Web服务描述文件的更新情况,如果发现Web服务描述文件发生了变化,则根据上述方案产生新的Web服务客户端及对应的操作项。
本发明的有益效果是:依照本发明的自动生成网络服务客户端的方法,动态的生成Web服务客户端,不需人工干预;而且能够在Web服务发生变化时自动重新生成Web服务客户端。在大量调用Web服务的时候,减少了生成客户端的时间、人力和金钱,提高了效率。
附图说明
图1为本发明的自动生成网络服务客户端的方法流程图;
图2为本发明实施例的自动生成网络服务客户端的方法流程图。
具体实施方式
以下,参考附图1~2详细描述本发明的自动生成网络服务客户端的方法。
本发明要解决的核心问题是:自动地根据Web服务中统一资源定位符(Uniform Resource Locator,URL)地址去生成Web服务客户端,并在Web服务发生变化时重新生成Web服务客户端。
本发明的自动生成网络服务客户端的方法,具体包括下列步骤:
步骤11:用户发起获取Web服务的请求;
步骤12:系统根据用户请求,依照预先存储的Web服务、统一资源定位符(Uniform Resource Locator,URL)地址与Web服务描述文件之间的对应列表,获得该Web服务请求对应的URL地址;
其中,在步骤12中,该Web服务描述文件是指使用网络服务描述语言(Web Services Description Language,WSDL)描述的,并采用可扩展标识语言(The Extensible Markup Language,XML)语法编写的文件。该文件定义Web服务的行为方式并指示客户端如何与该服务交互。
步骤13:根据URL地址,在预先存储的对应列表中找到相应的Web服务描述文件,并根据系统预定的开发环境(例如Visual Studio、JAVA等)生成对应的Web服务客户端源代码;
需要说明的是,根据系统预定的开发环境生成对应的Web服务客户端源代码为现有技术,本发明不再详细描述。
另外,在步骤13中,该Web服务描述中具体地描述了与该Web服务进行通信的相关信息。具体地,在相应的Web服务描述文件中可以包括如下内容:该Web服务描述文件对应的服务内容,以及该Web服务与客户端之间进行数据传输时的数据传输格式等。
步骤14:根据生成的Web服务客户端源代码,通过预定的开发环境中相应的类,例如服务描述类(ServiceDescription)和代码提供类(CSharp CodeProvide)动态编译生成Web服务客户端执行代码,即生成Web服务客户端。
步骤15:产生Web服务客户端后,为每一个客户端生成一个适合于该Web服务客户端的服务操作项,该服务操作项用来操作已生成的Web服务客户端。
例如,如果在系统管理平台协议发布中规定了Web服务所需要提供的多个服务,这些服务有些为必须实现,而另一些为选择实现(例如服务A、服务B、服务C、服务D,其中,只有服务A和服务B为必须提供的服务,而服务C和服务D为可选择的),当多个Web服务都按该协议实现时,由于有选择实现的服务存在,导致每个Web服务之间存在差异,但同时又都得遵循该协议。因此,需要判断生成的Web服务客户端是否实现某服务。
这时,当通过业务逻辑调用服务操作项之前,并不知道服务C和服务D是否是已经发布的服务,而通过调用服务操作项之后,如果服务C和服务D为未发布的服务,则服务操作项不再继续调用Web服务客户端。
基于如上所述,由于只在Web服务客户端对应的服务操作项中对相应的服务是否已发布进行判断,而调用这个操作项的业务层逻辑就无需关心这些判断,从而达到Web服务客户端与业务层分离的目的。
另外,本发明的方法进一步包括对Web服务的更新检测,即定时获取Web服务描述文件,并监测Web服务描述文件的更新情况,如果发现Web服务描述文件发生了变化,则根据上述方案产生新的Web服务客户端及对应的操作项。
如图2所示,为本发明实施例的自动生成网络服务客户端的方法流程图。
首先重新获取Web服务描述文件,通过新获取的Web服务描述文件,与当前Web服务客户端的描述文件进行比较,判断Web服务是否发生了变化,如未发生变化则退出检测,并等待下一次检测;如发生变化则重新生成Web服务客户端及对应的操作项。
综上所述,依照本发明的自动生成网络服务客户端的方法,动态的生成Web服务客户端,不需人工干预;而且能够在Web服务发生变化时自动重新生成Web服务客户端。在大量调用Web服务的时候,减少了生成客户端的时间、人力和金钱,提高了效率。
以上是为了使本领域普通技术人员理解本发明,而对本发明所进行的详细描述,但可以想到,在不脱离本发明的权利要求所涵盖的范围内还可以做出其它的变化和修改,这些变化和修改均在本发明的保护范围内。
Claims (7)
1.一种自动生成网络服务客户端的方法,其特征在于,包括下列步骤:
步骤A:用户发起获取Web服务的请求;
步骤B:系统根据用户请求,依照预先存储的对应列表获取所述Web服务请求对应的统一资源定位符URL地址;
步骤C:根据所述URL地址,在预先存储的对应列表中找到相应的Web服务描述文件,并根据系统预定的开发环境生成对应的Web服务客户端源代码;
步骤D:根据生成的Web服务客户端源代码,动态编译生成Web服务客户端执行代码,即生成Web服务客户端。
2.如权利要求1所述的自动生成网络服务客户端的方法,其特征在于,在所述步骤B中,所述预先存储的对应列表为:Web服务、统一资源定位符URL地址与Web服务描述文件之间相对应的列表。
3.如权利要求1所述的自动生成网络服务客户端的方法,其特征在于,在所述步骤C中,所述预定的开发环境包括Visual Studio、JAVA开发环境。
4.如权利要求1所述的自动生成网络服务客户端的方法,其特征在于,在所述步骤D中,所述动态编译为,通过预定的开发环境中相应的类,动态编译生成Web服务客户端执行代码。
5.如权利要求4所述的自动生成网络服务客户端的方法,其特征在于,所述预定的开发环境中相应的类,包括服务描述类和代码提供类。
6.如权利要求1所述的自动生成网络服务客户端的方法,其特征在于,进一步包括下列步骤:
产生Web服务客户端后,为每一个客户端生成一个适合于该客户端的服务操作项,该服务操作项用来操作已生成的Web服务客户端。
7.如权利要求6所述的自动生成网络服务客户端的方法,其特征在于,进一步包括下列步骤:
对Web服务的更新检测,即定时获取Web服务描述文件,并监测Web服务描述文件的更新情况,如果发现Web服务描述文件发生了变化,则根据上述方案产生新的Web服务客户端及对应的操作项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100980447A CN101588347A (zh) | 2008-05-23 | 2008-05-23 | 一种自动生成网络服务客户端的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008100980447A CN101588347A (zh) | 2008-05-23 | 2008-05-23 | 一种自动生成网络服务客户端的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101588347A true CN101588347A (zh) | 2009-11-25 |
Family
ID=41372410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008100980447A Pending CN101588347A (zh) | 2008-05-23 | 2008-05-23 | 一种自动生成网络服务客户端的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101588347A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799768A (zh) * | 2010-03-19 | 2010-08-11 | 上海交通大学 | 动力灾变模拟网格的Web服务封装系统 |
CN101807204A (zh) * | 2010-03-05 | 2010-08-18 | 武汉大学 | 一种遥感图像处理Web服务动态生成方法 |
CN101771701B (zh) * | 2010-01-04 | 2012-12-26 | 北京航空航天大学 | Web服务客户端自动化生成方法和装置 |
CN102982091A (zh) * | 2011-11-02 | 2013-03-20 | 微软公司 | 用于基于动态域的隔离的技术 |
CN106561030A (zh) * | 2016-12-11 | 2017-04-12 | 天津汉铭科技发展有限公司 | 一种遥感图像处理Web服务动态生成方法 |
CN106874163A (zh) * | 2016-12-29 | 2017-06-20 | 广州华多网络科技有限公司 | 一种显示软件错误码信息的方法及系统 |
CN108536489A (zh) * | 2018-04-23 | 2018-09-14 | 腾讯科技(深圳)有限公司 | 匹配资源环境的方法、装置和计算机可读存储介质 |
-
2008
- 2008-05-23 CN CNA2008100980447A patent/CN101588347A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101771701B (zh) * | 2010-01-04 | 2012-12-26 | 北京航空航天大学 | Web服务客户端自动化生成方法和装置 |
CN101807204A (zh) * | 2010-03-05 | 2010-08-18 | 武汉大学 | 一种遥感图像处理Web服务动态生成方法 |
CN101807204B (zh) * | 2010-03-05 | 2012-02-15 | 武汉大学 | 一种遥感图像处理Web服务动态生成方法 |
CN101799768A (zh) * | 2010-03-19 | 2010-08-11 | 上海交通大学 | 动力灾变模拟网格的Web服务封装系统 |
CN101799768B (zh) * | 2010-03-19 | 2012-11-28 | 上海交通大学 | 动力灾变模拟网格的Web服务封装系统 |
CN102982091A (zh) * | 2011-11-02 | 2013-03-20 | 微软公司 | 用于基于动态域的隔离的技术 |
CN106561030A (zh) * | 2016-12-11 | 2017-04-12 | 天津汉铭科技发展有限公司 | 一种遥感图像处理Web服务动态生成方法 |
CN106874163A (zh) * | 2016-12-29 | 2017-06-20 | 广州华多网络科技有限公司 | 一种显示软件错误码信息的方法及系统 |
CN106874163B (zh) * | 2016-12-29 | 2020-09-11 | 广州华多网络科技有限公司 | 一种显示软件错误码信息的方法及系统 |
CN108536489A (zh) * | 2018-04-23 | 2018-09-14 | 腾讯科技(深圳)有限公司 | 匹配资源环境的方法、装置和计算机可读存储介质 |
CN108536489B (zh) * | 2018-04-23 | 2022-03-25 | 腾讯科技(深圳)有限公司 | 匹配资源环境的方法、装置和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109246251B (zh) | 一种微服务调用方法、装置、系统、设备及可读存储介质 | |
CN103955364B (zh) | 一种适用于手机的前端组件方法 | |
EP1512265B1 (en) | A computing services grid | |
Hughes et al. | LooCI: a loosely-coupled component infrastructure for networked embedded systems | |
CN101216838B (zh) | 基于web标记的xml界面配置文件分发系统及方法 | |
CN101588347A (zh) | 一种自动生成网络服务客户端的方法 | |
JP5221151B2 (ja) | ネットワークにおけるプロセス構成 | |
CN101446965B (zh) | 一种数据查询方法及系统 | |
JP5188284B2 (ja) | サービス接続システム及びサービス接続方法 | |
CN101996093A (zh) | 将桌面应用转换为网络应用的方法和系统 | |
CN103298016A (zh) | 移动终端的测试系统 | |
US8032588B2 (en) | System and method for hosting one or more versions of a service using a service proxy | |
CN114490268A (zh) | 全链路监控方法、装置、设备、存储介质和程序产品 | |
US7793151B2 (en) | Dynamic partitioning of event patterns for determining symptoms | |
CN102291437A (zh) | 跨平台互联网应用的实现系统及方法 | |
US20190370028A1 (en) | Managing discovery and selection of service interface specifications | |
CN102323884A (zh) | 一种多Web服务发布的方法及Web服务容器 | |
US7191232B2 (en) | Extendable provisioning mechanism for a service gateway | |
CN110059273A (zh) | 一种在移动终端上显示富媒体的方法及移动终端 | |
CN103246547A (zh) | 远程调用对象的方法和系统 | |
CN101807204A (zh) | 一种遥感图像处理Web服务动态生成方法 | |
US20080216050A1 (en) | Method and System for Accessing a Resource Implemented in a Computer Network | |
JP2005228183A (ja) | プログラム実行方法、および、プログラム実行のための計算機システム | |
CN100596139C (zh) | 使用元数据定义映射来构建组件应用程序的系统和方法 | |
CN111338717A (zh) | 接口调用方法、应用程序升级方法及服务器和客户端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20091125 |