OFTP 端口

Version 26.2.9636


OFTP 端口


OFTP 端口通过 OFTP 协议发送和接收文件。

核心功能

  • 支持 Odette FTP,适用于汽车和制造业的安全文件交换
  • 支持基于证书加密、签名和压缩的双向文件传输
  • 通过 SSID/SFID 配置,实现经由中间 OFTP 实体的消息路由
  • 具备自动重试与重发逻辑,支持同步及异步回执处理

概览

进行 OFTP 连接需要配置两处地方: 个人设置界面的 OFTP 个人设置选项卡,以及工作流界面的 OFTP 端口。在 OFTP 个人设置部分,本地 OFTP 实体应通过 Odette Id 进行标识,并应配置本地 OFTP 服务器的设置。每个 OFTP 端口应配置为与单个贸易伙伴建立连接。

有关通过 OFTP 实体路由 OFTP 消息的信息,请参考消息路由 部分.

个人设置

OFTP 个人设置、OFTP 端口设置必须在建立 OFTP 连接之前完成配置。

OFTP 个人设置

个人身份标识

识别本地个人设置

  • Odette Id(SSID) Odette 唯一身份标识。该值将包含在发送的请求以标识发送方身份,并在接收消息时可以寻址到相关的 OFTP 端口。Odette Id 是由Odette 组织提供。
  • 密码 (SSID 密码)Odette Id 相关的密码。此密码为自定义值,只需确保交易伙伴系统内配置相同的值即可。长度不超过8位。

服务器设置

与 OFTP 服务器实施相关的设置

  • 端口 用于监听交易伙伴进行 OFTP 连接的端口。
  • 启用 TLS/SSL 启用 TLS/SSL 连接到服务器。
  • TLS 私钥证书 如果启用了 TLS,需要 TLS 证书来验证服务器的身份。
  • 证书密码 访问 TLS 证书所需的密码。

可选证书设置

用于定义证书参数的可选设置。

  • 认证质询私钥证书 带有私钥的证书,在服务器质询时使用以验证真实性。 接受“.pfx”或“.p12”格式的 PKCS#12 证书。
  • 证书密码 私有证书密码。
  • 签名私钥证书 带有在签署已发送消息时使用的私钥的证书。 接受“.pfx”或“.p12”格式的 PKCS#12 证书。
  • 证书密码 私有证书密码。
  • 强证书验证 仅允许来自受信任的证书颁发机构的强证书验证。

高级设置

空闲超时 的值指定在关闭与服务器的非活动连接之前要等待的时间长度(以秒为单位)。

锁定

与锁定服务器访问相关的可选设置。

  • 失败次数 用户被锁定之前允许的登录尝试失败次数。
  • 锁定时间 用户被锁定的时间长度(以分钟为单位)。
  • 检测周期 失败登录尝试的记录保留的时间长度(以分钟为单位)。

受信任的 IP 地址

此选项卡上的 可信 IP 地址 部分提供以下功能:

  • 添加 输入新的 IP 地址范围。
  • 编辑 修改选定的 IP 地址范围。
  • 删除 从列表中删除选定的 IP 地址范围。

以下限制适用于此功能:

  • localhost 不能被修改或从列表中删除。
  • 任何超出定义范围的 IP 地址都将被拒绝。
  • 支持IP范围。 例如,“100.10.100.1-15”条目表示允许100.10.100.1至100.10.100.15之间的IP地址访问。
  • 支持 无类别域间路由(CIDR) 表示法。 例如,“100.10.100.0/24”条目表示允许100.10.100.0至100.10.100.255之间的IP地址访问。
  • 支持通配符模式。 例如,条目 100.10.100.* 表示允许以 100.10.100 开头的 IP 地址。 任何超出该范围的 IP 地址都将被拒绝。

