8

CPI教程-异步接口创建及使用 - 艺高人胆大

 1 year ago
source link: https://www.cnblogs.com/anter/p/16433746.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

CPI教程-异步接口创建及使用

create by yi
转载请注明出处

先简单介绍一下同步接口和异步接口

什么是同步接口

同步接口的意思就是发送方发送Message后,接口方处理完成后会立刻返回执行结果给发送方,此为同步接口。
同步接口多用于数据量小,可以立刻处理完成并返回结果的系统。

什么是异步接口

异步接口的意思是指发送方发送Message后,接口方会立刻返回是否成功接收信息的返回,一般状态是202 Accepted,但是接收方在接收到Message后,不会立刻执行,或者执行需要一定的时间,没有办法立刻返回执行结果,比较完善的接口会在执行完成后,再请求发送方接口,把数据返回,也有些接口是需要发送方在一定时间后再次执行查询,获取接口执行结果。
异步接口多用于数据处理比较大,或者需要流程处理的系统,比如BPM系统。

CPI如何创建异步接口

下面我们来说说创建步骤

  1. 第一步,我们需要创建一个新的IFlow,大家自行创建即可,这里不详述。
  2. 第二步,发送方创建一个Soap的Adapter,参数如下
    Adaptor1
    Adaptor2
    下图是我创建的一个完整示例
    IFlow
    其中Content Modifier2记录了发送方发送的时间
    Groovy中是一个延时代码,延时时间为3秒
    Content Modifier1记录了延时后的发送时间,并创建了一个Body,把发送时间,延时发送时间记录下来

下面是测试

首先我们在Postman中创建一个连接,连接到测试的异步接口

postman

上图我们看到,接口的执行时间是62ms,发送的body这里没有限制,只要是符合soap规范的body就行
然后我们看看CPI的接口执行情况

Message

上图可以看出CPI中这接口执行了3秒多,但是我们的Postman62ms就已经执行完成了
我们再来看看Body

Body

这样我们就可以简简单单的创建了一个异步执行的接口了


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK