CN101834845B - 基于tcp短连接的soap客户端协议封装方法 - Google Patents

基于tcp短连接的soap客户端协议封装方法 Download PDF

Info

Publication number
CN101834845B
CN101834845B CN2010101336948A CN201010133694A CN101834845B CN 101834845 B CN101834845 B CN 101834845B CN 2010101336948 A CN2010101336948 A CN 2010101336948A CN 201010133694 A CN201010133694 A CN 201010133694A CN 101834845 B CN101834845 B CN 101834845B
Authority
CN
China
Prior art keywords
soap
client
protocol
web services
wsdl
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.)
Expired - Fee Related
Application number
CN2010101336948A
Other languages
English (en)
Other versions
CN101834845A (zh
Inventor
张春飞
宋海华
魏本栋
高福海
孙力斌
庞海东
陆志强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NANJING CITY LINKAGE SYSTEM INTEGRATION CO Ltd
Original Assignee
NANJING CITY LINKAGE SYSTEM INTEGRATION CO Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NANJING CITY LINKAGE SYSTEM INTEGRATION CO Ltd filed Critical NANJING CITY LINKAGE SYSTEM INTEGRATION CO Ltd
Priority to CN2010101336948A priority Critical patent/CN101834845B/zh
Publication of CN101834845A publication Critical patent/CN101834845A/zh
Priority to US13/072,698 priority patent/US20110238851A1/en
Application granted granted Critical
Publication of CN101834845B publication Critical patent/CN101834845B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)

Abstract

基于TCP短连接的SOAP客户端协议封装方法,针对客户端封装SOAP协议,把WSDL文件提取出来,编译为xml文件放置到客户端应用程序的的配置文件中,使SOAP协议可变部分全部由配置文件对象经过代码转换后生成SOAP协议体,使所有的webServices客户端都可以采用同一套客户端源码,统一的处理方式处理各种各样的SOAP协议。本发明使用字符流的方式进行SOAP客户端协议封装,支持各种各样的SOAP协议运行,如果WSDL文件发生变更,无需重新编译WSDL生成C/C++或java代码,更不需要重新发布应用程序就可以直接解决问题,从而使得升级接口、添加新接口简单易行,维护方便。

Description