注意:为了让客户端能够访问服务器,需要有清晰的网络路径。在云环境中,可能需要在三个地方进行更改:

  • 云控制台中的网络规则。
  • 托管应用程序的机器上的防火墙规则。例如,在使用 Amazon AMI 时,可以使用 简单防火墙 (UFW) 来允许所需端口上的流量。Linux 环境中的常见策略是将流量从低于 1024 的端口转发到高于 1024 的非标准端口,同时将应用程序配置为使用非标准端口。这可以避免与非 root 用户绑定到低于 1024 的端口相关的权限问题。
  • 安全选项卡的网络访问部分。

日志

与日志的生成和存储相关的设置。

  • 日志级别 端口生成的日志的详细程度。 当请求支持时,请将其设置为 调试
  • 日志循环周期 在启动另一个日志文件之前应该使用一个日志文件的天数。
  • 日志删除间隔日志文件在删除前应保留的天数。

特殊设置

特殊设置 适用于特定用例。

  • 其他设置 允许在以分号分隔的列表中配置隐藏的端口设置,例如setting1=value1;setting2=value2。 正常的端口用例和功能不需要使用这些设置。

端口配置

此部分包含所有可配置的端口属性。

设置

主机配置

需要连接的远程 OFTP 主机的相关设置

  • 端口 Id 端口的静态、唯一标识符。
  • 端口类型 显示端口类型及其用途的描述。
  • 端口描述 一个可选字段,用于提供端口及其在流中的角色的自由格式描述。
  • Odette Id 远程 OFTP 主机的 Odette ID(交易伙伴的身份标识符)。
  • 密码 与交易伙伴标识符关联的密码。
  • 版本 进行数据交换时选择的 OFTP 协议版本。
  • 远程主机地址 远程 OFTP 服务器的主机名称或 IP 地址。
  • 端口 连接到远程 OFTP 服务器的端口。
  • 连接超时时间 端口在抛出超时错误之前等待连接响应的时间长度(以秒为单位)。
  • 启用 SSL/TLS 当尝试连接服务器时,必须启用 SSL/TLS 才能连接到服务器。
  • Odette 安全认证 执行应用层加密和解密。必须指定签名证书和加密证书才能执行此认证操作。

连接信息

与 OFTP 连接参数相关的设置

  • 虚拟文件格式 传输文件时,使用的 OFTP 文件格式。
  • 虚拟发送文件安全性 签名和/或加密发送数据。
  • 虚拟接收文件安全性 是否要求接收的消息经过签名和/或加密。
  • 压缩 压缩发送数据。
  • 请求签名回执 发送数据后,请求返回签名回执。

交易伙伴证书

与交易伙伴公钥证书相关的设置

  • 加密证书 发送消息时,用于加密的公钥证书。该证书必须与交易伙伴的私钥证书匹配,并在共享 OFTP 详细配置信息时,交易伙伴应提供此公钥证书。
  • TLS 服务器证书 用于验证 TLS/SSL 服务器身份的公钥证书。 如果目标服务器使用TLS/SSL,则将此字段设置为标识服务器的证书。 如果服务器的证书不可用,可以将此设置留空以允许底层 OS/JVM 执行证书验证,或将其设置为 “Any Certificate” 以隐式信任服务器的身份。

路由

通过一个 OFTP 路由 OFTP 消息的相关设置

  • 路由伙伴 如果发送的 OFTP 消息应通过 OFTP 实体路由,该 OFTP 实体应该与目标 OFTP 实体是独立的。

例如,如果端口需要将文件发送到serverA并通过serverB路由文件,请将端口配置为连接到serverA,并将此字段设置为配置为连接到serverB的 OFTP 端口。 有关详细信息,请参阅消息路由

高级设置

可选证书(PEM/CER 格式)

用于增强安全性的其它证书设置

  • 认证质询证书 当服务器要求验证真实性时需提供的公钥证书。
  • 数据验证证书 验证接收数据的签名时使用的公钥证书。
  • 回执验证证书 验证接收回执的数字签名时使用的公钥证书。
  • 延期证书 用于身份验证的附加证书,在修改证书的重叠期时,此功能非常有用。
  • 延期验证证书 用于验证签名的附加证书,在修改证书的重叠期时,此功能非常有用。

首选个人设置

