REST端口支持构建动态REST请求来使用RESTful API网络服务。
概览
REST端口暴露了一个简单的接口来为REST请求构建头、授权、主体和HTTP方法。请求体可以在端口配置中静态设置,也可以根据端口处理的文件动态生成。
端口配置
配置
与端口核心操作相关的配置。
方法&URL | REST请求的方法和目标网址。 |
认证
认证类型 | REST服务使用的认证类型。有关更多详细信息,请参见认证部分。 |
头部
头部部分支持添加任意列表的HTTP头部,以包含在传出的REST请求中。头部被指定为名称-值对。当主体类型设置为Raw时,此部分可用于指定消息主体的Content-Type。
消息主体
与生成REST请求主体相关的设置。当HTTP方法设置为“GET”时不适用。
主体类型 | None – REST请求不会提供给任何机构。 form-data – 主体以一组名称-值对(字段)的形式提供。如果字段设置为静态,则名称和值都在用户界面中指定。对于动态字段,名称是在用户界面中指定的,值是从连接器处理的输入文件中动态读取的。有关更多信息,请参见动态表单数据部分。 x-www-urlencoded – 主体的配置方式与form-data相同,但是名称-值对被编码为一个URL查询字符串,而不是多部分表单数据。 raw – 主体被设置为端口处理的输入文件的内容。正文的内容类型可以通过相关联的下拉菜单设置,或者在标题部分指定为自定义标题。 |
SSL服务器认证
与SSL服务器认证相关的设置。
SSL服务器证书 | 用于SSL/TLS服务器认证的公钥证书。此设置可以设置为“任何证书”,以无条件信任目标服务器的身份。 |
自动
与端口自动处理文件有关的设置。
发送 | 到达端口的文件是否会自动触发REST API调用。 |
重试间隔 | 重试失败的REST请求之前的时间。 |
重试最大尝试次数 | 将重试失败的REST请求的最大次数。 |
接收 | 端口是否应该根据指定的时间间隔自动发送静态REST请求。请求正文中将不包含任何动态值。 |
接收执行间隔 | 自动静态请求之间的间隔。 |
分钟 | 下载前等待的分钟数。仅在接收执行间隔设置为分钟时适用。 |
整点过几分 | 每小时计划的分钟偏移量。仅在接收执行间隔设置为每小时时适用。例如,如果该值设置为5,自动化服务将在1:05、2:05、3:05等处启动。 |
时间 | 给定日期内请求发送的时间。仅当接收执行间隔设置为每日、每周或每月时适用。 |
天 | 发送请求应该发生的日期。仅在接收执行间隔设置为每周或每月时适用。 |
cron表达式 | 表示cron表达式的任意字符串,用于确定发送请求应该何时发生。仅在接收执行间隔设置为高级时适用。 |
高级
本地文件夹
确定磁盘上发送/上传文件的文件夹以及接收/下载文件的文件夹的设置。
输入文件夹(Send) | 端口可以发送/上传放在此文件夹中的文件。如果启用了自动发送,端口将自动轮询处理此文件夹中的文件。 |
输出文件夹(Receive) | 端口会将接收/下载的文件放在此文件夹中。如果端口连接到工作流中的另一个端口,文件将不会保留在这里,而是传递到已连接端口的输入/Send文件夹。 |
已处理文件夹(Sent) | 处理文件后,如果启用了保存到已发送文件夹,端口将在此文件夹中放置已发送/已上传文件的副本。 |
SSL客户端认证
需要双向SSL认证时与客户端认证相关的设置。
私钥证书 | 在SSL客户端认证期间的私钥证书。 |
证书密码 | 访问SSL客户端证书所需的密码。 |
其他配置
先前类别中未包含的配置。
HTTP版本 | 连接到REST服务时是使用HTTP 1.0、1.1还是2.0。 |
超时时长 | 引发超时错误之前等待REST服务器响应的持续时间(秒)。 |
使用分块编码 | 发送请求时是否使用HTTP分块传输编码。这允许应用程序顺序发送消息的部分(块),以避免连接过载。 |
块大小 | 启用“使用分块编码”时,每个分块的大小(以字节为单位)。 |
日志级别 | 为端口生成的日志中包含的详细程度。 |
日志消息 | 发送文件中的日志是否包含文件本身的副本。 |
保存到已发送文件夹 | 端口发送的文件是否应复制到连接器的已发送文件夹。 |
启用SSL的协议 | 建立传出连接时支持的SSL/TLS协议列表。强烈建议仅使用TLS协议。一些过时的操作系统不支持TLS 1.2。 |
建立连接
建立到任何REST服务的连接都需要有效的目标网址。服务网址可以支持各种不同的HTTP方法,方法应该根据特定的网络服务操作或数据集进行配置以进行检索。某些服务可能还需要身份验证或一组自定义头部才能使用该服务。
如果目标网址是“https”网址,则应该将SSL服务器证书设置为标识服务器的公钥证书。此字段可以设置为“任何证书”,以隐式信任目标端点。
认证
REST端口支持基本(明文)或摘要(加密)格式的用户名-密码身份验证。这些凭据作为请求中的头部提供给REST服务。
REST端口也支持OAuth认证,但是OAuth访问令牌和刷新令牌必须提前获取。使用REST服务的门户网站或开发控制台来查找/生成适当的OAuth令牌。然后,端口处理自动刷新令牌的过程,以便一旦首次提供OAuth配置值,端口就能够持续连接。
静态请求
具有完全静态内容的REST请求(例如,使用HTTP GET方法的请求)不需要输入文件,因为请求内容完全在端口用户界面中配置。只需在头部部分添加任何必要的名称-值对作为自定义头部,或者在正文部分添加表单数据。
如果启用了自动接收,静态请求可以根据时间表自动发送。对每个请求的响应将存储在输出/Receive文件夹中,或者传递给流程中的下一个端口。
如果启用了自动发送,到达端口的输入/Send文件夹的文件也会触发静态请求。输入文件的内容被忽略,请求根据用户界面中的配置发送。
动态请求
REST请求可以动态填充来自到达端口的输入/Send文件夹的文件的数据。
原始输入数据
如果请求的主体类型设置为“raw”,输入文件的内容将作为REST请求的主体发送。
可以通过content-type下拉列表设置数据的特定content-type。如果没有列出所需的content-type,可能需要在头部部分添加content-type头部。
动态表单数据
如果请求的主体类型设置为“form-data”或“x-www-urlencoded”,那么端口将从输入文件中查找特定值来填充请求。对于设置为“Dynamic”的每个主体字段,端口将扫描输入文件中与字段名同名且遵循特定XML结构的XML元素:
1 2 3 4 5 |
<Items> <FormData> <FieldName></FieldName> </FormData> </Items> |
为了适应这种结构,强烈建议在流程中的REST端口之前使用一个XML Map端口,如下所述。
当找到与字段名和所需的XML结构匹配的元素时,该元素中的值将用作主体字段中的值。例如,如果主体有一个名为“CustomerID”的动态字段,并且输入文件具有以下XML:
1 2 3 4 5 |
<Items> <FormData> <CustomerID>12354</CustomerID> </FormData> </Items> |
然后,REST端口将“CustomerID”字段的值设置为12354。
带有XML Map的动态模板
XML映射端口应该与REST端口结合使用,以便从其他的XML数据结构中轻松地构建动态请求。XML Map端口将任意自定义的XML结构转换成XML Map端口所期望的XML结构。
首先,用应该出现在请求中的一组动态(和静态)主体字段来配置REST端口。然后,将一个XML Map端口连接到RSSBus Connect工作流中的REST端口,并保存工作流更改。这允许XML Map端口检测REST端口在输入文件中期望的字段。
然后,在XML Map端口中,目标文件下拉列表包含REST请求模式。选择此作为目标,并将源文件设置为任意自定义的XML结构。这将填充XML Map设计器视图,应该包含在REST请求中的数据可以从源结构拖放到目标结构中。映射完成后,XML Map端口将自动将与源文件匹配的文件转换为有效的REST请求结构。
注:文案部分图片及内容来源于网络,版权归原创作者所有,如有侵犯到您的权益,请您联系我们进行删除,给您带来困扰,我们深感抱歉。