Rhapsody集成引擎异常处理-webservice client异常处理

Rhapsody集成引擎异常处理-webservice client异常处理

声明:文章转发至:Rhapsody集成引擎异常处理-webservice client异常处理

Rhapsody集成引擎针对各类不同的通讯点内置了不同的异常处理设置和机制,可结合不同的情况来调整这些设置,以调优和改善整个平台的稳定性和容错率。系统异常处理的完善度和运行稳定程度成正比,异常处理的越完善,运行越稳定。通常集成平台服务响应效率受限于外部系统,即集成平台下游业务系统的响应。一旦下游业务系统发生异常,没有进行响应异常处理时,将直接影响上游系统的处理,如果时间一长,影响范围将一进步扩大,甚至严重时会影响到整个平台。

作为与下游系统对接的“门户”即客户端通讯点,是集成平台整个流程最为关键的环节,其异常处理尤为重要。针对不同的客户端通讯点配备有不同的异常处理设置,接下来我们将重点介绍下webservice client客户端通讯点异常处理。

1、webservice client客户端通讯点(Out-In模式)异常处理配置介绍

当通讯点作为客户端时即Out-In模式,先发出请求-再接收应答模式。一个请求发出在没有接收到响应之前是不会发出下一个请求的,这是数据传输准确性的基本保障。Rhapsody引擎通过对请求的追踪匹配,确保每条数据都能被处理。当出现异常时,可通过如下参数项来配置处理。

1) 客户端无法连接到下游服务时异常反馈设置:Connection Retries:

当出现连接异常时,如下游服务宕机、网络异常等情况,客户端通讯点会自动去重试连接。如上图所示即按照线性的连接方式(Linear)每隔5秒(InitialRetry Delay(ms) 5000),重试无限次数(Number of Retries-Infinite)。无限重试是为了确保一旦下游服务恢复或者网络恢复之后,客户端可以自动连上,而不需要人工干预。

再结合Retriesper Message设置即异常时每条卡在通讯点等待输出队列里面的消息尝试多少次,超过尝试次数之后,将会将该条消息当做异常消息抛出,然后通过后续异常捕获进行异常流程处理。

2) 请求响应超时处理:Out-in Properties:

如果连接正常即下游服务和网络都正常,只是下游系统内部业务逻辑处理异常,比如慢或者业务程序内部处理异常没有响应时,可以设置客户端进行重发,重发超过次数之后,亦可进行异常捕获处理。

2、客户端通讯点异常配置路由

    当客户端通讯点ConnectionRetries--Retries per Message设置了重连次数之后即非Infinite无限模式,以及Out-in Properties—Retry Count设置了重发次数之后即非Infinite无限模式,客户端通讯点就可以进行异常捕获。具体配置如下图所示。

如上图所示,客户端通讯点捕获到的异常,就会通过“小红叉”进行返回。

其次针对具体的方法在客户端通讯点里面,也可以进行异常返回设置。

3、异常测试

1)接口类异常时:下游webservice服务正常即WSDL正常,只是webservice服务接口异常,则可通过operation editor方法配置界面Fault—Return Fault To Route进行异常捕获和返回。

2)连接类异常:当webservice服务停止或者端口异常或者网络异常时,这些异常对于客户端通讯点来说,都属于连接层面的异常,即服务无法连接上。

异常类型代码通过消息属性rhapsody:ErrorCause--connection.retries_exceeded来返回,可根据此异常代码进行后续异常流程进行处理。

3)响应超时异常:当服务网络正常,只是业务内部处理慢或者异常,导致无响应时

正在上传…重新上传取消

客户端通讯点会尝试重发,重发超过次数之后就会抛异常,异常类型代码:rhapsody:ErrorCause--tracking.retries_exceeded,可根据此异常代码进行后续异常流程进行处理。

4)参数类异常:当入参错误时,包括XML结构非法,方法名错误等

如上图XML结构非法,则被视为传输层面的异常。异常类型代码:rhapsody:ErrorCause--transmission.sending。

异常捕获返回之后,可以根据返回的异常类型代码,进行后续的异常流程处理,以确保整个集成平台的稳定性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值