在指定 OFTP 端口的高级设置会覆盖个人设置的信息。设置首选个人设置,允许对指定交易伙伴使用不同的身份标识符和证书。

  • SSID Odette ID, 将覆盖个人设置部分的 Odette ID。OFTP 服务器可以为某交易伙伴首选 SSID and 密码。发送文件时,该 ID 用于文件发送方会话身份验证,除非被路由伙伴覆盖。如果同时设置了 SSIDSFID,则 SFID 用于发送文件。
  • 密码 本地密码。
  • SFID 接收 OFTP 文件时,知行之桥将在此端口处理文件,就好像他们是从本地 OFTP 配置文件中路由来的一样。仍然会使用来自 OFTP 配置文件的 SSID 和密码来迎接传入的网络连接(除非被覆盖)。如果同时设置了 SSIDSFID,则在发送文件时使用 SFID
  • 私钥证书 用来解密接收消息和签名发送消息的证书。会覆盖个人设置页面的私钥证书
  • 证书密码 访问本地私钥证书所需的密码。

TLS 客户端认证

当需要双向 TLS 认证时,与客户端认证相关的设置

  • 使用个人设置 指示端口使用个人设置选项卡中的私有证书
  • 私钥证书 在 TLS 客户端认证时需要的私钥证书。
  • 证书密码 访问 TLS 客户端证书所需的密码。

自动证书识别

本节中的字段允许你指定允许端口自动识别证书的模式。 每个字段中的默认通配符指示端口不搜索每个模式。

高级设置

  • 结余计数初始连接中发送的最大信用值(SSID 命令)。
  • 加密算法 加密发送文件时使用的算法。
  • 交换缓冲区大小 要在初始连接(SSID 命令)中发送的数据交换缓冲区大小(以字节为单位)。
  • 强制协议版本 接受未为此交易伙伴配置的协议版本。
  • 文件描述映射 用于设置发送文件的文件描述文本。使用分号分隔的全局模式以匹配文件名称。比如,’INVOICE*=This is an invoice;*ORDER.*=This is an order’。
  • 最大记录大小 当虚拟文件格式为 “Fixed” 或 “Variable” 时,此字段设置每个记录的最大大小,默认记录大小为 128。
  • 文件哈希算法要使用的文件哈希算法。
  • 收据散列算法 要使用的收据散列算法。
  • 接收文件名称格式 接收的文件名将按照此处的设置写入事务选项卡。以下宏可以确保生成唯一的文件名:
    %VirtualFilename%
    %VirtualFileDate%
    %GUID%
  • 启用 TLS 建立传出连接时支持的 TLS/SSL 协议列表。 强烈建议仅使用 TLS 协议。 一些过时的操作系统不支持 TLS 1.2。
  • 虚拟文件名称映射 发送文件时,从本地文件名到输出虚拟文件名的映射。用分号分隔的全局模式列表用于匹配文件名。比如, ‘INVOICE*=filename1;*ORDER.*=filename2’
  • 本地文件名格式 用于为端口输出的消息分配文件名的方案。 可以在文件名中动态使用宏来包含标识符和时间戳等信息。 有关详细信息,请参阅
  • 延迟处理 放置在输入文件夹中的文件的处理延迟的时间量(以秒为单位)。 这是一个遗留设置。 最佳实践是使用 File 端口 来管理本地文件系统,而不是此设置。

代理配置

这些是一组设置,用于识别 OFTP 连接路由的代理并对其进行身份验证。 默认情况下,此部分在 安全设置 页面的 代理设置。 清除该复选框可提供特定于 OFTP 端口的设置。

  • 代理类型 基于代理的防火墙使用的协议。
  • 代理主机 基于代理的防火墙的名称或 IP 地址。
  • 代理端口 基于代理的防火墙的 TCP 端口。
  • 代理用户 用于通过基于代理的防火墙进行身份验证的用户名。
  • 代理密码 用于对基于代理的防火墙进行身份验证的密码。
  • 身份验证方案 保留默认值 None 或选择以下身份验证方案之一:BasicDigestProprietaryNTLM

消息