基于TCP短连接的SOAP客户端协议封装方法
技术领域
本发明方法属于软件协议接口领域,主要针对简单对象访问协议SOAP(SimpleObject Access Protocol)客户端协议进行封装,是一种基于TCP短连接的SOAP客户端协议封装方法。
背景技术
目前电信运营商系统当中,SOAP接口被普遍使用;但由于协议接口众多,从而需要开发多种SOAP接口;而每种接口都会制定相应的WSDL文件,WSDL指网络服务描述语言,在通常情况下:每得到一个接口开发需求,就要根据WSDL重新开发一次系统,也就是必须重新发布一次源代码版本,哪怕是:升级已有的接口,也需要重新发布一次源码;由此:开发电信软件的行业通常设立接口组,某些部门专门就负责开发接口,因接口差异性大,开发软件成本也是相当地大,这些接口前期的开发,后期的版本维护、升级,都相当的消耗人力成本。
在此环境下,各运营商为节省协议接口之间的差异,就制定统一接口方式;例如中国电信iSPP项目,就要求所有接口都是在SOAP方式下的统一接口协议;现在中国很多包括HLR接口都是升级为SOAP接口方式;但这只是解决了网络协议统一,并没有真正解决业务开发上的问题;并且升级为此接口方式会带来这样一系列问题:(图1为WSDL文件的发布示意图,这是老的方式)
一)升级接口时
在升级此接口,例如需要在SOAP协议的xml节点中添加一个参数信息节点;那么就导致需要重新发布WSDL文件,所有使用此WSDL文件的系统(包括客户端与服务端)都要重新编译并发布自己的应用系统,带来的维护与升级人力成本是非常大的;
二)添加新接口时
在添加新的SOAP接口的时候,同样是要根据WSDL编译出一套C/C++代码或java代码以供相应的开发语言调用(目前C/C++领域较流行的编译工具为gSOAP,java领域较流行的编译工具为:axis2);这些工具的使用方法都是一样的;
在仅需开发客户端的时候都存在同样的问题:要从WSDL文件编译为C/C++或java源码,再重新编译这些源码,并修改业务参数后重新编译发布新的应用系统,也就是升级应用程序代码才能解决问题。
发明内容
本发明要解决的问题是:现有SOAP的开发方式在接口文件WSDL文件发生变化时,必须重新发布一次源代码版本,因接口差异性大,开发软件成本也是相当地大,这些接口前期的开发,后期的版本维护、升级,都相当的消耗人力成本。
本发明的技术方案为:基于TCP短连接的SOAP客户端协议封装方法,针对客户端封装SOAP协议,把原本填在SOAP协议中的可变部分,即WSDL网络服务描述语言文件提取出来,编译为xml文件放置到客户端应用程序的的配置文件中,使SOAP协议可变部分全部由配置文件对象经过代码转换后生成SOAP协议体:
1)客户端载入WSDL转换后的xml文件;
2)客户端的应用程序读出配置文件,把xml结合要传输的应用程序数据转换为SOAP消息体;
3)在所述SOAP消息体加上SOAP消息头,变成一个完整的SOAP请求;
4)通过TCP短连接,将完整的SOAP请求发送给web services服务器,再处理一下web services返回的内容即完成了一次完整的SOAP接口调用;
所有的web Services客户端采用同一套客户端源码,采用统一的处理方式来向服务器发出请求。
使用第三方工具把服务端提供的WSDL网络服务描述语言格式描述文件编译为真实的xml格式,所述第三方工具为gSOAP、soapUI。
客户端通过TCP短连接发送SOAP请求后,收到web Services服务器返回即断开socket连接。
SOAP协议原本就是在TCP短连接上实现的,一般的开发工具都是引入编译的概念;是把WSDL文件编译成C/C++代码、或编译成java代码后,让这些源代码给客户端的应用程序直接使用;本发明是把原本填在协议中的WSDL文件提取出来,放到客户端的配置文件中;从而使SOAP协议可变部分全部由配置文件对象经过代码转换后生成SOAP协议体;使所有的web Services客户端都可以采用同一套客户端源码,统一的处理方式处理各种各样的SOAP协议。
本发明方法不涉及服务端SOAP业务处理;这点有别于目前软件行业当中流行的SOAP软件既处理服务端又处理客户端;之所以仅对客户端进行封装、牺牲了服务端封装特性,就是因为这样可以有更强的针对性。
本发明完成SOAP客户端协议的封装,使用字符流的方式进行封装,并且可以支持各种各样的SOAP协议运行,因为本发明把SOAP消息体放到配置文件系统中了,因此当WSDL文件发生变更时,无需重新编译和发布新的应用程序,根据WSLD文件编译得到的xml文件,结合应用程序数据即可转换为SOAP消息体,用于SOAP接口调用。本发明的特点就是:如果WSDL文件发生变更,也就是接口格式发生了变更,无需重新编译WSDL生成C/C++或java代码,更不需要重新发布应用程序就可以直接解决问题,从而使得升级接口、添加新接口的时候不需要像gSOAP、Axis一样重新升级源码。
本发明在SOA架构中,开发与升级web Services客户端时,无需对应用程序的源码进行重新发布;这是与目前web Services开发工具所提供的功能特点不一样的地方,如目前的gSOAP、axis2等都需要重新编译WSDL文件,它们都无法做到不重新编译客户端源码。
本发明就是要解决每次改变WSDL文件就要升级应用程序这样的问题,实现即使WSDL文件生发变化了,只需要修改配置文件中xml格式即可。本发明在需要大量访问不同种web Services服务器的时候,能够做到统一访问方式,无需重新开发应用程序;只需使用第三方工具把WSDL翻译成xml,并把xml配置到客户端应用程序配置文件中,就可以完成整个web Services请求过程;使得各厂商、各平台的web Services协议轻松得到统一的访问,轻松融合在同一套客户端应用程序当中。在WebService接口的平台中,对于SOAP接口,应用本发明以后,当接口格式发生变化时,不再消耗重复的开发成本,可直接转到施工环节,由现场工程人员直接对应用程序进行配置即可完成业务需求。
附图说明
图1为普通的SOAP开发方法
图2为本发明方法的应用示意图。
图3为SOAP客户端消息结构分解。
具体实施方式
如图1,目前各web Serivces开发工具都是根据WSDL或由自己的开发工具来生成WSDL文件,由WSDL编译为C/C++或java代码发布到web Serivces服务器,如果WSDL发生变更,也就是接口格式发生了变更,那么就要重新编译WSDL生成C/C++或java代码,再重新发布至服务器上去。
例如电信行业中一个项目中遇到外围接口有上百个,根据前述的方法,其中的webservices服务器升级都需要重新发布源码,无疑这种工作量不是产生在维护上,而是要重新进行开发。
本发明在TCP短连接上封装SOAP协议为整个系统的核心,针对客户端封装SOAP协议,把原本填在SOAP协议中的可变部分,即WSDL网络服务描述语言文件提取出来,编译为xml文件放置到客户端应用程序的的配置文件中,使SOAP协议可变部分全部由配置文件对象经过代码转换后生成SOAP协议体:
1)客户端载入WSDL转换后的xml文件;
2)客户端的应用程序读出配置文件,把xml结合要传输的应用程序数据转换为SOAP消息体;
3)在所述SOAP消息体加上SOAP消息头,变成一个完整的SOAP请求;
4)通过TCP短连接,将完整的SOAP请求发送给web services服务器,再处理一下web services返回的内容即完成了一次完整的SOAP接口调用;
所有的web Services客户端采用同一套客户端源码,采用统一的处理方式来向服务器发出请求。
其中,使用第三方工具把服务端提供的WSDL网络服务描述语言格式描述文件编译为真实的xml格式,所述第三方工具为gSOAP、soapUI等。
客户端通过TCP短连接发送SOAP请求后,收到web Services服务器返回即断开socket连接。
在本发明当中:理论上所有的客户端web Services程序都是不需要进生重新开发,而是结合本发明web Services客户端协议,仅需修改配置文件中的xml格式;就可以达到某接口升级不需要改变应用程序,从而用同一个线程类即可以解决所有平台webServices接口差异性,也就是说:所有web Services客户端都可以使用同一套通信源码,web Services协议部分是可以配置出来的;使得上百套接口系统采用同一套软件版本;可扩展性强;应用重载后二次开发量变小。
如图2,本发明只要人工提前配置好各种接口,有新接口的时候也是配置这个新接口;统一由WebService客户端读取这些配置文件,进行调用接口即可;而如图1,通常情况下进行Web Service开发的时候,需要编译WSDL文件为程序源码,然后重新编译这些源码文件后再进行接口发布;每新加入一个webService接口,就要重新编译一次源码;就要重新发布一次客户端系统。
两者对比可见WSDL变化带来的影响面,图1所示的现有方法完全受到WSDL文件的影响,而本发明方法在将WSDL文件编译为xml文件放置到配置文件中后,WSDL文件的变动就不再对后续客户端的应用程序产生影响,维护升级更加便捷,节省大量人力和成本。
下面是本发明的开发思路,图3为SOAP客户端消息结构分解,如图3所示,SOAP消息头中,划线的部分为本发明填补的数据,SOAP消息体中,划线的部分为应用程序填补的真实数据,其它为SOAP包体部分,即配置文件中读取的xml格式(由WSDL转换而来)。开发思路就是:本发明由客户端自己封装SOAP消息,SOAP消息由两部分内容组成:1.SOAP消息头,2.SOAP消息体;而SOAP消息体是由配置文件中xml与客户端的应用程序真实数据组成;这样就可以生成完整的SOAP请求;客户端通过建立TCP短连接发送出去,并处理返回结果,即可;此种思路只能用来开发客户端,主要就是用字符方式拼装SOAP消息,并不支持解析SOAP消息,SOAP消息的解析由服务器端所支持;而就是因为目前软件行业中流行的开发工具都是同时支持SOAP服务端与客户端的开发,所以目前软件行业中流行的开发工具在仅开发客户端应用程序时显得特别复杂、与升级、维护代价过大问题。

