55.2. URI 格式


SAP 组件提供了两种不同类型的端点:远程功能调用(RFC)端点和中间文档(IDoc)端点。

RFC 端点的 URI 格式如下:

sap-srfc-destination:destinationName:rfcName
sap-trfc-destination:destinationName:rfcName
sap-qrfc-destination:destinationName:queueName:rfcName
sap-srfc-server:serverName:rfcName[?options]
sap-trfc-server:serverName:rfcName[?options]
Copy to Clipboard Toggle word wrap

IDoc 端点的 URI 格式如下:

sap-idoc-destination:destinationName:idocType[:idocTypeExtension[:systemRelease[:applicationRelease]]]
sap-idoclist-destination:destinationName:idocType[:idocTypeExtension[:systemRelease[:applicationRelease]]]
sap-qidoc-destination:destinationName:queueName:idocType[:idocTypeExtension[:systemRelease[:applicationRelease]]]
sap-qidoclist-destination:destinationName:queueName:idocType[:idocTypeExtension[:systemRelease[:applicationRelease]]]
sap-idoclist-server:serverName:idocType[:idocTypeExtension[:systemRelease[:applicationRelease]]][?options]
Copy to Clipboard Toggle word wrap

由 sap-endpointKind-destination 前缀的 URI 格式用于定义目标端点(换句话说,Camel producer 端点)和 destinationName 是到 SAP 实例的特定出站连接的名称。出站连接在组件级别命名和配置。

以 sap-endpointKind-server 前缀的 URI 格式用于定义服务器端点(换句话说,Camel 使用者端点)和 serverName 是来自 SAP 实例的特定入站连接的名称。入站连接在组件级别命名和配置。

RFC 端点 URI 的其他组件如下:

rfcName
(必需) 在目的地端点 URI 中,是由连接的 SAP 实例中端点调用的 RFC 名称。在服务器端点 URI 中,是从连接的 SAP 实例调用时端点处理的 RFC 名称。
queueName
指定此端点向发送 SAP 请求的队列。

IDoc 端点 URI 的其他组件如下:

idocType
(必需) 指定此端点生成的 IDoc 类型的基本 IDoc 类型。
idocTypeExtension
指定此端点生成的 IDoc Type 扩展(若有)。
systemRelease
指定这个端点生成的 IDoc 的相关 SAP Basis 发行版本(若有)。
applicationRelease
指定此端点生成的 IDoc 的关联应用程序发行版本(若有)。
queueName
指定此端点向发送 SAP 请求的队列。

55.2.1. RFC 目标端点的选项

RFC 目标端点(sap-srfc-destination,sap-trfc-destination, 和 sap-qrfc-destination)支持以下 URI 选项:

Expand
Name默认值描述

有状态

false

如果为 true,指定此端点启动 SAP 有状态会话

Transacted

false

如果为 true,指定此端点启动 SAP 事务

55.2.2. RFC 服务器端点的选项

SAP RFC 服务器端点(sap-srfc-serversap-trfc-server)支持以下 URI 选项:

Expand
Name默认值描述

有状态

false

如果为 true,指定此端点启动 SAP 有状态会话。

propagateExceptions

false

(仅限 SAP-trfc-server 端点) 如果为 true,请指定此端点将异常传播到 SAP 中的调用者,而不是交换的异常处理程序。

55.2.3. IDoc List Server 端点的选项

SAP IDoc List Server 端点(sap-idoclist-server)支持以下 URI 选项:

Expand
Name默认值描述

有状态

false

如果为 true,指定此端点启动 SAP 有状态会话。

propagateExceptions

false

如果为 true,指定此端点会将异常传播到 SAP 中的调用者,而不是交换的异常处理程序。

55.2.4. RFC 和 IDoc 端点摘要

SAP 组件软件包提供以下 RFC 和 IDoc 端点:

sap-srfc-destination

Camel SAP Synchronous Remote Function Call Destination Camel 组件.当 Camel 路由需要同步向 SAP 系统发出请求和响应时,应使用此端点。

注意