消息设置 确定端口如何搜索消息并在处理后管理它们。 可以将消息保存到你的 已发送 文件夹,或者可以根据 已发送 文件夹方案将它们保存,如下所述。

  • 保存至 Sent 文件夹 选中此选项可将端口处理的文件复制到端口的已发送文件夹中。
  • 已发送文件夹方案 端口根据选定的时间间隔对已发送文件夹中的文件进行分组。例如,选项每周(Weekly)指示端口每周创建一个新的子文件夹,并将本周发送的所有文件存储在该文件夹中。空白设置告诉端口将所有文件直接保存在“Sent”文件夹中。对于处理许多事务的端口,使用子文件夹可以帮助保持文件有序并提高性能。

日志

管理日志的创建和存储的设置。

  • 日志级别 端口生成的日志的详细程度。 当请求支持时,请将其设置为 Debug
  • 日志子文件夹方案:指示端口根据所选的时间间隔对日志(Logs)文件夹中的文件进行分组。每周(Weekly)选项(默认设置)指示端口每周创建一个新子文件夹,并将该周的所有日志存储在其中。如果此设置留空,则端口将所有日志直接保存在日志文件夹中。对于处理大量事务的端口,使用子文件夹有助于保持日志井然有序并提高性能。
  • 日志消息 选中此项可使已处理文件的日志条目包含文件本身的副本。 如果禁用此功能,可能无法从事务选项卡下载文件的副本。

特殊设置

特殊设置 适用于特定用例。

  • 其他设置 允许在以分号分隔的列表中配置隐藏的端口设置,例如setting1=value1;setting2=value2。 正常的端口用例和功能不需要使用这些设置。

自动化

自动化设置

与端口自动处理文件有关的设置。

  • 自动发送 到达端口的文件是否将自动作为 OFTP 消息发送。
  • 重试间隔(分) 失败之后,重试发送前的等待时间。当服务器发送无响应,或者收到否定响应以表明未收到文件时,将触发重试。
  • 最大重试次数 端口处理输入文件的最大次数。是否成功基于服务器相应和回执的验证(如需要回执)。如果设置为 0,那么端口将无限次尝试处理失败文件。
  • 重发间隔(分) 重新发送后收到确认消息之前的时间。服务器收到文件后触发重新发送,但是在预期的时间范围内未提供异步回执。
  • 最大重发尝试次数(异步) 如果需要异步回执时,端口处理输入文件的最大次数。是否成功基于服务器在正确相应后异步回执是否在重发间隔内返回(如果服务器没有正确响应,那么最大重试次数会被使用)。如果设置为 0,那么端口将无限次尝试处理失败文件。
  • 接收 端口是否应自动发出获取请求以接收来自交易伙伴的消息。
  • 间隔 自动获取请求之间的间隔。
  • 每次执行等待的分钟数。仅当执行间隔被设置为 Minute 时适用。
  • 第几分钟/小时 每小时计划的分钟偏移量。仅当执行间隔被设置为 Hourly 时适用。例如,如果将此值设置为 5,将在 1:05、2:05、3:05 自动执行脚本。
  • 在指定的某一天内进行消息处理的时间。仅当执行间隔被设置为 DailyWeeklyMonthly 时适用。
  • 进行消息处理的某一天。仅当执行间隔被设置为 WeeklyMonthly 时适用。
  • Cron 表达式 表示 cron 表达式的任意字符串,用于确定何时执行。仅当执行间隔被设置为 Advanced 时适用。

性能

与端口资源分配相关的设置。

  • 最大工作线程数 此端口上处理文件时从线程池中消耗的最大工作线程数。如果设置,则会覆盖 高级设置 页面的 性能设置 部分的默认设置。
  • 最大文件数 分配给端口的每个线程发送的最大文件数。如果设置,则会覆盖 高级设置 页面的 性能设置 部分的默认设置。

通知选项卡

与配置通知相关的设置。

在执行服务级别协议 (SLA) 之前,需要设置电子邮件通知以接收通知。默认情况下,知行之桥使用 通知 选项卡上的全局设置。要为此端口使用其他设置,请启用覆盖全局设置