Claims (3)

1.基于TCP短连接的SOAP客户端协议封装方法,其特征是针对客户端封装SOAP协议,把原本填在SOAP协议中的可变部分,即WSDL网络服务描述语言文件提取出来,编译为xml文件放置到客户端应用程序的配置文件中,使SOAP协议可变部分全部由配置文件对象经过代码转换后生成SOAP协议体:
1)客户端载入WSDL转换后的xml文件;
2)客户端的应用程序读出配置文件,把xml结合要传输的应用程序数据转换为SOAP消息体;
3)在所述SOAP消息体加上SOAP消息头,变成一个完整的SOAP请求;
4)通过TCP短连接,将完整的SOAP请求发送给web services服务器,再处理一下web services返回的内容即完成了一次完整的SOAP接口调用;
所有的web Services客户端采用同一套客户端源码,采用统一的处理方式来向服务器发出请求。
2.根据权利要求1所述的基于TCP短连接的SOAP客户端协议封装方法,其特征是使用第三方工具把服务端提供的WSDL网络服务描述语言文件编译为真实的xml格式,所述第三方工具为gSOAP、soapUI。
3.根据权利要求1或2所述的基于TCP短连接的SOAP客户端协议封装方法,其特征是客户端通过TCP短连接发送SOAP请求后,收到web Services服务器返回即断开socket连接。
CN2010101336948A 2010-03-26 2010-03-26 基于tcp短连接的soap客户端协议封装方法 Expired - Fee Related CN101834845B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2010101336948A CN101834845B (zh) 2010-03-26 2010-03-26 基于tcp短连接的soap客户端协议封装方法
US13/072,698 US20110238851A1 (en) 2010-03-26 2011-03-26 Soap Client Protocol Encapsulation Based on TCP

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010101336948A CN101834845B (zh) 2010-03-26 2010-03-26 基于tcp短连接的soap客户端协议封装方法

