当前位置: 首页 > article >正文

如何自定义知行之桥Webhook端口返回的Response消息

一、Webhook端口功能概述

知行之桥的Webhook端口提供灵活的消息响应机制,支持用户通过修改配置文件自定义返回的消息体内容,能够查看是否调用接口成功、数据是否推送成功以及自定义返回给用户端的响应内容。

本指南将详解如何通过脚本配置实现以下需求:

  • 设置JSON/XML等不同格式的响应消息
  • 自定义成功/失败时的返回内容

扩展阅读:Webhook端口使用介绍与演示

二、配置流程详解

创建好Webhook端口后,可以通过POST 方法访问webhook地址,可以看到返回结果的格式。本文以POSTMAN为例:

1. Webhook默认的返回消息

调用成功:

Webhook-response1.png

调用失败:

Webhook-response2.png

点击发送之后可以在知行之桥的Webhook端口的输出页面查看,无论调用成功与否,在该页面都会显示相应的信息。

Webhook-response3.png

调用失败时,在知行之桥EDI系统中,Webhook端口的对应文件会显示Error,且文件内容为空。在其他详细信息页面中可以查看调用失败的错误原因提示:

Webhook-response4.png

2. 自定义返回消息

a. 修改返回的消息类型

比如需要返回JSON,可以直接在访问地址上加上?@json

Webhook-response5.png

b. 修改返回的消息内容

比如,成功时需要返回

{
“TestCode“:”0”,
“TestInfo”:”Success”
}

需要按照以下步骤操作:

1) 首先直接在浏览器访问webhook地址

Webhook-response6.png

2)导出Webhook端口设置

鼠标右键点击Webhook端口,在弹窗中选择 导出端口设置

Webhook-response7.png

3)解压下载的文件,找到解压缩文件夹Public下的webhook.rsb文件进行编辑

Webhook-response8.png

<arc:script xmlns:arc="http://arc.cdata.com/ns/arcscript/2">
 <arc:restrict user="admin" role="cdata_admin,cdata_api"/>
 <arc:info title="Webhook" compileOptions="PreventCSRF=false;X-Frame-Options=Any" desc="Webhook endpoint succesfully invoked.">
 <input name="*"/>
 </arc:info>
 <arc:equals attr="_request.server:REQUEST_METHOD" value="POST" case="ignore"> <!—判断请求类型,此处如果为POST 则为正确 -->
 <arc:set attr="_context.settings:outputformat" value="null"/>
 <arc:set attr="_context.settings:outputformatoptions" value="prevent_error_details"/>
 <arc:set attr="_response.header:Content-Type" value="application/json; charset=utf8"/> <!—设置返回的content-type-->
<!—设置请求正确且成功时的数据内容 -->
 <arc:set attr="_response.write">
{
 "TestCode":"1",
 "TestInfo":"success"
}
 </arc:set>
}
<rsb:set attr="in.connectorId" value="[_meta.arc:connectorid]"/>
<arc:call op="webhookReceive" in="in"/>
 <arc:else>
 <arc:try>
<!-设置请求发送错误时返回的错误信息- -->
 <rsb:set attr="in.connectorId" value="[_meta.arc:connectorid]"/> 
 <arc:catch code="*">
 <arc:set attr="_response.statuscode" value="500" />
 <arc:set attr="_response.statusdescription" value="Internal Server Error" />
 <arc:throw code="[_code]" desc="[_description]" />
 </arc:catch>
 <arc:call op="webhookReceive" in="in"/>
 </arc:try>
 </arc:else>
 </arc:equals>
</arc:script>

4)完成后,将以下解压文件全部重新压缩为zip文件

Webhook-response9.png

5) 选择导入-》自定义导入-》替换所有冲突

Webhook-response10.png

导入文件的时候,如果没有找到ZIP文件可以将弹窗右下角的ARCFLOW文件(.arcflow)更改为 所有文件(.*),即可看到我们刚刚打包好的文件了。

Webhook-response11.png

在 工作区导入 弹窗中选择导入类型为:自定义导入,根据页面指示点击下一步

Webhook-response12.png

将会出现解决导入冲突页面,选择第二项,替换所有冲突,点击导入。

Webhook-response13.png

上传成功后可再次请求Webhook地址,请求成功后,Webhook端口返回的Response消息如下:

Webhook-response14.png

请求失败时,Webhook端口返回的Response消息如下:

Webhook-response15.png

如果您希望了解有关EDI对接的相关信息,欢迎交流。

阅读原文


http://www.kler.cn/a/595207.html

相关文章:

  • C#使用SnsPictureBox.dll绘制点,线段、圆、折线、多边形、测量尺等多种图形。
  • 【大模型LLM第十三篇】Agent入门之CoT,self-ask,Plan-and-execute,ReAct串讲
  • 【pytest框架源码分析五】pytest插件的注册流程
  • AtCoder - arc086_d Shift and Decrement分析与实现
  • 深度剖析淘宝拍立淘按图搜索商品API技术规范
  • Hinton提出的知识蒸馏(Knowledge Distillation,简称KD):原理解释和代码实现
  • Babel 从入门到精通(二):Plugin插件和Preset预设配置详解
  • Java多线程与高并发专题——Callable 和 Runnable 的不同?
  • windows单节点验证victoriametrics结合AlertManger实现告警推送webhook
  • 分布式容器技术是什么
  • MySQL:表的增删查改
  • nginx 反向代理 ubuntu
  • 噪声的类型
  • 技术与情感交织的一生 (二)
  • C++11QT复习
  • <el-autocompoete>下拉列表,点击选择之后的操作事件
  • <details>和<summary>标签的用途,如何使用它们实现可折叠内容
  • 如何使用React Router处理404错误页面?
  • 深入解析 C# 中的装饰器模式(Decorator Pattern)
  • Axure项目实战:智慧城市APP(一)(动态面板、拖动效果)