默认情况下,错误通知处于启用状态,这意味着每当出现错误时都会发送电子邮件。要关闭错误通知,请取消选中启用复选框。

输入主题(必填),然后(可选)输入以逗号分隔的收件人电子邮件列表。

SLA 选项卡

与配置服务级别协议 (SLA) 相关的设置。

SLA 允许配置预期流程中端口发送或接收的数据量,并设置预期达到该数据量的时间范围。当 SLA 未达到时,知行之桥会发送电子邮件警告用户,并将 SLA 标记为_存在风险_,这意味着如果 SLA 未能尽快达到,则会被标记为_已违反_。这让用户有机会介入并确定 SLA 未达到的原因,并采取适当的措施。如果在风险时间段结束时仍未达到 SLA,则会将 SLA 标记为_已违反_,并再次通知用户。

要定义 SLA,请启用预期数据量,然后点击设置选项卡。

  • 如果端口具有单独的发送和接收操作,请使用单选按钮指定 SLA 适用的方向。
  • 在窗口的预计至少部分中:
    • 设置预计处理的最小事务数量(交易量)
    • 使用每个字段指定时间范围
    • 指示 SLA 生效的时间。如果选择开始于,请填写日期和时间字段。
    • 勾选希望 SLA 生效的星期几对应的复选框。如有必要,请使用下拉菜单选择每天
  • 在窗口的将状态设置为“有风险”部分中,指定应将 SLA 标记为有风险的时间。
    • 默认情况下,只有在违反 SLA 的情况下才会发送通知。要更改此设置,请勾选发送“有风险”通知

以下示例显示了为端口配置的 SLA,该端口预计在周一至周五每天接收 1000 个文件。如果尚未收到 1000 个文件,则会在时间段结束前 1 小时发送风险通知。

注意:如果有必要,可以关闭 SLA 通知。这在维护窗口期间非常有用。点击导航栏上的设置,然后跳转到通知 > 通用通知。点击平板和铅笔图标进行编辑,并取消勾选 SLA 通知设置。

建立连接

建立 OFTP 连接需要以下设置:

  • SSID/SFID (交易伙伴身份标识)
  • 密码 (与交易伙伴身份标识关联的密码)
  • 远程主机地址
  • 端口

建立连接后,必须先配置交易伙伴的公钥证书才能安全地传输文件。

收发文件

完成 OFTP 个人设置和指定交易伙伴的 OFTP 端口设置后,可以安全地发送和接收文件。

发送文件

在 OFTP 端口中,事务选项卡显示已发送给目标交易伙伴的文件。如果启用了自动发送事务选项卡下的文件将自动打包并发送。绿色的“Sent”状态表示成功传输,而警告和错误则以黄色和红色表示。可以通过扩展与已传输文件关联的行来访问传输失败或成功的日志文件。

创建测试文件 可用来生成一些简单的测试文件,发送给交易伙伴。

重发和重试

当期望交易伙伴返回异步回执时,如果在重发间隔持续时间内(默认 60 分钟)未收到交易伙伴的异步回执,应用程序将触发 OFTP 重发功能。接着,应用程序将继续发送该文件,直到收到回执或已用尽最大重发尝试次数(异步)

当交易伙伴系统的协议响应指出服务器尚未收到文件,将触发重试功能。这可能表示网络连接问题,一般是暂时性的。应用程序将每隔重试间隔分钟重试传输,直到文件被收到或已用尽最大重试次数

接收文件

在 OFTP 端口中,事务选项卡显示已成功接收的文件。根据接收的 OFTP 消息中存在的 Odette 标识符,将文件路由到指定 OFTP 端口。可以扩展每个文件行以显示更多的传输日志。

这些文件位于 OFTP 端口的 事务选项卡。如果该端口已连接到工作流中的其它端口,则文件将自动从 OFTP 端口的 事务选项卡移至下一个端口的 事务选项卡。

消息路由

