287.2.2. 目标配置

概述

目的地的配置在 SAP 组件的 destinationDataStore 属性中维护。此映射中的每个条目都会配置与 SAP 实例的有不同出站连接。每个条目的密钥是出站连接的名称,在目的地端点 URI 的 destinationName 组件中使用,如 URI 格式部分中所述。

每个条目的值是目标数据配置对象 - org.fusesource.camel.component.sap.model.rfc.DestinationDataImpl - 指定出站 SAP 连接的配置。

目标配置示例

下面的蓝图 XML 代码演示了如何使用名称 quickstartDest 配置示例目的地。

<?xml version="1.0" encoding="UTF-8"?>
<blueprint ... >
    ...
    <!-- Create interceptor to support tRFC processing -->
    <bean id="currentProcessorDefinitionInterceptor"
          class="org.fusesource.camel.component.sap.CurrentProcessorDefinitionInterceptStrategy" />

    <!-- Configures the Inbound and Outbound SAP Connections -->
    <bean id="sap-configuration"
        class="org.fusesource.camel.component.sap.SapConnectionConfiguration">
        <property name="destinationDataStore">
            <map>
                <entry key="quickstartDest" value-ref="quickstartDestinationData" />
            </map>
        </property>
    </bean>

    <!-- Configures an Outbound SAP Connection -->
    <!-- *** Please enter the connection property values for your environment *** -->
    <bean id="quickstartDestinationData"
        class="org.fusesource.camel.component.sap.model.rfc.impl.DestinationDataImpl">
        <property name="ashost" value="example.com" />
        <property name="sysnr" value="00" />
        <property name="client" value="000" />
        <property name="user" value="username" />
        <property name="passwd" value="password" />
        <property name="lang" value="en" />
    </bean>

</blueprint>

例如,在配置上述 Blueprint XML 文件中的目的地后,您可以使用以下 URI 调用 BAPI_FLCUST_GETLIST 远程函数调用:

sap-srfc-destination:quickstartDest:BAPI_FLCUST_GETLIST

拦截器用于 tRFC 和 qRFC 目的地

前面的目的地配置显示了 CurrentProcessorDefinitionInterceptStrategy 对象的实例化。此对象会在 Camel 运行时安装拦截器,它允许 Camel SAP 组件在处理 RFC 事务时跟踪其在 Camel 路由中的位置。如需了解更多详细信息,请参阅 “事务性 RFC 目标端点”一节

重要

这个拦截器对于事务 RFC 目标端点至关重要(如 sap-trfc-destinationsap-qrfc-destination),且必须在 Camel 运行时中安装,才能正确管理出站事务的 RFC 通信。如果在运行时未找到策略,则目标 RFC 事务处理程序会在 Camel 日志中发出警告,在这种情况下,Camel 运行时需要重新置备并重启,以正确地管理出站事务 RFC 通信。

登录和身份验证选项

下表列出了在 SAP 目标数据存储中配置目的地的 logon 和身份验证选项

名称

默认值

描述

client

 

SAP 客户端, 必需的 logon 参数

user

 

logon user,用于基于密码的身份验证的 logon 参数

aliasUser

 

可以使用 logon 用户别名而不是 logon 用户

userId

 

用于登录至 ABAP AS 的用户身份。如果目标配置使用 SSO/assertion ticket、证书、当前用户、或 SNC 环境进行身份验证,则由 JCo 运行时使用。如果未设置用户和用户别名,则需要用户 ID。此 ID 永不会发送到 SAP 后端,它会被本地的 JCo 运行时使用。

passwd

 

logon password,用于基于密码的身份验证的 logon 参数

lang

 

尚未定义,则使用默认用户语言的登录语言

mysapsso2

 

使用指定的 SAP Cookie Version 2 作为基于 SSO 验证的 logon ticket

x509cert

 

使用指定的 X509 证书进行基于证书的身份验证

lcheck

 

延迟身份验证后,直到第一次调用 - 1 (enable)。仅在特殊情况下使用。

useSapGui

 

使用可见、隐藏或不使用 SAP GUI

codePage

 

其他 logon 参数用于定义将用于转换 logon 参数的代码页面。仅在特殊情况下使用

getsso2

 

在登录后订购 SSO 票据,其获取的票据在目标属性中可用

denyInitialPassword

 

如果设置为 1,使用初始密码将导致异常(默认为 0)。

