PO配置发送器REST适配器

配置发送器REST适配器

配置发送方REST适配器以将内容从远程客户端发送到集成服务器。

先决条件

您已经使用适配器类型REST创建了一个发送方通道,并选择在集成目录中对其进行配置。

程序

定义请求格式

指定传入消息的数据格式。从数据格式列表中选择XML或JSON。要处理非结构化文本,请选择JSON。消息编码可以由字符集源和值(如果适用)指定。您有以下选项:

使用固定的手动值并提供字符集名称(默认值为UTF-8)

使用HTTP内容类型标头中的值

通过指定标头字段从自定义HTTP标头中检索值

如果字符集在URL内作为GET变量传递,请提供相应的变量名

通过选择JSON内容元素并提供定位JSON元素的JSON路径表达式,从负载中检索值

笔记

此功能目前仅适用于JSON中的有效负载,其值预计为US-ASCII。

如果格式是JSON,REST适配器可以将其转换为XML。如果您希望根据消息内容在PI中进行进一步处理(例如映射或路由),这是必要的。激活转换为XML。如果JSON可能包含多个顶级元素,则还可以激活添加包装器元素选项。输入包装器元素的名称和命名空间。

如果JSON请求预期包含具有无效XML名称开始字符或XML名称字符的键,请激活转义无效名称开始字符和/或Mangle无效名称字符选项。这些将分别用转义序列选项中配置的序列转义XML标记开头或其余部分的无效字符。

定义服务质量

从服务质量列表中选择集成引擎处理消息的方式。按顺序只输入一次队列名称。为了尽最大努力,请指定响应格式。

以更动态的方式定义服务质量的其他方法:

••通过HTTP操作

对于每个HTTP操作(GET、POST、PUT、DELETE),您可以指定要使用的专用服务质量。例如,如果您想对实体上的所有操作使用一个通道,则这是必要的,其中GET操作需要尽最大努力,而PUT操作只能使用一次。

•按接口操作

如果通道设置为支持多个XI操作/接口,则可以在操作确定选项卡上单独设置每个操作的服务质量。

笔记

如果服务质量是尽力而为,则默认HTTP状态代码为200;对于异步调用,它是202。

指定响应格式

对于同步场景(尽力而为),您需要指定响应消息的格式和处理。您可以选择响应数据格式是JSON还是XML。要处理非结构化文本,请选择JSON。您可以选择从消息(PI消息的外部元素)中剥离操作。您可以使用请求消息字符集或手动值来指定消息的编码。在后一种情况下,输入字符集名称。如果预期的数据格式是JSON,则可以选择将XML负载转换为JSON。如果消息包含包装,您可以选择通过激活Strip Outer Element来删除它。

如果负载预期包含转义XML标记名,则通道可以通过启用删除转义名称开始字符和/或删除无效名称字符的损坏,将转义字符转换回其原始值。在转义序列选项中指定使用的转义序列。

指定响应HTTP标头

您可以在结果HTTP标头选项卡上指定要返回给调用客户端的HTTP标头。指定自定义标头名称和获取值的源。可用的源是静态值、XI消息属性或消息内容的一部分,由JSON对象名或XPath表达式指定。

配置通道选择

通道选择参数指定该通道将处理哪些消息。每个REST适配器发送方通道都有一个固定或动态端点名称,并且只处理与固定或动态过滤器模式匹配的消息。REST适配器公开了一个固定基端点URL。您可以通过使用自定义零件对其进行扩展来优化此地址。

激活“指定端点”并输入自定义端点名称扩展名。

您可以通过激活“允许公共访问”使此频道可供公共访问。此选项完全禁用对此发送方通道的授权。

通过将CORS参数设置为允许所有客户端或仅允许特定客户端,具有公共访问权限的通道允许启用跨源资源共享请求(COR)。在后一种情况下,您必须指定允许的客户端URI的逗号分隔列表,如“https://myHost.com, http://anotherserver.org“。星号“*”符号指定允许所有客户端。

如果希望通道处理负载中具有特定属性的消息,请激活Limit to JSON元素或Limit to XPath元素(取决于输入数据格式),通过其JSON路径或XPath指定元素,并在表达式字段中输入该元素的预期值。

笔记

该值应为US-ASCII。

REST发送方通道可以处理所有HTTP操作。要为特定操作配置通道,请激活限制到HTTP操作,并从HTTP操作列表中选择所需的操作。

定义REST资源

指定此频道要处理的URL的格式及其包含的信息。REST请求通常提供有关要调用的服务、资源和/或资源类型以及要执行的操作的信息。

URL模式

URL模式描述了此通道使用命名占位符处理的URL的可变部分。您可以选择一个预定义的图案,也可以输入自定义图案。您可以使用预定义模式中的占位符以外的占位符。每个占位符变量名必须用花括号括起来。

不要在模式中使用GET变量。您可以使用操作源定义中的Get Variable来提取URL变量的值。

资源来源

