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

一、Webhook端口功能概述

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

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

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

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

二、配置流程详解

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

1. Webhook默认的返回消息

调用成功:

调用失败:

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

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

2. 自定义返回消息

a. 修改返回的消息类型

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

b. 修改返回的消息内容

比如,成功时需要返回

复制代码
{
"TestCode":"0",
"TestInfo":"Success"
}

需要按照以下步骤操作:

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

2)导出Webhook端口设置

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

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

复制代码
<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文件

  1. 选择导入-》自定义导入-》替换所有冲突

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

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

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

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

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

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

阅读原文

相关推荐
知行EDI22 天前
如何通过API从知行之桥上传下载PDF文件
pdf·api·edi·知行edi
知行EDI2 个月前
家居EDI:Hom Furniture EDI需求分析
edi·需求分析·知行软件·知行edi·hom furniture
知行EDI2 个月前
家居 EDI:Haverty‘s EDI 需求分析
edi·需求分析·知行之桥·知行edi
知行EDI2 个月前
Orgill EDI需求分析
edi·需求分析·电子数据交换·知行之桥·零售edi
知行EDI2 个月前
DELL EDI:需求分析及注意事项
edi·需求分析·电子数据交换·知行edi
知行EDI2 个月前
EDI安全:2025年数据保护与隐私威胁应对策略
安全·edi·电子数据交换·知行软件
知行EDI3 个月前
Dot Foods EDI 需求分析及对接流程
edi·需求分析·电子数据交换·知行之桥·知行edi
知行EDI4 个月前
Master EDI 项目需求分析
edi·电子数据交换·知行之桥·知行edi
知行EDI5 个月前
KION Group EDI 需求分析
edi·需求分析·电子数据交换·edi系统