1.一种基于柔性描述模型的Web服务调用方法,其特征在于:所述方法包括如下步骤:
第一步:对已经发布在互联网上的SOAP服务和REST服务进行集成;
1.1、SOAP服务集成;WSDL是SOAP服务的描述文档,描述了SOAP服务的方法名、发布地址、功能和输入输出参数信息;首先通过人工手动收集WSDL或者爬虫程序爬取发布在互联网上的WSDL,其次对WSDL进行解析得到服务的具体描述信息并用SOAP服务柔性描述模型描述;
1.2、REST服务集成;REST服务采用基于自然语言的HTML文档来描述,为此,采用人工辅助或者爬虫程序爬取发布在互联网上的REST网页,对其解析提取出REST服务相关描述信息,如服务的名称、功能、发布地址、输入参数和输出参数信息;
第二步:对集成后的SOAP服务和REST服务采用柔性描述模型进行建模;
2.1、SOAP服务柔性描述模型;包含了SOAP服务的基本描述属性、SOAP服务的输入参数、返回信息以及用来实现SOAP服务调用的SOAP请求体信息;
2.2、REST服务柔性描述模型;包含了REST服务的基本描述属性、REST服务的输入参数和返回信息;
第三步:基于所述柔性描述模型,SOAP服务和REST服务调用方法如下:
3.1:SOAP服务调用方法;根据SOAP服务柔性描述模型,生成SOAP服务的请求体,将用户输入的信息与所生成的SOAP服务请求体进行拼接替换生成本次访问的、真实的SOAP请求体,并采用JAVA语言的HttpURLConnection类将该请求体发送至SOAP服务器,实现SOAP服务的调用;
3.2:REST服务调用方法;根据REST服务柔性描述模型,生成REST服务的请求体,将用户输入的信息与所生成的REST服务请求体进行拼接替换生成本次访问的、真实的REST请求体,并采用JAVA语言的HttpURLConnection类将该请求体发送至REST服务器,实现REST服务的调用;
所述步骤1.1中,WSDL解析过程如下:
1.1.1、获取WSDL文件的根节点definitions节点,解析出所有的service节点,service节点包含了服务的名称,其次解析出对应service节点下的port节点,port节点包含了服务的发布地址;
1.1.2、根据步骤1.1.1中解析得到的port节点去查找binding节点,binding节点用来描述服务的通信协议;
1.1.3、根据步骤1.1.2中解析得到的binding节点去查找portType节点,portType节点下每一个operation节点代表一个方法,每一个operation节点下都有一个input节点和output节点,分别代表该方法的输入与输出;
1.1.4、根据步骤1.1.3中解析得到的每一个operation节点下的input节点查找message节点,message节点用来描述通信消息数据结构的抽象类型化定义;
1.1.5、根据步骤1.1.4中解析得到的message节点下的part节点查找element节点;
1.1.6、根据步骤1.1.5中解析得到的element节点查找conplexType节点,conplexType节点下指明了步骤1.1.3中对应方法输入参数和输出参数的名称及其类型。
2.如权利要求1所述的一种基于柔性描述模型的Web服务调用方法,其特征在于:所述步骤1.2中,REST服务网页解析过程如下:
1.2.1、爬取REST服务原始网页,利用爬虫引擎将发布在互联网上的REST服务原始网页抓取,获得HTML页面基础库,为后续的特征提取做好准备;
1.2.2、去噪,对HTML页面基础库中的页面进行去噪处理,过滤掉无关的内容,保留页面的主体部分;
1.2.3、分词去除停用词,对步骤1.2.2中所得的页面主体进行分词,将页面主体中的句子划分为词语并移除无意义的词语如“a”、“the”词汇;
1.2.4、建立数据词典,建立表示输入、输出、标签和服务描述规则的数据词典,如“请求参数说明”、“返回参数说明”、“请求方式”;
1.2.5、特征提取,利用所建立的数据词典,在遍历网页过程中进行服务特征提取,包括服务的名称、服务的功能描述、服务的输入输出信息,并将特征提取后的服务存入Web服务库。
3.如权利要求1所述的一种基于柔性描述模型的Web服务调用方法,其特征在于:所述步骤2.1中,定义1:SOAP服务柔性描述模型是由基本描述属性、SOAP请求体、输入参数、返回信息组成的四元组;
SOAP-FDM=
soapRequestBody来自于JAVA库解析WSDL文件,用来与SOAP服务器进行通信,实现SOAP服务的自动化调用;
inputParams描述了所需的输入参数信息,包括输入参数的个数、类型和含义;
outputParams描述了返回信息,包含返回信息的含义以及类型;
其中,attributes是一个九元组,形式化表示为如下形式:
attributes=
soapRequestBody在“
4.如权利要求3所述的一种基于柔性描述模型的Web服务调用方法,其特征在于:所述步骤2.2中,定义2:REST服务柔性描述模型是由基本描述属性、输入参数、返回信息组成的三元组,REST-FDM=
inputParams描述了所需的输入参数信息,包括输入参数的个数、类型和含义;
outputParams描述了返回信息,包含返回信息的含义以及类型;
其中,attributes是一个十一元组,可形式化表示为如下形式:
attributes=
queryType属性指明了REST服务的参数来源,取如下几类标注:@PathParam、@QueryParam、@HeaderParam、@CookieParam、@MatrixParam、@FormParam;@PathParam表明请求来自于url的路径,@QueryParam表明请求自于url的查询参数;contentType为浏览器端以编码格式接收返回结果,可取text/xml、text/plain和application/json,application/json表示服务调用后的返回信息将以JSON格式返回;通过将用户的输入请求与服务的发布地址进行拼接,即可实现REST服务的自动化调用。
5.如权利要求1所述的一种基于柔性描述模型的Web服务调用方法,其特征在于:所述步骤3.1中,SOAP服务调用方法如下:SOAP服务由于其柔性描述模型中的soapRequestBody属性记录了SOAP服务的请求体模板,该请求体模板基于XML Schema规范来描述,通过将用户输入的参数值与SOAP服务的请求体模板中对应的输入参数进行替换拼接,生成最终真实的SOAP服务的请求体,再通过将SOAP请求体发送至SOAP服务器端即可进行SOAP服务的自动化调用。
6.如权利要求1所述的一种基于柔性描述模型的Web服务调用方法,其特征在于:所述步骤3.2中,REST服务调用方法如下:REST服务根据其柔性描述模型中url属性指明了服务的发布地址,queryType属性指明了调用该服务的参数来自于HTTP请求的哪个位置,method属性指明了调用服务的方法,根据这些信息,生成满足柔性描述模型要求的REST请求体,最后将该请求体发送至对应REST服务器端即可进行REST服务的自动化调用。