对于构成REST请求的每个资源,您可以指定信息源。REST资源选项卡为最多十个REST资源提供了方便的输入字段,包括最常见的资源,如服务、资源类型和资源ID。从动态属性列表中选择预定义资源或自定义属性之一。如果选择自定义属性,则还必须输入名称。按下表所述指定属性值。使用XI动态属性输入字段之一后,将显示一个新的组或表。通过添加行并在变量列中输入资源名称,可以在附加属性表中定义附加资源。以下选项可用:

资源来源

值源(选择公共资源)

类型(输入其他资源)

描述/表达式

手动值

手动

手动提供要使用的静态值。

URL模式元素

URL

通过指定模式元素占位符名称(不包括大括号),从URL中检索值。

GET变量GET通过提供各自的GET变量名称从URL中检索值。

GET变量

GET

通过提供各自的GET变量名称从URL中检索值

HTTP头变量

Header

通过指定HTTP头元素名称从HTTP头中检索值

HTTP操作

HTTP

使用HTTP操作;不需要表达式

XML内容元素

XPath

通过提供用于定位具有简单文本内容的单个元素或属性的XPath表达式,从XML负载中检索值

JSON内容元素

JPath

通过使用JSONPath表达式定位具有简单文本内容的JSON元素,从JSON负载中检索值

定义REST操作

指定要对由上一选项卡上的信息标识的资源执行的REST操作。

操作源

指定如何查找有关要执行的REST操作的信息。以下选项可用:

操作源

值源

描述/表达

手动值

手动提供要使用的静态值;无需映射(下一步)

URL模式元素

通过指定模式元素占位符名称(不包括大括号)从URL中检索值

GET变量

通过提供相应的GET变量名称从URL中检索值

HTTP头变量

通过指定HTTP头元素名称从HTTP头中检索值

HTTP操作

使用HTTP操作;无需表达式和映射(下一步)

XML内容元素

通过提供XPath表达式来从XML负载中检索值,该表达式定位具有简单文本内容的单个元素或属性

JSON内容元素

通过使用JSONPath表达式定位具有简单文本内容的JSON元素,从JSON负载中检索值


将源值映射到操作

如果选择了提供动态值的源(除手动值和HTTP操作外的所有内容),则可以通过输入表达式来指定与REST操作关联的值。REST操作选项卡为每个REST操作提供了一个输入字段。如果定义的源的多个值与操作关联,则可以通过添加行并在操作列中输入GET、POST、PUT或DELETE,以及在表达式列中输入相应的值,在附加操作映射表中定义附加映射。

确定XI操作

在“操作确定”选项卡上,指定REST操作如何映射到XI操作。对于PI系统,传入消息需要包含有关操作/消息类型的信息,作为消息内容的外部XML元素。对于每个操作对,您需要向XI操作表中添加一行,并提供以下信息:

•由变量进行的REST操作,该变量将此变量的信息和可能值保存为表达式

•PI中与所需操作及其命名空间相关联的消息类型的XI操作

如果选择了按接口操作服务质量,则可以为指定的每个规则定义服务质量。

操作确定

服务质量的价值

Quality Of Service

Value

Note

BestEffort

BE

ExactlyOnce

EO

Default

ExactlyOnceInOrder

EOIO

以下3个示例描述了传入HTTP调用到XI操作/接口的映射。

示例1:

将所有已处理的调用映射到特定的XI操作/接口(此处为CUSTOMER\u CREATE)

Mapping

Variable

Expression

Operation

Namespace

Quality Of Service

{operation}

*

CUSTOMER_CREATE

http://demo.sap.com

示例2:

根据传入的HTTP操作,将调用映射到不同的XI操作/接口。除了使用BestEffort的CUSTOMER\u GET之外,所有调用都使用ExactlyOnce的QoS。

Mapping

Variable

Expression

Operation

Namespace

Quality Of Service

{operation}

GET

CUSTOMER_GET

http://demo.sap.com

BE

{operation}

PUT

CUSTOMER_UPDATE

http://demo.sap.com

{operation}

POST

CUSTOMER_CREATE

http://demo.sap.com

{operation}

DELETE

CUSTOMER_DELETE

http://demo.sap.com

Example URL: http://host:port/RESTAdapter/Customer

例3

根据传入服务名称将调用映射到不同的XI操作/接口。除了使用BestEffort的CUSTOMER\u GET之外,所有呼叫都使用ExactlyOnce的QoS

Mapping

Variable

Expression

Operation

Namespace

Quality Of Service

{service}

customer_list

CUSTOMER_GET

http://demo.sap.com

BE

{service}

customer_change

CUSTOMER_UPDATE

http://demo.sap.com

{service}

customer_new

CUSTOMER_CREATE

http://demo.sap.com

{service}

customer_remove

CUSTOMER_DELETE

http://demo.sap.com

Example URLs:
http://host:port/RESTAdapter/Customer_list
http://host:port/RESTAdapter/customer_change
http://host:port/RESTAdapter/customer_new
http://host:port/RESTAdapter/customer_remove

后果

您已配置REST发送器适配器。部署后,您可以使用以下基本URL调用发送方适配器:<host>:<port>/RESTAdapter/。如果配置了自定义端点,则URL为主机:重新适配器。

发件人Ping

在发送方通道上启动通道ping将显示整体状态以及基本配置设置,如端点名称、URL模式和数据格式。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值