连接选项

下表列出了在 SAP 目标数据存储中配置目的地的连接选项:

名称

默认值

描述

saprouter

 

用于连接 SAP Router 后系统的 SAP Router 字符串。SAP Router 字符串包含 SAP 路由器及其端口号链,格式为 :(/H/<host>[/S/<port>])+

sysnr

 

SAP ABAP 应用程序服务器的系统数量,需要直接连接

ashost

 

SAP ABAP 应用程序服务器,需要直接连接

mshost

 

SAP message server, 用于负载平衡连接的必需属性

msserv

 

SAP 消息服务器端口,用于负载平衡连接的可选属性。为了解决 etc/services 中的服务名称 sapmsXXX 查找,由操作系统的网络层执行。如果使用端口号而不是符号服务名称,则不会执行查找,不需要其他条目。

gwhost

 

允许指定 concrete 网关,该网关应该用于建立与应用服务器的连接。如果没有在应用程序服务器中指定网关

gwserv

 

使用 gwhost 时,应设置。允许指定该网关上使用的端口。如果不指定应用服务器上的网关端口。为了解决 etc/services 中的服务名称 sapgwXXX 查找,由操作系统的网络层执行。如果使用端口号,而不是符号服务名称,则不会执行任何查找,不需要额外的条目。

r3name

 

SAP 系统,即负载平衡连接的强制属性的系统 ID。

group

 

SAP 应用程序服务器组,负载均衡连接的强制属性

连接池选项

下表列出了在 SAP 目标数据存储中配置目的地的 连接池 选项:

名称

默认值

描述

peakLimit

0

可以同时为目的地创建的活跃出站连接数上限。值 0 可允许无限数量的活动连接,否则如果值小于 jpoolCapacity 的值,它将自动增加到这个值。默认设置为 poolCapacity 的值,或者如果尚未指定 池容量,则默认值为 0 ( 无限)。

poolCapacity

1

目标打开的最大空闲出站连接数。值 0 具有没有连接池(默认为 1)的效果。

expirationTime

 

目标内部有空闲连接可以关闭的时间(以毫秒为单位)

expirationPeriod

 

目标检查所发行的连接的过期时间(以毫秒为单位)。

maxGetTime

 

如果应用已经分配了最多允许的连接数,以毫秒为单位等待连接数上限。

保护网络连接选项

下表列出了在 SAP 目标数据存储中配置目的地 的安全网络选项

名称

默认值

描述

sncMode

 

安全网络连接(SNC)模式, 0 (off)或 1 (on)

sncPartnername

 

SNC 合作伙伴,例如: p:CN=R3、O=XYZ-INC、C=EN

sncQop

 

SNC 级安全: 19

sncMyname

 

自己的 SNC 名称。覆盖环境设置

sncLibrary

 

提供 SNC 服务的库的路径

仓库选项

下表列出了在 SAP 目标数据存储中配置目的地 的存储库 选项:

名称

默认值

描述

repositoryDest

 

指定应将哪个目的地用作存储库。

repositoryUser

 

如果没有设置存储库目的地,并且设置了此属性,它将被用作用户进行存储库调用。这可让您使用其他用户进行存储库查找。

repositoryPasswd

 

仓库用户的密码。必需,如果应使用存储库用户。

repositorySnc

 

(可选) 如果将 SNC 用于此目的地,如果此属性设为 0, 则可以将其关闭用于存储库连接。默认设置为 jco.client.snc_mode。仅适用于特殊情况。

repositoryRoundtripOptimization

 

启用 RFC_METADATA_GET API,在单个往返中提供存储库数据。

1
激活在 ABAP 系统中使用 RFC_METADATA_GET
0
在 ABAP 系统中取消激活 RFC_METADATA_GET

如果没有设置属性,则目的地最初执行远程调用来检查 RFC_METADATA_GET 可用。如果可用,则目的地将使用它。

注意: 如果存储库已初始化(例如,由于该仓库被其他目标使用),则此属性不起作用。通常,此属性与 ABAP 系统有关,所有目的地的值应与同一 ABAP 系统相同。如需后端先决条件,请参阅 1456826

跟踪配置选项

下表列出了在 SAP 目标数据存储中配置目的地的 trace 配置选项

名称

默认值

描述

trace

 

启用/禁用 RFC 跟踪(01)

cpicTrace

 

启用/禁用 CPIC trace [0..3]