《排错技巧》系列文章,主要针对论坛上问答帖问题排查的过程进行分享,
通过实际场景,教大家遇到问题时,具备基本的问题排查概念。
问题描述
全异步服务A中业务逻辑调用其他全异步服务B(稳态)。
1.稳态全异步服务B能正常回调返回数据
2.服务A请求回复正常,但是回调服务没有执行。
服务编排中ESP节点:调用稳态服务(异步)
全异步返回异常
错误信息
排错技巧
步骤一:定位是服务端没有正确返回,还是回调callback接口异常
从地中台的记录可以看到,有触发回调接口,但出现异常:回调报错,产品名称异常
步骤二:callback接口是否正确实作
📌 补充:回调callback接口,不需要注册ESP。
callback是回调固定的restful接口,
服务容器接到请求后,dap框架会根据callback id找到对应的java method
Callback 接口编写范例
呼叫时指定回调接口
callback接口定义(需再实现)
原问题定位与解决
问题定位
问题排查后,主要的问题是在于返回了错误的产品类别,导致服务调用失败。
主要涉及两个点,
1.呼叫服务时没带正确的产品信息
2. 地面端被呼叫的产品,需要能够识别回调的产品,才能正确回调。
问题解决
- 云端请求头中HostProd和HostId改为我们产品编号

- 稳态产品增加了产品:spa-icd
调整可正常回调接口
以上就是本期的分享,谢谢收看。