OFTP传输常见问题

Q1:Error building packet to send: Virtual Filename is too long. Must be no larger than 26 characters
A1:OFTP传输文件名不能超过26位,①修改文件名长度;②设置虚拟文件名:在Advanced界面配置Virtual Filename Map为*=test.edi(可根据实际情况配置,支持不同类文件配置不同虚拟文件名)

Q2:SendFile: Server certificate validation failed. Connection aborted
A2:将对方的公钥证书配错了

Q3:test connection报错:Server supplied an invalid password
A3:双方配置发送方的OFTP密码不一致,确认修改

Q4:发送文件报错:File exists and overwrite is set to false.
A4:发送了相同文件,对方不接收

Q5:test connection报错:SignedReceipt is only supported when using OFTP version 2.0
A5:OFTP Version版本问题,改为1.4测试成功

Q6:Failure! Cannot conclude ssl handshake. Cause: Received fatal alert: handshake_failure
A6:没有配置对方的SSL证书

Q7:Secure authentication requirements incompatible
A7:勾选Secure Odette Authentication

Q8:给函数提供的标志无效 (0x80090308);
Received a weak ephemeral Diffie-Hellman key (less that 1054 bites) in sever key change handshake message
A8:SSL连接问题,在profile.cfg增加配置[Application] UseManagedSecurityAPI=true ;[OFTP]AllowDHWeakKeys=True
还不行的话,检查下advanced界面的SSL客户端验证是否选择私钥证书,有时候SSL是要双验证的,客户也要验证我们的证书
或者看下SSL协议版本,尝试勾选TLSv1.0或者1.1或者1.2

Q9:encrypted file not allowed;log中报错: errorCode: 687 description: File was not accepted by the destination.
A9:是对方做了设置,出现此类问题①先TP确认下公钥证书②将log提供给TP确认是否做了限制

Q10:errorCode: 280 description: Error verifying Server certificate: 800B0109 A certification chain
processed correctly but terminated in a root certificate not trusted by the trust provider.
A10:将私钥导入到服务器,解决证书不被信任问题

Q11:OFTP接收文件状态为:Processing,log中报错:Unable to clean up incomplete message [ -> ]: 文件“C:\Users\supplier\AppData\Local\Temp\test1.edi”正由另一进程使用,因此该进程无法访问此文件。
A11:①确认是否有其他程序在监控这个目录下的文件;②确认服务器上是否有安装360等安全软件,将C:\Users\supplier\AppData\Local\Temp加入360等安全软件的白名单

Q12:Resources not available,对方发文件会报找不到证书
A12:在OFTP连接过程中,对方发起了Authentication Challenge验证,配置
Auth Challenge Certificate证书,需要双方都进行配置

Q13:对方发文件报错:SSL Handshake failed: Received close_notify during handshake
我们发文件报错:errorCode: 286 description: Received fatal alert: HANDSHAKE_FAILURE
A13:SSL算法问题,整理一个比较全的SSL算法列表,和客户服务器上log中的做对比,删除所有c02及以上的算法,
在profile.cfg中[OFTP]下添加 SSLEnabledCipherSuites =所有的算法用;隔开,注意修改后在OFTP页面save或者重启服务,重启保险
SSLEnabledCipherSuites = TLS_RSA_WITH_AES_256_CBC_SHA256;TLS_DHE_RSA_WITH_AES_256_CBC_SHA256;TLS_DHE_DSS_WITH_AES_256_CBC_SHA256

Q14:如何设置自动接收对方的文件?
A14:在Advanced界面设置:Connect To Receive为True,还可以设置时间间隔

Q15:修改OFTP的TLS版本:
A15:在Profile.cfg文件中修改SSLEnabledProtocols参数

Q16:Error establishing connection to ‘xxx.xxx.com’ Cannot conclude ssl handshake. Cause: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target.
A16: SSL证书问题,确认下配置的对方的SSL证书

Q17:连接测试报错:Received fatal alert:CERTIFICATE_UNKNOWN
A17:请对方检查证书是否配置正确,是否有设置TLS client authentication

