如何自定义知行之桥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对接的相关信息,欢迎交流。

阅读原文

相关推荐
知行EDI1 天前
知行之桥三种接口详解:Webhook、Flow API 与 Admin API
api·edi·电子数据交换·知行之桥·接口调用
知行EDI2 天前
汽车EDI:埃贝赫Eberspächer EDI 需求分析
汽车·需求分析·知行之桥·知行edi·eberspächer edi
北京聚信万通科技有限公司3 天前
汽车行业通过AS2协议实现高效、安全数据对接
安全·edi·电子数据交换·国产自研
知行EDI7 天前
医药EDI:Cencora EDI 需求分析及解决方案
edi·需求分析·知行之桥·知行软件
Sinowintop9 天前
EDI应用灵活扩展:拥抱容器化部署,赋能企业高效数据交换
docker·edi·容器化·扩展·数据交换·国产edi·弹性部署
知行EDI9 天前
驱动供应链升级:HARMAN EDI对接需求全景分析与实施规划
edi·需求分析·知行之桥·harman
北京聚信万通科技有限公司10 天前
易连EDI-EasyLink无缝集成之消息队列Kafka
kafka·edi·国产自研·easylink
Sinowintop14 天前
易连EDI-EasyLink SFTP文件传输
运维·服务器·网络·sftp·edi·ftp·国产edi软件
Sinowintop15 天前
汽车制造行业EDI传输协议:OFTP2
汽车·edi·制造·国产edi·oftp·oftp2·数据交换平台
知行EDI25 天前
使用知行之桥®系统V2025+默认API接口
api·edi·知行之桥·知行edi