Publications (2)

Publication Number Publication Date
CN101834845A CN101834845A (zh) 2010-09-15
CN101834845B true CN101834845B (zh) 2012-11-28

Family

ID=42718776

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101336948A Expired - Fee Related CN101834845B (zh) 2010-03-26 2010-03-26 基于tcp短连接的soap客户端协议封装方法

Country Status (2)

Country Link
US (1) US20110238851A1 (zh)
CN (1) CN101834845B (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8818963B2 (en) 2010-10-29 2014-08-26 Microsoft Corporation Halloween protection in a multi-version database system
CN102223380B (zh) * 2011-07-07 2014-12-10 昆明伯尔瑞科技开发有限公司 一种基于网络服务的客户端自动升级框架及其应用
US8612516B2 (en) 2011-11-28 2013-12-17 Wyse Technology Inc. Deployment of a driver or an application on a client device having a write-filter
US8606892B2 (en) 2011-11-28 2013-12-10 Wyse Technology Inc. Deployment and updating of applications and drivers on a client device using an extensible markup language (XML) configuration file
CN103685348B (zh) * 2012-09-03 2016-12-21 百度在线网络技术(北京)有限公司 云执行的系统和方法
CN103064786B (zh) * 2012-12-14 2016-08-03 北京思特奇信息技术股份有限公司 一种基于多协议支撑的逻辑层自动化测试系统
US9195712B2 (en) * 2013-03-12 2015-11-24 Microsoft Technology Licensing, Llc Method of converting query plans to native code
CN103475498A (zh) * 2013-09-04 2013-12-25 中国铁道科学研究院电子计算技术研究所 基于网络数字广播系统的广播协议传输方法
US10474645B2 (en) 2014-02-24 2019-11-12 Microsoft Technology Licensing, Llc Automatically retrying transactions with split procedure execution
CN104111863B (zh) * 2014-07-17 2017-05-10 湖南昇云科技有限公司 管理不同虚拟化平台中虚拟机的方法与系统
CN105933217B (zh) * 2016-07-14 2019-11-08 北京元心科技有限公司 消息同步方法及平台、网络服务器和适配服务器
CN107770225B (zh) * 2016-08-22 2020-11-03 北京京东尚科信息技术有限公司 一种webService访问系统和访问webService的方法
CN109101351A (zh) * 2018-08-29 2018-12-28 郑州云海信息技术有限公司 一种解析基板管理控制器web返回值的方法、装置及设备
CN109768970B (zh) * 2018-12-24 2021-05-04 通号通信信息集团有限公司 一种基于可配置的通用协议生成方法
CN111258778B (zh) * 2020-01-10 2023-08-01 卓望数码技术(深圳)有限公司 安全管理平台接入管理接收方法、发送方法及系统
CN111756804B (zh) * 2020-05-27 2022-05-31 苏州浪潮智能科技有限公司 一种配置web请求的方法及装置
CN111988171B (zh) * 2020-08-12 2022-05-17 北京大学 基于RESTful风格请求调用SOAP Web服务的方法、代理服务器及系统
CN113973105B (zh) * 2021-10-18 2023-06-16 湖南大学 一种简化服务总线上soap消息的系统及方法
CN114095586A (zh) * 2021-11-16 2022-02-25 上海许继电气有限公司 一种变电站门禁系统数据采集系统及方法
CN116055281A (zh) * 2022-11-28 2023-05-02 中盈优创资讯科技有限公司 一种灵活封装网元平台webservice接口为标准soap接口方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1751492A (zh) * 2003-02-14 2006-03-22 捷讯研究有限公司 在网络通信中压缩报文的系统和方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519737B2 (en) * 2000-07-07 2009-04-14 Schneider Automation Inc. Input/output (I/O) scanner for a control system with peer determination
US7343428B2 (en) * 2001-09-19 2008-03-11 International Business Machines Corporation Dynamic, real-time integration of software resources through services of a content framework
US7895065B2 (en) * 2003-02-26 2011-02-22 Sony Corporation Method and apparatus for an itinerary planner
US7698684B2 (en) * 2005-09-28 2010-04-13 Sap Ag Method and system for generating schema to Java mapping descriptors and direct mapping of XML schema and Java interfaces
US20070150574A1 (en) * 2005-12-06 2007-06-28 Rizwan Mallal Method for detecting, monitoring, and controlling web services
US7890956B2 (en) * 2007-03-14 2011-02-15 Sap Ag Method and system for implementing built-in web services endpoints
DE602007000919D1 (de) * 2007-05-18 2009-05-28 Sap Ag Verfahren und System zum Schutz einer Nachricht vor einem XML-Angriff beim Austausch in einem verteilten und dezentralisierten Netzwerksystem
US20090204497A1 (en) * 2008-02-07 2009-08-13 Digital River, Inc. Centralized Media Production System and Method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1751492A (zh) * 2003-02-14 2006-03-22 捷讯研究有限公司 在网络通信中压缩报文的系统和方法

Also Published As

Publication number Publication date
CN101834845A (zh) 2010-09-15
US20110238851A1 (en) 2011-09-29

Similar Documents

Publication Publication Date Title
CN101834845B (zh) 基于tcp短连接的soap客户端协议封装方法
CN102594833B (zh) 一种通信协议适配方法和系统
CN101202665B (zh) 图形用户界面的生成方法
CN105187559B (zh) 一种数据融合治理系统
CN107621987B (zh) 一种基于消息的无人机通用地面站软件架构系统
CN102497451B (zh) 服务处理系统和服务处理方法
JP2002215486A (ja) Wsdlに基づいたコントローラ装置用通信システム
Zhu Web services provide the power to integrate
CN110633076B (zh) 一种自动生成Solidity智能合约Java客户端程序的方法
CN105183452A (zh) 一种用于配电设备监测基于Spring AOP的远程规约服务中间件
CN103281311A (zh) 一种使用Protobuf描述的物联网协议解析方法
CN104579792A (zh) 多适配方式实现多种类型虚拟资源集中管理架构及方法
CN103176804A (zh) 一种用户界面实现方法
CN104301401A (zh) 一种基于快速服务封装的移动应用平台
García-Sánchez et al. Service oriented evolutionary algorithms
CN110321236B (zh) 一种基于OpenDDS的远程方法调用实现方法
CN102111160B (zh) 用于反应式系统测试的编解码系统及其编解码器
CN103581310A (zh) 一种web服务代理的自动生成方法
KR100751449B1 (ko) OSGi 서비스 플랫폼 기반의 스텁 번들 생성 방법
CN102811257A (zh) 一种网络服务自动发布和组合方法
CN101237455B (zh) 数据传输装置及系统
JP4883638B2 (ja) ユーザインタフェース統合システム及びその方法
JP2010146551A (ja) ロボットソフトウェアコンポーネントのためのメソッドポート装置及び構成方法
CN106570118B (zh) 基于电力物资调配移动平台的报表数据处理系统及方法
CN100424640C (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
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20100915

Assignee: NANJING XINTONG TECHNOLOGY CO.,LTD.

Assignor: LINKAGE TECHNOLOGY GROUP Co.,Ltd.

Contract record no.: 2016320000023

Denomination of invention: SOAP client protocol encapsulating method based on TCP short connection

Granted publication date: 20121128

License type: Common License

Record date: 20160219

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121128