每个 OFTP 端口配置连接单个 OFTP 实体。有时,OFTP 涉及路由方案,其中来自某 OFTP 实体(称为服务器 A)的文件需要通过另一个 OFTP 实体(称为服务器 B)到达目标 OFTP 实体(称为服务器 C)。

OFTP 路由

在这样的路由场景下,服务器 B的 Odette ID 是传输过程中的 SSID,服务器 C的 Odette ID 是 SFID。换句话说,发起者 A 连接到“中间”服务器 B,而服务器 B 作为中间服务器应将 OFTP 消息转发/路由到目标服务器 C。

OFTP 路由

为了完成路由场景,配置一个 OFTP 端口连接服务器 B(即“中间服务器”),同时另一个 OFTP 端口连接服务器 C(即目标服务器)。

配置连接服务器 C的 OFTP 端口,必须设置路由伙伴,指向连接服务器 B的 OFTP 端口。

发送到目标服务器的文件,应由连接到服务器 C的 OFTP 端口进行处理。另一个 OFTP 端口(连接服务器 B)在后台用于路由消息,但不直接处理工作流中的文件。

SSID VS SFID

如果交易伙伴提供了一个称为 SFID 的单一标识符,请配置单个 OFTP 端口与此实体连接,然后将 SFID 用作 SSID。如果交易伙伴提供了 SFID 和 SSID 两个值,则在上述情况下, SFID 对应于服务器 C,而 SSID 对应于 服务器 B

在文件命名策略中使用宏可以提高组织效率和对数据的上下文理解。 通过将宏合并到文件名中,可以动态地包含相关信息,例如标识符、时间戳和消息头信息,从而为每个文件提供有价值的上下文。 这有助于确保文件名反映对组织重要的详细信息。

知行之桥 支持这些宏,它们都使用以下语法:%Macro%

描述
ConnectorID 替换为端口的 ConnectorID。
Ext 替换为端口当前正在处理的文件的文件扩展名。
Filename 替换为端口当前正在处理的文件的文件名(包括扩展名)。
FilenameNoExt 替换为端口当前正在处理的文件的文件名(不带扩展名)。
MessageId 计算端口输出的消息的 MessageId。
RegexFilename:pattern 将正则表达式模式应用于端口当前正在处理的文件的文件名。
Header:headername 替换为端口正在处理的当前消息的目标消息头 (headername) 的值。
LongDate 以常规格式计算系统的当前日期时间(例如,2024 年 1 月 24 日星期三)。
ShortDate 以 yyyy-MM-dd 格式计算系统的当前日期时间(例如 2024-01-24)。
DateFormat:format 以指定格式(format)计算系统的当前日期时间。 有关可用的日期时间格式,请参阅示例日期格式
Vault:vaultitem 计算指定保管库项目的值。

示例

某些宏(例如 %Ext% 和 %ShortDate%)不需要参数,但其他宏则需要。 所有带有参数的宏都使用以下语法:%Macro:argument%

以下是带有参数的宏的一些示例:

  • %Header:headername%:其中 headername 是消息上消息头的名称。
  • %Header:mycustomheader% 解析为输入消息上设置的 mycustomheader 消息头的值。
  • %Header:ponum% 解析为输入消息上设置的 ponum 消息头的值。
  • %RegexFilename:pattern%:其中“pattern”是正则表达式模式。 例如,%RegexFilename:^([\w][A-Za-z]+)% 匹配并解析为文件名中的第一个单词,并且不区分大小写(test_file.xml解析为test) 。
  • %Vault:vaultitem%:其中 vaultitemvault 中项目的名称。 例如,%Vault:companyname%解析为存储在保管库中的companyname项的值。
  • %DateFormat:format%:其中 format 是可接受的日期格式(有关详细信息,请参阅示例日期格式)。 例如,%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%解析为文件上的日期和时间戳。

还可以创建更复杂的宏,如以下示例所示:

  • 将多个宏组合在一个文件名中:%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%%EXT%
  • 包括宏之外的文本:MyFile_%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%
  • 在宏中包含文本: %DateFormat:'DateProcessed-'yyyy-MM-dd_'TimeProcessed-'HH-mm-ss%