Q18:Could not match the configuration data
A18:OFTP获取的文件有一个是processing的状态,文件没有收到回执所以被转到send目录下发送了,导致OFTP ID不匹配

Q19:对方可以发文件,但我们连接对方时 timeout,尝试在服务器ping和telnet对方端口都是通的,防火墙也没限制,log中显示有的时候(间隔10min)可以连上,但会突然断开连接
A19:在OFTP端口的port.cfg添加: DisconnectAfterEndSession =true

Q20:连接测试成功,我们可以发送,对方发送报错 TLS Connection could not be created. Receiver: ip=/, port=6619, Sender: ip=/, port=6619, Reason: ConnectionException/Exception during handshake[TLS] ,
查看server log显示,建立TLS连接时无法解密文件
A20:修改Profile中UseManagedSecurityAPI = true

### 关于EDI(电子数据交换)及其相关平台 EDI(Electronic Data Interchange,电子数据交换)是一种用于企业间高效、标准化的数据交换技术。它通过特定的通信协议和标准格式实现数据的安全可靠传输,并能够与企业的内部业务系统集成,从而提升整体运营效率[^1]。 #### 常见的EDI平台及相关网站 以下是几个常见的支持EDI功能的平台或解决方案: 1. **Odoo EDI 模块** Odoo 提供了一套开源的 EDI 模块集合,专为企业管理系统的交易流程优化而设计。该模块可以无缝集成到 Odoo 的生态系统中,帮助企业实现高效的电子数据交换[^4]。 2. **GXS Cloud Solutions** GXS 是全球领先的 B2B 集成服务提供商之一,提供全面的 EDI 解决方案。其云服务平台允许企业在不同的贸易伙伴之间快速部署并扩展 EDI 功能。GXS 支持多种传输协议(如 AS2 和 OFTP),并兼容主流的 EDI 标准(如 ANSI X12 和 EDIFACT)[^5]。 3. **Infor Visual EDI** Infor Visual EDI 是一款专注于制造业的企业级 EDI 软件。它提供了灵活的功能配置选项,可满足不同规模企业的需求。此软件还具备强大的自动化能力,减少人为错误的同时提高工作效率[^3]。 4. **Cleo Integration Cloud** Cleo 提供了一个现代化的云端 EDI 平台,帮助客户简化复杂的供应链操作。它的主要特点包括易于使用的界面、广泛的连接器库以及对最新安全标准的支持[^2]。 5. **IBM Sterling B2B Integrator** IBM 的这款产品是一个高度可扩展的 B2B 集成工具包,适用于大型跨国公司的复杂环境。除了传统的 EDI 处理外,Sterling 还能处理 XML 文件和其他新兴的技术形式。 #### 技术细节说明 - **传输协议**: 不同平台可能采用诸如 AS2 或者 OFTP 等加密方式来保障信息在网络上传输期间不被窃取篡改[^5]。 - **数据格式**: 合规性至关重要,因此大多数服务商都严格遵守像 ANSI X12, UN/EDIFACT 这样的国际化规范[^3]。 - **系统集成度**: 成熟的产品往往已经内置 API 接口或者 SDK 工具包以便轻松对接 ERP/MES/WMS 类型的核心应用程序. ```python import requests def send_edi_message(url, payload, headers={'Content-Type': 'application/json'}): """ 发送一个模拟的EDI消息给指定URL地址. 参数: url (str): 对方服务器接受请求的目标链接. payload (dict): 待发送的具体内容字典对象. headers (dict): HTTP头信息,默认JSON类型. 返回值: response object: 来自远程站点对于此次POST调用的结果反馈实例化对象. """ try: res = requests.post(url=url, json=payload, headers=headers) res.raise_for_status() return res.json() # 如果响应体为合法json,则解析返回;否则抛异常 except Exception as e: print(f"Error occurred while sending message:{e}") ``` 以上代码片段展示如何利用 Python 编程语言向目标网址提交一份 JSON 结构化的 EDI 请求样本。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值