MFT端口主要包括:AS2,OFTP,SFTP,FTP等,覆盖当前EDI传输过程中可能会使用到的几乎所有传输协议。
知行之桥的MFT端口通过提供以下功能扩展了核心端口的文件传输功能:
- 安全的点对点文件传输协议,如AS2、AS4等
- 服务器端支持FTP和SFTP来承载传入连接
- 上传和下载来自云存储提供商的文件,如亚马逊S3、Box、Dropbox、Google Drive、OneDrive、Wasabi等
- 为OFTP、GISB和RNIF交换业务文档提供客户端和服务器端支持
- OpenPGP加密和解密,在传输文件时提供端到端安全性
本文将会为大家介绍在使用MFT端口的过程中,可能会遇到的报错以及解决办法。
AS2
报错1
通过AS2给交易伙伴发送文件报错:Failed to verify key exchange signature
解决办法:
这个报错是SSL/TLS的问题,可以确认下是否按交易伙伴要求勾选了正确的SSL/TLS版本。
如果使用的是知行之桥EDI系统,可以在AS2端口的高级设置选项卡下检查版本是否勾选正确。
报错2
AS2接收文件报错:ERROR: System error: Early EOF
解决办法:
这通常不是一个必然会报的错,在网络不稳定或者文件量比较大的时候可能会出现这个报错。有可能是TP开了HTTP Chunked Encoding,可以请对方关掉这个功能试试。
报错3
AS2对接客户可以成功发送文件,但是接收文件时报错:A signature was expected and not provided.
解决办法:
需要确认下对方是不是没有配置他们自己的签名证书。如果对方不签名,那我们就可以修改AS2端口的配置,去掉“要求签名”。
报错4
AS2发送文件给客户时报错611 MDN错误,如下图:
解决办法:
根据错误提示,是对方解密失败,需要确认下自己配置的对方加密证书,是否和对方的私钥证书是一对。
报错5
AS2可以成功接收文件,但是发送文件时报错:AS2发送文件报错:151 — HTTP protocol error. 500 Internal Server Error Client authentication failed.
解决办法:
需要排查下双方的AS2配置信息是否一致,检查对方是否成功配置了自己的TLS客户端认证证书。
报错6
使用AS2给客户发送文件并成功收到了客户系统回复的MDN,但是处理MDN时报错:The receipt signature could not be verified: Message digest mismatch in signature.
解决办法:
可以分析对方返回的MDN文件,文件格式是否符合AS2协议要求,不过不符合要求则会报错。例如:AS2协议要求MDN换行为0x0D0A,如果对方使用0x0A换行则会报错,联系对方修改后就可以了。
FTP
报错1
之前使用的是RSSBus 上的FTP端口连接下载文件是成功的,但是升级为知行之桥后,使用FTP连接下载报错:FTP protocol error: 500 Unknown command,
解决办法:
在知行之桥上修改FTP端口的配置usemlsd=false就可以了。即从MSLD命令,修改为LIST命令,改变了list方式。
报错2
使用FTP端口上传文件时报错:Unable to send file [xxx.edi],FTP protocol error :451 Failure writing to local file.
解决办法:
有时候也是权限或者网络的原因,有的客户存储文件的磁盘是一个网络磁盘,如果再次重发可以成功,那可能就是当时的网络不稳定导致写文件失败。
报错3
在测试FTP端口时,连接客户FTP Server报错了,log中显示:FTP protocol error: 500 Unknown command.,看起来是不支持MLSD命令,报错信息参考下图:
解决办法:
这是因为 FTP 服务器不支持 MLSD命令。
解决方案1:不使用MSLD命令。在FTP端口,高级设置->特殊设置,配置 usemlsd=false,保存即可。
解决方案2: 升级FTP服务器,让其支持 MLSD命令。
MLSD命令是在RFC 3659中定义的,它引入了机器可读的目录列表格式,使得处理文件和目录信息更加方便和高效。因此,要支持MLSD命令,FTP服务器需要实现RFC 3659中描述的相关功能。
绝大多数现代的FTP服务器软件都支持MLSD命令,尤其是那些基于RFC标准的服务器。这包括了许多常用的FTP服务器软件,例如:
- ProFTPD
- vsftpd (Very Secure FTP Daemon)
- Pure-FTPd
- FileZilla Server
- CrushFTP
这些服务器软件通常都在其较新的版本中支持MLSD命令,因此,如果希望使用MLSD命令,建议将FTP服务器软件更新到最新版本,以确保它支持所需的功能。
OFTP
报错1
OFTP端口和客户进行连接测试、发送文件时都报错Authentication failed: Unable to decrypt message: This certificate cannot be used to decrypt this message. Check the error event for more detailed information. (Code 201),
解决办法:
OFTP是用我们的私钥去解密的,如果解密失败,可以检查对方系统配置的我们的公钥证书和我们自己配置的私钥证书是不是一对,很大可能对方配错了我们的公钥证书。
报错2
我们需要更换OFTP的签名加密证书,同时也请客户那边更新了我们的公钥证书,但是更新后发送文件报错:Received fatal alert:UNKNOWN_CA,是我们新的证书有问题吗?
解决办法:
证书没有问题,是因为交易伙伴不信任我们的CA/根证书,把CA和根证书发给对方就可以了。
报错3
OFTP发送文件报错:ReasonText: No valid certificate found for this signer: The Certificate was revoked.
解决办法:
该error是交易伙伴通过NERP来返回的错误,表示发送数据时进行签名的私钥证书被吊销了。
证书被吊销的原因后很多,比如当证书颁发机构或颁发证书的实体确定证书不再可信时,会发生证书吊销。证书吊销可能是由于私钥被泄露、证书过期或组织状态发生变化等各种原因。
实际原因需联系证书机构确认,另证书一旦被吊销,就只能申请新证书,再调查证书吊销原因的同时,也尽快申请新证书,以便快速回复OFTP2通信。
报错4
我们之前使用的是知行之桥EDI系统2020版本的OFTP端口,当OFTP端口接收文件后,我们会读取这个文件,但是现在升级到了知行之桥2023版本,OFTP接收的文件变成了.eml文件,不是客户发送的原始文件了,请问这个可以修改吗?要回滚到旧版本才可以避免这个问题吗?我们通过OFTP发送给客户的文件会不会也变成.eml的文件?
解决办法:
这是因为2023版本每个端口下的文件默认以message的格式保留的,建议在OFTP端口接收后,添加一个file端口,将接收到的文件放在file端口指定的目录下,这样就不是.eml文件了。当然如果你想让接收到的文件不是.eml,可以修改port.cfg文件中的OutputFormat = raw即可。
报错5
SFTP端口报错:Unable to open the connection: Other end disconnected during key negotiation.
SFTP端口进行测试连接时报错:Unable to open the connection: Other end disconnected during key negotiation. 该如何解决呢?
解决办法:
在SFTP端口port.cfg添加sshmacalgorithms=hmac-sha1就可以了
扩展阅读:EDI是什么?
注:文案部分图片及内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。