php中文网 | cnphp.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 354|回复: 0

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

[复制链接]

2661

主题

2668

帖子

9460

积分

管理员

Rank: 9Rank: 9Rank: 9

UID
1
威望
0
积分
6677
贡献
0
注册时间
2021-4-14
最后登录
2024-5-9
在线时间
672 小时
QQ
发表于 2022-7-1 13:02:23 | 显示全部楼层 |阅读模式
先简单介绍一下同步接口和异步接口
什么是同步接口
同步接口的意思就是发送方发送Message后,接口方处理完成后会立刻返回执行结果给发送方,此为同步接口。
同步接口多用于数据量小,可以立刻处理完成并返回结果的系统。

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

CPI如何创建异步接口
下面我们来说说创建步骤

第一步,我们需要创建一个新的IFlow,大家自行创建即可,这里不详述。
第二步,发送方创建一个Soap的Adapter,参数如下
b458cbe984ba67faf12d904e8514b562_8b6a11d3b74f4fac9e36e689f8b6f08c.png
21eade782e3758ce6a86eb08b841500e_c79ef5974e5a409d9e4852c347d8848d.png
下图是我创建的一个完整示例
6736685ee61b950500c1785251f16102_6e7e93e656544763b2f06c250a06924d.png
其中Content Modifier2记录了发送方发送的时间
Groovy中是一个延时代码,延时时间为3秒
Content Modifier1记录了延时后的发送时间,并创建了一个Body,把发送时间,延时发送时间记录下来
下面是测试
首先我们在Postman中创建一个连接,连接到测试的异步接口
e300b8b571771de039e0518c444dc163_920d3849ec5d47da9b7bf3bd7cc8cee4.png
上图我们看到,接口的执行时间是62ms,发送的body这里没有限制,只要是符合soap规范的body就行
然后我们看看CPI的接口执行情况
c8f13e4e1063802337ab30134c9f7c32_446169f92eae49cbb5864be974eeb75d.png
上图可以看出CPI中这接口执行了3秒多,但是我们的Postman62ms就已经执行完成了
我们再来看看Body
fc44ed722fae4ea1a731b96dd38b85b7_1b1c6cf99b5f4aab9b13c11fe9169d94.png
这样我们就可以简简单单的创建了一个异步执行的接口了





上一篇:国产桌面操作系统开发者平台发布 让更多开发者共同参与...
下一篇:图文看懂JavaScritpt引擎V8与JS执行过程
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|php中文网 | cnphp.com ( 赣ICP备2021002321号-2 )

GMT+8, 2024-5-10 01:59 , Processed in 0.182789 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

申明:本站所有资源皆搜集自网络,相关版权归版权持有人所有,如有侵权,请电邮(fiorkn@foxmail.com)告之,本站会尽快删除。

快速回复 返回顶部 返回列表