知行之桥EDI系统的AS2端口,负责接收和发送EDI文件。企业通过AS2端口接收来自交易伙伴的文件时,其文件名会和交易伙伴发出的文件名完全一致;如果交易伙伴发过来的请求中没有文件名或者文件名没有出现在AS2 协议规定的位置,AS2端口会使用当前时间戳作为文件名。当然企业也可以在EDI系统中根据实际要求,对文件名进行重命名。那怎样进行文件名修改操作呢?
为了方便为大家进行演示,我们先在知行之桥EDI系统中配置AS2自发自收。
配置AS2自发自收
1.个人设置页面,配置AS2 ID,私钥证书,私钥证书密码,复制下方的接收URL。
AS2 ID:My_AS2_ID
私钥证书:Arc.pfx
私钥证书密码:AA123456
2.工作流界面,创建一个AS2端口,设置页面中,在交易伙伴信息下配置AS2 ID、交易伙伴URL、以及交易伙伴证书。
AS2 ID:My_AS2_ID
交易伙伴URL:http://localhost:8001/pub/Receive.rsb
交易伙伴证书:Arc.cer
3.在AS2端口的输入选项卡下,点击更多>创建测试文件,即可生成如下图红色方框中的文件。
由于我们前两步设置了自发自收,因此我们在输入选项卡下创建的测试文件发出之后,可以在输出选项卡下看到文件的接收结果。如图所示:
可以看到我们在输入选项卡下发出的文件名是与输出选项卡下接收的文件名完全一致,不会进行任何修改。
修改AS2接收的文件名
如果需要对AS2接收的文件名进行修改,可以在AS2端口的高级设置选项卡下配置 本地文件名格式。
在本地文件名格式中,配置保存本地文件名时的宏,例如:
%ConnectorId%-%Filename%.
即端口号-文件名的格式。此外还支持如下宏:
%ConnectorID%
%Filename%
%FilenameNoExt%
%EXT%
%ShortDate%
%LongDate%
%RegexFilename:%
%DateFormat:%
%AS2MessageId%
%IncomingFilename%
%AS2To%
%AS2From%
如何给AS2接收的文件名上加上时间戳?
在高级设置选项卡下设置本地文件名格式为:
%DateFormat:yyyyMMddHHmmss%.edi
%DateFormat:yyyyMMddHHmmss%是将日期格式设置为年月日时分秒
.edi是将文件后缀设置为.edi
按照如上方式配置之后重新在输入选项卡下上传文件,得到的结果如图所示:
文件名中成功加上了时间戳,文件后缀被统一修改为.edi。
如何给AS2接收的文件名上加上该AS2端口号?
企业通过知行之桥EDI系统对接多个交易伙伴,如果都通过AS2端口接收文件,要想区分各个交易伙伴发来的文件可以在AS2端口接收的文件名上加上该AS2端口号。
知行之桥EDI系统中,对接不同的交易伙伴会使用不同的AS2端口,因此在接收的文件名中写入AS2端口号即可区分各个交易伙伴发来的文件。
在本地文件名格式中进行如下配置:
%DateFormat:yyyyMMddHHmmss%-%ConnectorId%-%Filename%
在输出选项卡下,得到的文件名:20230411154600-AS21-test_data_1.edi如下图所示:
- 20230411154600为文件的时间戳,表示2023年4月11日15时46分00秒接收到文件
- AS21为接收文件的端口号,对接不同交易伙伴时,我们可以在创建AS2端口的时候将端口号命名为:交易伙伴名称_AS2,例如:CompanyA_AS2等。
- test_data_1.edi为交易伙伴发过来的原始文件名
如何给AS2接收的文件名上加上文件的接收方ID或发送方ID?
我们也可以通过简单的配置,将文件的接收方ID或者发送方ID写入AS2接收的文件名中。
在本地文件名格式中进行如下配置:
%AS2From%-%AS2To%-%DateFormat:yyyyMMddHHmmss%-%ConnectorId%-%Filename%
得到的结果如下:
由于我们在最开始设置的是自发自收,因此文件的发送方ID和接收方ID是一样的。都是My_AS2_ID。在实际的项目中,企业的AS2 ID是唯一的,可以据此对文件进行标识。
企业可以根据实际需求对上文中提到的公式进行排列组合,从而获得项目需要的文件名格式。
如果你希望了解更多 EDI 信息,请参阅: EDI 是什么?
阅读原文