CPI教程-异步接口创建及使用
CPI教程-异步接口创建及使用
create by yi
转载请注明出处
先简单介绍一下同步接口和异步接口
什么是同步接口
同步接口的意思就是发送方发送Message后,接口方处理完成后会立刻返回执行结果给发送方,此为同步接口。
同步接口多用于数据量小,可以立刻处理完成并返回结果的系统。
什么是异步接口
异步接口的意思是指发送方发送Message后,接口方会立刻返回是否成功接收信息的返回,一般状态是202 Accepted,但是接收方在接收到Message后,不会立刻执行,或者执行需要一定的时间,没有办法立刻返回执行结果,比较完善的接口会在执行完成后,再请求发送方接口,把数据返回,也有些接口是需要发送方在一定时间后再次执行查询,获取接口执行结果。
异步接口多用于数据处理比较大,或者需要流程处理的系统,比如BPM系统。
CPI如何创建异步接口
下面我们来说说创建步骤
- 第一步,我们需要创建一个新的IFlow,大家自行创建即可,这里不详述。
- 第二步,发送方创建一个Soap的Adapter,参数如下
下图是我创建的一个完整示例
其中Content Modifier2记录了发送方发送的时间
Groovy中是一个延时代码,延时时间为3秒
Content Modifier1记录了延时后的发送时间,并创建了一个Body,把发送时间,延时发送时间记录下来
下面是测试
首先我们在Postman中创建一个连接,连接到测试的异步接口
上图我们看到,接口的执行时间是62ms,发送的body这里没有限制,只要是符合soap规范的body就行
然后我们看看CPI的接口执行情况
上图可以看出CPI中这接口执行了3秒多,但是我们的Postman62ms就已经执行完成了
我们再来看看Body
这样我们就可以简简单单的创建了一个异步执行的接口了