此组件使用的 sRFC 协议向 SAP 系统提供请求和响应,并 具有最佳工作量。如果在发送请求时出现通信错误,接收 SAP 系统中的远程功能调用的完成状态将保持不变。

sap-trfc-destination

Camel SAP Transactional Remote Function Call Destination Camel 组件.在大多数情况下,当请求必须发送到接收 SAP 系统时,应使用此端点。为达到此目的,组件会生成一个事务 ID,它包括了通过路由交换中组件发送的每个请求。接收 SAP 系统在 发送请求 前记录附带的请求;如果 SAP 系统再次收到请求,则其 tid 不会提供请求。因此,如果路由在通过此组件的端点发送请求时遇到通信错误,它可以重试在同一交换内发送请求,了解它将只会被发送并执行一次。

注意

此组件使用的 tRFC 协议是异步的,不会返回响应。因此,此组件的端点不会返回响应消息。

注意

此组件不能保证通过端点对一系列请求的顺序,并且这些请求的交付和执行顺序因通信错误和重新发送请求而不同。有关保证交付顺序,请参阅 Camel SAP Queued Remote Function Call Destination Camel 组件。

sap-qrfc-destination

Camel SAP Queued Remote Function Call Destination Camel 组件。此组件通过添加保证通过端点发送请求来扩展事务远程功能调用目的地 camel 组件的功能。如果一系列请求相互依赖,并且 最多必须一次性 传送到接收 SAP 系统时,应使用此端点。组件使用与 Camel SAP Transactional Remote Function Call Destination Camel 组件相同的机制完成 一次 交付保证。排序保证是通过按 SAP 系统收到的顺序对 入站队列 进行序列化来实现的。入站队列由 SAP 中的 QIN 调度程序 处理。激活 入站队列时,QIN 调度程序将按顺序执行队列请求。

注意

此组件使用的 qRFC 协议是异步的,不会返回响应。因此,此组件的端点不会返回响应消息。

sap-srfc-server
Camel SAP Synchronous Remote Function Call Server Camel 组件.当需要 Camel 路由同步处理来自 SAP 系统的请求和响应时,应使用此组件及其端点。
sap-trfc-server
Camel SAP Transactional Remote Function Call Server Camel 组件.当发送 SAP 系统 最多 将其请求发送到 Camel 路由时,应使用此端点。为达到此目的,发送 SAP 系统会生成一个事务 ID tid,它为每个请求发送给组件的端点。发送 SAP 系统首先会检查组件是否收到给定的 tid,然后再发送与 tid 关联的一系列请求。组件将检查它维护的 tid的列表,如果发送的 tid 不在该列表中,则记录发送的 tid,然后响应发送的 SAP 系统,指示 tid 是否已被记录。如果之前未记录 tid,发送 SAP 系统才会发送一系列请求。这可让发送 SAP 系统可靠地向 camel 路由发送一系列请求。
sap-idoc-destination
Camel SAP IDoc Destination Camel 组件.当 Camel 路由向 SAP 系统发送中间文档(IDocs)列表时,应使用此端点。
sap-idoclist-destination
Camel SAP IDoc List Destination Camel 组件.当 Camel 路由向 SAP 系统发送中间文档(IDocs)列表列表时,应使用此端点。
sap-qidoc-destination
Camel SAP Queued IDoc Destination Camel 组件.当需要 Camel 路由按顺序向 SAP 系统发送中间文档(IDocs)列表时,应使用此组件及其端点。
sap-qidoclist-destination
Camel SAP Queued IDoc List Destination Camel 组件。当 camel 路由将 Intermediate 文档(IDocs)列表按顺序发送到 SAP 系统时,会使用这个组件及其端点。
sap-idoclist-server
Camel SAP IDoc List Server Camel 组件.当发送 SAP 系统需要向 Camel 路由发送中间文档列表时,应使用此端点。这个组件使用 tRFC 协议与 SAP 通信,如 sap-trfc-server-standalone 快速启动中所述。

55.2.5. SAP RFC 目标端点

