11

我正在开发一个 IDOC 服务器,它可以连接到同一 SAP 系统上的多个目标(网关主机将相同)并接收 IDoc。我不确定我是否需要运行多个 JCoServer 实例或具有多个目标的单个 JCoServer。

jco.server.repository_destination如果是后者,为什么在提供服务器数据时会有一个参数来使用属性指定目标名称?

4

1 回答 1

2

该属性jco.server.repository_destination用于告诉 JCoServer 使用哪个 JCoDestination 从 SAP 系统查询所需的 RFC 元数据。始终需要 RFC 元数据来正确解释传入的 RFC 请求数据。

因此,如果您的 JCoServer 仅用于处理源自同一 SAP 系统(同一 SID)的 RFC 请求,那么指定jco.server.repository_destination就足够了。无论使用此 ABAP 系统中的哪个 RFC 目标(在 SM59 中定义),RFC 元数据都不会改变。

但是如果 JCoServer 也应该服务于从其他 SAP 系统(来自其他 SID)发起的 RFC 请求,那么所需的 RFC 元数据可能会有所不同,您应该jco.server.repository_map另外指定一个。通常,应该始终从发起 RFC 请求的同一 SAP 系统查询 RFC 元数据。

顺便说一句,您不能启动多个具有相同jco.server.progid注册的JCoServer 实例,jco.server.gwhost并且jco.server.gwserv. 如果你尝试,那么 JCo 会抛出一些异常。每个 progid/gwhost/gwserv 组合集都需要一个 JCoServer 实例。

于 2016-12-24T09:13:19.080 回答