CN101621544A - 服务流处理设备和方法 - Google Patents

服务流处理设备和方法 Download PDF

Info

Publication number
CN101621544A
CN101621544A CN200910150062A CN200910150062A CN101621544A CN 101621544 A CN101621544 A CN 101621544A CN 200910150062 A CN200910150062 A CN 200910150062A CN 200910150062 A CN200910150062 A CN 200910150062A CN 101621544 A CN101621544 A CN 101621544A
Authority
CN
China
Prior art keywords
service
web service
document
service flow
interface
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
Application number
CN200910150062A
Other languages
English (en)
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Publication of CN101621544A publication Critical patent/CN101621544A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0733Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a data processing system embedded in an image processing device, e.g. printer, facsimile, scanner
    • 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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及一种服务流处理设备和方法。该服务流处理设备根据服务流描述文档和接口描述文档请求网络上的服务进行处理,并且从该服务接收应答。该服务流处理设备还生成与该服务相对应的代理服务,并且如果没有从该服务接收到正常应答,则该服务流处理设备将该接口描述文档中描述的对该服务的请求的目的地改变成该代理服务。

Description

服务流处理设备和方法
技术领域
本发明涉及一种根据服务流描述文档和接口描述文档请求网络上的服务进行处理并从该服务接收应答的服务流处理设备和服务流处理方法。
背景技术
迄今为止,已知根据用于顺序执行Web服务的Web服务流描述文档(结构化文档)顺序执行Web服务的技术(例如,参考http://www.ibm.com/developerworks/jp/Webservices/library/ws-bpelcol1/找到的“Business Process with BPEL4WS:UnderstandingBPEL4WS,Part 1”)。广泛使用WS-BPEL(Web服务业务流程执行语言)作为该结构化文档。WS-BPEL是以XML(可扩展标记语言)描述的Web服务流描述语言。由OASIS(结构化信息标准促进组织)管理WS-BPEL规范。
注意,对于WS-BPEL,使用WSDL(Web服务描述语言)作为用于识别Web服务的接口。WSDL是描述Web服务接口所使用的语言,并且由万维网联盟(W3C)发布WSDL规范。可以在http://www.w3.org/TR/wsdl找到WSDL规范的详细说明。
流处理设备读取Web服务流描述文档,并且根据Web服务流描述文档中描述的内容顺序执行Web服务,而且这类流处理设备根据Web服务流描述的内容以下面的流程调用Web服务。
首先,读取要调用的Web服务的Web服务接口描述文档(WSDL)。然后,为了寻找目标Web服务能够接收的消息的类型,参考作为以WSDL描述的结构定义的模式语言(XML Schema)。由W3C定义XML Schema。通过使用所参考的模式生成XML格式的SOAP(简单对象访问协议)消息的框架。由W3C定义SOAP。
接着,使用XPath(XML路径语言)将要发送的数据插入所生成的SOAP消息框架中,以完成SOAP消息,并且发送该SOAP消息。由W3C定义XPath。作为SOAP消息接收作为调用的结果的、发送自Web服务的应答。
接着,进行从所接收的SOAP消息中提取数据或处理该消息等处理。然后,使用上述方法生成处理结果作为SOAP消息,并且将其发送至下一Web服务。
另外,为了处理外部Web服务已经停止的情况,提出了一种用以管理外部Web服务的状态以降低访问外部Web服务的服务请求方的负荷的提案。例如,参考日本特开2004-185138号公报。
然而,当利用传统流处理设备访问外部Web服务时,如果切断了发布外部Web服务的装置的电力供应,或者停止了外部Web服务,则流处理停止。因此,在这种情况下,出现难以进入服务流描述文档中描述的下一计划流处理的问题。
在这种情况下,可以预先设想各种异常状态并且在服务流描述文档中描述回避处理内容,以防止流处理停止。然而,为了处理各种异常状态,服务流描述文档本身变得复杂,创建服务流描述文档所需的时间和精力增大,并且人力成本增大。
另外,为了处理各种异常状态,服务流描述文档本身的大小变大,因此,当将服务流描述文档读取至低资源装置时,可能超出该装置中的资源的处理能力。因此,从这一点来说,处理变得不可能,并且出现难以继续服务流描述文档中描述的处理的问题。
还提出了一种方法,在该方法中,设置管理外部Web服务的状态的服务代理程序(service broker),并且必须通过该服务代理程序对外部Web服务进行访问。然而,如果在外部Web服务没有向服务代理程序发送停止通知的情况下,外部Web服务由于预料不到的问题而停止,则服务请求方将不能访问外部Web服务,并且处理停止。
另外,由于即使外部Web服务没有停止,也必须通过服务代理程序对外部Web服务进行访问,因而可以设想与进行直接连接的情况相比,调用外部Web服务、使得进行处理并接收处理结果所需的时间更长。
另外,如果服务代理程序本身发生问题,则即使外部Web服务没有停止,也不能访问外部Web服务。
此外,由于服务代理程序为各外部Web服务生成代理,并且即使外部Web服务没有停止,所生成的代理也继续存在,因而存在安装了服务代理程序的装置的资源被压制的情况。
发明内容
本发明提供一种服务流处理设备,该服务流处理设备使得处理网络上的服务中发生的异常的负荷降低。
根据本发明的一个方面,提供一种服务流处理设备,包括:请求单元,其根据服务流描述文档和接口描述文档,请求网络上的服务进行处理;接收单元,其从所述服务接收应答;生成单元,其生成与所述服务相对应的代理服务;以及改变单元,如果所述接收单元没有接收到正常应答,则所述改变单元将所述接口描述文档中描述的对所述服务的请求的目的地改变成所述代理服务。
根据本发明的另一方面,提供一种由服务流处理设备执行的服务流处理方法,包括以下步骤:根据服务流描述文档和接口描述文档,请求网络上的服务进行处理;接收步骤,用于从所述服务接收应答;生成与所述服务相对应的代理服务;以及如果在所述接收步骤中没有接收到正常应答,则将所述接口描述文档中描述的对所述服务的请求的目的地改变成所述代理服务。
通过以下参考附图对典型实施例的说明,本发明的其它特征将变得明显。
附图说明
图1是示出根据实施例的Web服务流处理设备的概况的图。
图2是示出用于自动切换外部服务调用处理的服务流处理单元的内部处理配置的图。
图3A和3B是示出Web服务流描述文档及其具体例子的图。
图4A和4B是示出外部Web服务B的接口描述文档的具体例子的图。
图5是示出根据实施例由外部服务监视处理单元进行的处理的流程图。
图6是示出根据实施例由外部服务监视处理单元进行的处理的流程图。
图7是示出用作根据实施例的流处理设备的信息处理设备的典型结构的图。
具体实施方式
下面参考附图详细说明本发明的优选实施例。
下面参考图1,说明作为实施例1的用于自动切换外部服务调用处理的处理的概况。应该注意,在下面的实施例中,将外部服务作为Web服务进行处理。
图1是示出根据实施例1的Web服务流处理设备的概况的图。在图1中,附图标记101表示具有复制、扫描和打印等多种功能的多功能外围设备(MFP)。在实施例1中,MFP101用作可以读取Web服务流描述文档、并根据Web服务流描述文档中描述的内容顺序执行Web服务的Web服务流处理设备102。Web服务流处理设备102包括用于自动切换外部服务调用处理的服务流处理单元103(以下称为切换处理单元103)。尽管在本实施例的说明中,Web服务流处理设备102被描述为安装在MFP101中,然而,本发明不局限于安装在MFP中的Web服务流处理设备。
附图标记104表示Web服务流处理设备102要调用的外部Web服务A,附图标记105表示Web服务流处理设备102要调用的外部Web服务B。
附图标记106表示描述用于顺序调用外部Web服务A104和外部Web服务B105的过程的Web服务流描述文档。附图标记107表示外部Web服务A的Web服务接口描述文档,附图标记108表示外部Web服务B的Web服务接口描述文档。后面将详细说明这些描述文档的结构。
下面说明由Web服务流处理设备102和切换处理单元103进行的处理。首先,Web服务流处理设备102读取Web服务流描述文档106,并且根据Web服务流描述文档106中描述的内容开始流处理。然后,Web服务流处理设备102顺序执行Web服务流描述文档106中描述的内容,直到涉及调用外部Web服务A104的描述内容为止。
接着,Web服务流处理设备102生成请求SOAP消息A109,并且将请求SOAP消息A109发送至外部Web服务A104。外部Web服务A104进行处理,并且将作为该处理的结果的应答SOAP消息A110发送至Web服务流处理设备102。Web服务流处理设备102接收应答SOAP消息A110,从该消息中提取必要的数据,并且生成请求SOAP消息B111。其后,访问外部Web服务B105。
此时,由于切断了安装外部Web服务B105的服务器装置的电力供应这一情况,因而认为外部Web服务B105已停止。在这种情况下,由于没有从外部Web服务B105接收到应答112,因此Web服务流处理设备102判断为发生了错误。以这种方式,如果对外部服务的访问发生错误,则Web服务流处理设备102向切换处理单元103发送错误通知。
在接收到该错误通知时,切换处理单元103获得发生错误的外部Web服务B105的Web服务接口描述文档108。Web服务接口描述文档108中描述的端点(end point)表示服务在网络上的位置。然后,切换处理单元103将Web服务接口描述文档108中描述的端点转换成表示MFP101中的作为虚拟服务的内部服务的位置的端点。
存储关于外部Web服务B105的转换前的端点。其后,根据转换了端点的Web服务接口描述文档108自动生成内部Web服务B115。在自动生成了内部Web服务B115之后,Web服务流处理设备102再次执行错误发生时正执行的流处理。这里,重新读取Web服务接口描述文档108,由于更新了端点,因而更新了访问目的地。
以这种方式,Web服务流处理设备102访问内部Web服务B115,并且发送请求SOAP消息B116(与请求SOAP消息B111相同)。此后,内部Web服务B115自动生成调用方可解释的应答SOAP消息虚拟B117,并且发送应答SOAP消息虚拟B117。换句话说,内部Web服务B115代替外部Web服务B105发送虚拟应答SOAP消息。
结果,即使在Web服务流处理设备102访问外部Web服务时发生错误,流处理也不停止,而是可以执行Web服务流描述文档106中描述的下一流处理。此后,切换处理单元103监视外部Web服务B105(118)。
例如,根据Web服务接口描述文档108自动生成存根(stub),并且通过重复访问切换处理单元103所存储的端点,检查外部Web服务B105的应答性。切换处理单元103通过以恒定间隔或不规则地重复该操作来监视外部Web服务B105,直到重新启动外部Web服务B105为止。
在由于从外部Web服务B105接收到对于访问的应答而确认重新启动了外部Web服务B105时,切换处理单元103恢复Web服务接口描述文档108中的端点。结果,Web服务流处理设备102可以再次与外部Web服务B105通信。
接着,参考图2说明切换处理单元(用于自动切换外部服务调用处理的服务流处理单元)103进行的处理的具体内容。图2是示出切换处理单元103的内部处理配置的图。切换处理单元103包括错误通知接收处理单元201、服务发布处理单元202和外部服务监视处理单元203。
当Web服务流处理设备102对外部Web服务B105进行访问211时,如果外部Web服务B105由于装置故障或其它原因而已经停止,则接收不到对于访问211的应答212。在这种情况下,Web服务流处理设备102解释为在外部Web服务B105中发生了错误。然后,Web服务流处理设备102将发生了错误的情况与关于试图访问的外部Web服务B105的信息一起通知错误通知接收处理单元201。
错误通知接收处理单元201向服务发布处理单元202通知关于发生了错误的外部Web服务B105的信息。服务发布处理单元202首先指定通过Web服务接口描述文档108中描述的、指示外部Web服务B105的网络位置的端点所表示的位置。接着,服务发布处理单元202将Web服务接口描述文档108中描述的端点转换成表示内部Web服务的网络位置的端点,并且向MFP101发布该内部Web服务的端点。Web服务流处理设备102和切换处理单元103安装在MFP101中。还存储转换前的端点信息(表示外部Web服务B105的位置)。
这里,服务发布处理单元202根据转换了端点的Web服务接口描述文档108自动生成内部Web服务B115,并且发布内部Web服务B115作为服务。然后,服务发布处理单元202将Web服务接口描述文档108和所存储的表示外部Web服务B105的端点信息传送至外部服务监视处理单元203。
结果,外部服务监视处理单元203开始监视外部Web服务B105的状态。在自动生成了内部Web服务B115之后,Web服务流处理设备102再次执行错误发生时正执行的流处理。此时,重新读取Web服务接口描述文档108,从而自动访问通过更新后的端点所表示的访问目的地。因此,可以访问内部Web服务B115,并且可以从内部Web服务B115接收应答。
这样,即使在Web服务流处理设备102访问外部Web服务B105时发生错误,流处理也不停止,而是可以执行Web服务流描述文档106中描述的下一流处理。
在正执行内部Web服务B115的处理时,外部服务监视处理单元203继续监视外部Web服务B105。例如,监视方法是如下方法:根据Web服务接口描述文档108自动生成存根,并且通过重复访问由服务发布处理单元202所存储的端点,检查外部Web服务B105的应答性。外部服务监视处理单元203通过以恒定间隔重复该操作来监视外部Web服务B105,直到重新启动外部Web服务B105为止。
此后,在由于从外部Web服务B105接收到对于访问的应答而确认重新启动了外部Web服务B105时,外部服务监视处理单元203通知服务发布处理单元202重新启动了外部Web服务B105。服务发布处理单元202将Web服务接口描述文档108中描述的端点恢复成所存储的表示外部Web服务B105的网络位置的端点。
此外,服务发布处理单元202停止发布内部Web服务B115,并且删除内部Web服务B115的所有信息。此后,Web服务流处理设备102读取Web服务接口描述文档108。因此,可以访问已重新启动的外部Web服务B105,并且作为访问结果,可以再次接收正常应答。
下面利用具体数据详细说明切换处理单元103进行的处理。
图3A和3B是示出Web服务流描述文档106及其具体例子303的图。如图3A和3B所示,Web服务流描述文档106包括声明部分301和逻辑部分302,其中,声明部分301描述程序方面的变量声明等,逻辑部分302描述流处理逻辑等。
声明部分301描述信息311和Web服务流处理中所使用的变量信息312,其中,信息311是用于指定Web服务流描述文档106的信息和用于指定作为调用目标的Web服务的接口描述文档的信息。
传统上,逻辑部分302描述流处理的所有内容,例如对于从客户端接收请求消息的描述和对于向客户端发送应答消息的描述,然而,这里省略了这些信息。
信息321描述以下处理的内容:调用外部Web服务A,使外部Web服务A进行处理,并且接收作为该处理的结果的应答消息。信息322描述以下处理的内容:从所接收的应答消息中提取处理结果,并且生成外部Web服务B可解释的请求消息。信息323描述以下处理的内容:调用外部Web服务B,使外部Web服务B进行处理,并且接收作为该处理的结果的应答消息。信息324描述以下处理的内容:从所接收的应答消息中提取处理结果,并且生成下一外部Web服务可解释的请求消息。
附图标记303表示Web服务流描述文档106的具体例子。在该例子中,以称为WS-BPEL的语言描述具体例子303,其中,WS-BPEL是作为用于以XML文档描述Web服务处理流的标准规范的语言。WS-BPEL是Web服务业务流程执行语言的缩写。XML是可扩展标记语言的缩写。下面是对Web服务流描述文档106的结构和Web服务流描述文档303的比较。
信息331对应于信息311的描述内容,并且描述用于指定Web服务流描述文档的信息以及用于指定作为调用目标的Web服务A104和Web服务B105的接口描述文档(WSDL文档)的信息。这里,Namespace描述为<process>(处理)标签的属性值。信息332对应于变量信息312的描述内容,并且描述<variable>(变量)标签,其中,每一<variable>标签描述在执行流处理时所使用的消息变量的类型信息。
信息333对应于信息321的描述内容,并且包括描述以下处理的内容的<invoke>(调用)标签:调用外部Web服务A,并且接收作为使得执行处理的结果的应答消息。信息334对应于信息322的描述内容,并且描述以下处理的内容:基于XPath和使用XPath从接收到的应答消息中提取的处理结果,生成外部Web服务B可解释的请求消息。在<assign>(分配)标签等中描述该处理内容。
信息335对应于信息323的描述内容,并且描述以下处理的内容:调用外部Web服务B,并且接收作为使得执行处理的结果的应答消息。在<invoke>标签中描述该处理内容。信息336对应于信息324的描述内容,并且描述以下处理的内容:基于XPath和使用XPath从接收到的应答消息中提取的处理结果,生成随后要调用的外部Web服务可解释的请求消息。在<assign>标签等中描述该处理内容。
在WS-BPEL中,将与逻辑部分302的描述内容相对应的<assign>标签和<invoke>标签等称为“活动”。这些标签是Web服务流处理的抽象表现,例如,<assign>标签用于消息处理和转换,<invoke>标签用于调用外部Web服务。在本实施例中,说明在执行信息335中的调用活动时发生错误的情况。
如果执行信息335中的调用活动,并且没有接收到对于外部服务的访问的应答,则由于不可能移动至信息336中所表示的下一活动的处理,因而流处理停止在该点。本实施例实现防止这些流处理中途停止。
下面使用以WSDL描述的Web服务接口描述文档108的具体例子,说明服务发布处理单元202进行的处理的内容。
图4A和4B是示出外部Web服务B的Web服务接口描述文档108的具体例子401的图。在信息402中,表示外部Web服务B105的网络位置的端点信息403被描述为WSDL<address>(地址)标签。服务发布处理单元202将该端点信息转换成表示自动生成的内部Web服务B115的网络位置的端点信息404。由于在MFP101内发布内部Web服务B115,因而端点信息404表示MFP101的网络位置。
接着说明内部Web服务B115响应于来自Web服务流处理设备102的访问所发送的应答405。在WSDL401中,在进行请求时Web服务B105可解释的消息的类型和关于响应于请求所发送的消息的类型的信息被描述为XML Schema 406。服务发布处理单元202自动生成内部Web服务B115,从而能够以与实际Web服务B105交换消息的方式相同的方式交换SOAP消息。
因为该原因,来自内部Web服务B115的应答405是SOAP消息。信息407描述在生成应答时要使用的消息的类型,并且内部Web服务B115使用信息407自动生成SOAP消息408。由于内部Web服务B115不实际进行处理,因而,例如,生成SOAP消息以包括不包含任何数据的如信息409所示的<resultdata>(结果数据)标签。另外,可以通过信息407中的<xsd:elementname=″resultdata″type=″xsd:string″/>解释出:包含在<resultdata>标签中的信息的类型是串信息。还可以插入任意字符串,并且作为应答发送该字符串。如上所述,内部Web服务B115代替外部Web服务B105发送虚拟应答SOAP消息408。
结果,Web服务流处理设备102接收作为应答405的SOAP消息408,从而可以在该接收之后执行流处理而不会使处理停止在该点。
下面参考图5说明外部服务监视处理单元203进行的处理的例子。图5是示出根据实施例1由外部服务监视处理单元203进行的处理的流程图。首先,在S501,从服务发布处理单元202获得Web服务接口描述文档108和表示外部Web服务B105的端点信息。然后,基于所获得的信息生成用于访问外部Web服务B105的存根。
接着,在S502,使用在S501中生成的存根访问外部Web服务B105。然后,在S503,对于是否从外部Web服务B105接收到了应答进行判断。如果没有接收到应答,则处理返回至S502,并且重复上述处理。
另一方面,作为S502中进行的访问的结果,如果重新启动了外部Web服务B105,并且接收到了应答,则S503的判断结果为接收到了应答,并且处理进入S504。在S504,将表示要恢复Web服务接口描述文档108中的端点描述的通知发送至服务发布处理单元202。
根据实施例1,即使Web服务流处理设备访问由于发生故障而已停止的外部Web服务,处理也继续而不会停止在该点。另外,对于服务流描述文档来说,不必描述在错误的情况下要进行的复杂的回避处理,从而减少了人们创建服务流描述文档所需的时间和精力,并且降低了人力成本。
下面参考附图详细说明本发明的实施例2。类似于实施例1,在实施例2中,将外部服务作为Web服务进行处理。
在实施例1中,外部服务监视处理单元203监视是否接收到了对于外部Web服务B105的访问的应答。实施例2描述了在下面的情况下所进行的处理:从外部提供结束监视的判断基准,并且基于该判断基准结束监视。
应该注意,MFP101、Web服务流处理设备102和切换处理单元103的结构与图1和2所示的实施例1中所述的相应结构相同,因此省略对其的说明。
图6是示出根据实施例2由外部服务监视处理单元203进行的处理的流程图。类似于实施例1,在S502,作为访问外部Web服务B105的结果,从外部Web服务B105接收图6所示的SOAP消息611。SOAP消息611在<env:Body>标签中包括<env:Fault>标签612。
换句话说,SOAP消息611是SOAP Fault(SOAP错误)。SOAPFault是在下面的情况下发送至访问方的SOAP消息:访问方访问Web服务,并且Web服务接收到请求,但是在Web服务所进行的处理中发生错误。
在SOAP Fault中,<env:Code>标签613表示错误的原因是请求方侧的问题还是Web服务侧的问题。在该例子中,<env:Value>标签的值为表示问题在Web服务B105侧的“Receiver”(接收方)。如果<env:Value>标签的值为“Sender”(发送方),则问题在请求方侧(Web服务流处理设备102)。
请求方侧的问题的例子包括由请求方生成的请求SOAP消息不符合规范的情况。这样,如果接收到了SOAP消息611,在S503中用于判断是否接收到了应答的处理中,判断为接收到了应答。
另外,在图6中,附图标记614表示在MFP101中设置的错误条件设置信息的例子(例如,以XML格式描述),值“SOAPFault”被描述为<message>(消息)标签615的值,并且值“Receiver”被描述为<code>(代码)标签616的值。
在S601,读取错误条件设置信息614,并且如果SOAP消息为SOAP Fault,则确定要进行错误判断,此外,故障的原因在Web服务(Receiver)侧。因为该原因,在S602中,进行错误判断处理,并且基于SOAP消息611和错误条件设置信息614,对于SOAP消息611仍判断为发生了错误。结果,处理返回S502,并且重复上述处理。
根据实施例2,在实施例1中进行的外部服务监视处理中,提供来自外部的错误条件设置信息,从而使得即使从外部服务接收到了应答,也能够控制是否继续监视。
下面参考附图详细说明本发明的实施例3。实施例1和实施例2说明了这样的例子,在该例子中,将用于自动切换外部服务调用处理的服务流处理单元安装在装置中,具体地,安装在MFP中。然而,本发明不局限于此,并且还可以应用于信息处理设备(计算机)。
图7是示出用作根据实施例3的流处理设备的信息处理设备的典型结构的图。具体地,图7示出执行实现上述实施例的功能性的软件的信息处理设备的典型硬件结构。
在硬件结构方面,该信息处理设备包括输入装置701、显示装置702、存储介质驱动装置703、ROM705、RAM706、CPU或MPU707、接口装置708和HD(硬盘)709。输入装置701由信息处理设备的操作者操作的键盘或鼠标等构成,并且用于向信息处理设备输入各种类型的操作信息等。显示装置702由信息处理设备的操作者使用的显示器等构成,并且用于显示各种类型的信息(或画面)等。
接口装置708是将信息处理设备连接到网络等的接口。例如,通过CD-ROM等存储介质704,或者通过网络等进行下载,将与上述处理等有关的程序和Web服务流描述文档等提供至信息处理设备。将存储介质704放置在存储介质驱动装置703中,并且通过存储介质驱动设备703将程序从存储介质704安装到HD709。
ROM705存储例如在向信息处理设备通电时首先读取的程序。RAM706是信息处理设备的主存储器。CPU707通过从HD709读取程序、将程序存储在RAM706中、并且执行程序,实现上述处理内容。除程序以外,HD709还可以存储Web服务流描述文档和Web服务接口描述文档等。
尽管参考典型实施例说明了本发明,但是应该理解,本发明不局限于所公开的典型实施例。所附权利要求书的范围符合最宽的解释,以包含所有这类修改、等同结构和功能。

Claims (10)

1.一种服务流处理设备,包括:
请求单元,其根据服务流描述文档和接口描述文档,请求网络上的服务进行处理;
接收单元,其从所述服务接收应答;
生成单元,其生成与所述服务相对应的代理服务;以及
改变单元,如果所述接收单元没有接收到正常应答,则所述改变单元将所述接口描述文档中描述的对所述服务的请求的目的地改变成所述代理服务。
2.根据权利要求1所述的服务流处理设备,其特征在于,
所述请求单元根据改变了所述目的地的接口描述文档,请求所述代理服务进行处理。
3.根据权利要求1所述的服务流处理设备,其特征在于,
如果在所述服务流描述文档中描述的服务流的第一处理期间,所述接收单元没有接收到正常应答,则所述请求单元执行所述服务流描述文档中描述的服务流的第二处理,并且在所述第二处理中,根据改变了所述目的地的接口描述文档,请求所述代理服务进行处理。
4.根据权利要求1所述的服务流处理设备,其特征在于,
所述生成单元生成与所述服务的接口描述文档相对应的、所述服务的代理服务。
5.根据权利要求1所述的服务流处理设备,其特征在于,
所述生成单元在所述服务流处理设备内生成所述代理服务。
6.根据权利要求1所述的服务流处理设备,其特征在于,
如果所述接收单元从网络上的所述服务接收到了预定应答,则所述改变单元将所述服务的接口描述文档中描述的对所述服务的请求的目的地恢复成网络上的所述服务。
7.根据权利要求6所述的服务流处理设备,其特征在于,
如果对所述服务的请求的目的地恢复成了网络上的所述服务,则所述请求单元执行所述服务流描述文档中描述的服务流的处理,并且在所述服务流的处理中,根据所述目的地恢复成了网络上的所述服务的接口描述文档,请求网络上的所述服务进行处理。
8.一种由服务流处理设备执行的服务流处理方法,包括以下步骤:
根据服务流描述文档和接口描述文档,请求网络上的服务进行处理;
接收步骤,用于从所述服务接收应答;
生成与所述服务相对应的代理服务;以及
如果在所述接收步骤中没有接收到正常应答,则将所述接口描述文档中描述的对所述服务的请求的目的地改变成所述代理服务。
9.根据权利要求8所述的服务流处理方法,其特征在于,还包括如下步骤:根据改变了所述目的地的接口描述文档,请求所述代理服务进行处理。
10.根据权利要求8所述的服务流处理方法,其特征在于,还包括如下步骤:如果从网络上的所述服务接收到了预定应答,则将所述服务的接口描述文档中描述的对所述服务的请求的目的地恢复成网络上的所述服务。
CN200910150062A 2008-06-30 2009-06-30 服务流处理设备和方法 Pending CN101621544A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008171233A JP5134456B2 (ja) 2008-06-30 2008-06-30 サービスフロー処理装置及びサービスフロー処理方法
JP2008171233 2008-06-30

Publications (1)

Publication Number Publication Date
CN101621544A true CN101621544A (zh) 2010-01-06

Family

ID=41448837

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910150062A Pending CN101621544A (zh) 2008-06-30 2009-06-30 服务流处理设备和方法

Country Status (3)

Country Link
US (1) US20090327454A1 (zh)
JP (1) JP5134456B2 (zh)
CN (1) CN101621544A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252321A (zh) * 2013-06-25 2014-12-31 精工爱普生株式会社 打印控制服务器以及打印系统

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9258391B2 (en) * 2009-05-29 2016-02-09 Canon Kabushiki Kaisha Processing method and apparatus
EP2572291A4 (en) * 2010-05-19 2013-12-11 Akamai Tech Inc RAND SERVER HTTP POST NEWS PROCESSING
US20110295646A1 (en) * 2010-05-26 2011-12-01 Sap Ag Service delivery management for brokered service delivery of service groups
US10560541B2 (en) * 2010-05-26 2020-02-11 Sap Se Service delivery management for brokered service delivery
JP2012053511A (ja) * 2010-08-31 2012-03-15 Canon Inc サーバ装置、情報処理装置、サービス処理装置、ネットワークシステム、ジョブ処理方法及びプログラム
US8719824B2 (en) * 2011-08-03 2014-05-06 Raytheon Company Dynamically configurable command and control systems and methods
CN107423105A (zh) * 2017-06-19 2017-12-01 上海高顿教育培训有限公司 一种接口文档的自动生成方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030005078A1 (en) * 2001-06-28 2003-01-02 Turicchi Thomas Edwin Apparatus and method for providing user-requested content through an alternate network service
WO2005125056A1 (en) * 2004-06-22 2005-12-29 Zte Corporation A method for service connection setup and service resume protection in optical network
CN1784661A (zh) * 2003-05-15 2006-06-07 国际商业机器公司 分布式web服务的上下文中的自主故障转移

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6414368B1 (en) * 1982-11-26 2002-07-02 Stmicroelectronics Limited Microcomputer with high density RAM on single chip
US20010037405A1 (en) * 2000-04-07 2001-11-01 Sideek Sinnathambi Mohamed Wireless web generation from conventional web sites by pattern identification and dynamic content extraction
JP2002207601A (ja) * 2001-01-05 2002-07-26 Toshiba Corp 制御装置
US8126959B2 (en) * 2001-06-28 2012-02-28 International Business Machines Corporation Method and system for dynamic redistribution of remote computer boot service in a network containing multiple boot servers
JP2004288067A (ja) * 2003-03-24 2004-10-14 Fuji Xerox Co Ltd 連携処理装置、連携処理方法及びプログラム
US7562254B2 (en) * 2003-07-01 2009-07-14 International Business Machines Corporation Checkpointing and restarting long running web services
US7584500B2 (en) * 2003-11-19 2009-09-01 Hughes Network Systems, Llc Pre-fetching secure content using proxy architecture
DE602006012773D1 (de) * 2005-10-03 2010-04-22 Sap Ag Datenverarbeitungssystem und Verfahren zur Spiegelung der Bereitstellung von Identifikatoren
JP2007334717A (ja) * 2006-06-16 2007-12-27 Univ Nihon 分散オブジェクトの高信頼化方式
CN101127655B (zh) * 2006-08-18 2012-06-06 国际商业机器公司 集成现有基于万维网的系统的方法和系统
US7840660B1 (en) * 2007-08-29 2010-11-23 Mcafee, Inc. System, method, and computer program product for determining whether a process identified utilizing a first proxy is associated with an additional proxy
US8032588B2 (en) * 2008-06-23 2011-10-04 International Business Machines Corporation System and method for hosting one or more versions of a service using a service proxy

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030005078A1 (en) * 2001-06-28 2003-01-02 Turicchi Thomas Edwin Apparatus and method for providing user-requested content through an alternate network service
CN1784661A (zh) * 2003-05-15 2006-06-07 国际商业机器公司 分布式web服务的上下文中的自主故障转移
WO2005125056A1 (en) * 2004-06-22 2005-12-29 Zte Corporation A method for service connection setup and service resume protection in optical network

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104252321A (zh) * 2013-06-25 2014-12-31 精工爱普生株式会社 打印控制服务器以及打印系统
CN104252321B (zh) * 2013-06-25 2017-06-30 精工爱普生株式会社 打印控制服务器以及打印系统

Also Published As

Publication number Publication date
US20090327454A1 (en) 2009-12-31
JP2010009519A (ja) 2010-01-14
JP5134456B2 (ja) 2013-01-30

Similar Documents

Publication Publication Date Title
CN101621544A (zh) 服务流处理设备和方法
US8321546B2 (en) Integrating discovery functionality within a device and facility manager
US7624404B2 (en) Communication method selection for exchanging information between service requester and service provider
US20080140857A1 (en) Service-oriented architecture and methods for direct invocation of services utilizing a service requestor invocation framework
US20040088140A1 (en) Method for communicating diagnostic data
US20080140760A1 (en) Service-oriented architecture system and methods supporting dynamic service provider versioning
US20080120600A1 (en) Exchange Infrastructure System and Method
CN101136941B (zh) 通信系统和通信装置及其控制方法
US20080148287A1 (en) Integrating eventing in a web service application of a multi-functional peripheral
US7500251B2 (en) Method and system for managing programs for web service system
US7680877B2 (en) Implementing a web service application on a device with multiple threads
CA2481099C (en) Exchange infrastructure system and method
US7873647B2 (en) Web services device profile on a multi-service device: device and facility manager
US7426733B2 (en) Automatic program changing method for client program interface
US20080155541A1 (en) Multi-threaded device and facility manager
US20080071916A1 (en) System and method for requesting a web service from a network server
JP2007293503A (ja) デバイス、その制御方法、及びプログラム
JP2009169793A (ja) サービス管理方法とシステムおよびプログラム
EP1959638B1 (en) Integrating discovery functionality within a device and facility manager
US7529837B2 (en) Device and method for changing instruction description, and storage medium storing program for changing instruction
EP1936922A2 (en) Discovery and addition of services in a multi-service device
JP2004139565A (ja) 通信方法
JP2008152342A (ja) 通信ネットワークサービスシステム、装置および方法
US20080071897A1 (en) Method, system, and computer program product for federating the state and behavior of a manageable resource
Caire Jade: Java agents development framework

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: 20100106