RFC 目标端点支持到 SAP 的出站通信,使这些端点能够向 SAP 中的 ABAP 功能模块发出 RFC 调用。RFC 目标端点被配置为通过到 SAP 实例的特定连接对特定的 ABAP 函数发出 RFC 调用。RFC 目的地是用于出站连接的逻辑设计,具有唯一的名称。RFC 目的地由一组称为 目标数据 的连接参数指定。

RFC 目标端点将从 IN-OUT 交换的输入消息中提取 RFC 请求,并在函数调用中分配该请求到 SAP。函数调用的响应将在交换的输出消息中返回。由于 SAP RFC 目标端点只支持出站通信,RFC 目标端点仅支持创建制作者。

55.2.6. SAP RFC 服务器端点

RFC 服务器端点支持 SAP 的入站通信,它允许 SAP 中的 ABAP 应用程序向服务器端点发出 RFC 调用。ABAP 应用程序与 RFC 服务器端点交互,就像它是远程功能模块一样。RFC 服务器端点被配置为通过 SAP 实例的特定连接接收对特定 RFC 函数的 RFC 调用。RFC 服务器是入站连接的逻辑设计,具有唯一的名称。RFC 服务器由一组连接参数指定,称为 服务器数据

RFC 服务器端点将处理传入的 RFC 请求,并将其作为 IN-OUT 交换的输入消息进行分配。交换的输出消息将返回为 RFC 调用的响应。由于 SAP RFC 服务器端点仅支持入站通信,RFC 服务器端点仅支持创建消费者。

55.2.7. SAP IDoc 和 IDoc 列表目的地端点

IDoc 目标端点支持到 SAP 的出站通信,然后可以对 IDoc 消息执行进一步处理。IDoc 文档代表一个业务事务,可与非 SAP 系统轻松交换。IDoc 目的地由一组连接参数指定,称为 目标数据

IDoc list 目标端点与 IDoc 目标端点类似,但它处理的消息由 IDoc 文档列表组成。

55.2.8. SAP IDoc list 服务器端点

IDoc 列表服务器端点支持 SAP 的入站通信,使 Camel 路由能够从 SAP 系统接收 IDoc 文档的列表。IDoc list 服务器由一组连接参数指定,称为 服务器数据

55.2.9. 元数据软件仓库

元数据存储库用于存储以下类型的元数据:

功能模块的接口描述
JCo 和 ABAP 运行时使用此元数据来检查 RFC 调用,以确保通信合作伙伴之间的数据类型安全传输,然后再分配这些调用。存储库填充了存储库数据。Repository data 是命名功能模板的映射。功能模板包含描述所有参数及其输入信息的元数据,从功能模块传递,并且具有它描述的功能模块的唯一名称。
IDoc 类型描述
IDoc 运行时使用此元数据来确保在发送到通信合作伙伴前正确格式化 IDoc 文档。基本 IDoc 类型由一个名称、允许的片段列表以及片段之间的分层关系描述组成。一些额外的限制可以在片段上实施:网段可以是强制或可选;可以为每个片段指定最小/最大范围(定义该片段的重复数量)。

因此,SAP 目的地和服务器端点需要访问存储库,以便发送和接收 RFC 调用并发送和接收 IDoc 文档。对于 RFC 调用,调用并由端点处理的所有功能模块的元数据必须位于存储库中;对于 IDoc 端点,端点处理的所有 IDoc 类型和 IDoc 类型扩展的元数据必须位于存储库中。目的地和服务器端点使用的仓库位置在目标数据和相应连接的服务器数据中指定。

如果是 SAP 目标端点,它使用的存储库通常位于 SAP 系统中,默认为它连接的 SAP 系统。这个默认值需要在目标数据中明确配置。此外,目标端点进行的远程功能调用的元数据将已存在于存储库中,用于它调用的任何现有功能模块。因此,目标端点发出的调用元数据不需要 SAP 组件中的配置。

另一方面,由服务器端点处理的功能调用的元数据通常不在 SAP 系统的软件仓库中,必须由位于 SAP 组件的存储库提供。SAP 组件维护命名元数据存储库的映射。存储库的名称与提供元数据的服务器名称对应。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat