正确的消息服务器端口 (msserv)?

Correct message server port (msserv)?

如何确定 msserv 连接参数的正确端口?

根据 RfcOpenConnection 的文档:

msserv is only needed, if the service of the message server is not defined as sapms in /etc/services.

在我的例子中,我 运行 一个带有未修改的 /etc/services 文件的标准 linux 发行版。

这意味着我需要 msserv 的匹配值。

在一个系统上,我很幸运,我尝试了 3600 并且成功了。

但是在第二个系统上失败了。

我可以通过 SAP-GUI 连接到系统。

如何确定 msserv 所需的值?

这是这个问题的后续:

@dirk-trilsbeek 是正确的。您可以在此处找到 SAP 产品使用的所有端口:https://cp.hana.ondemand.com/dps/d/preview/47673f06bd494db680ff6150c0b08108/2.0/en-US/frameset.htm

根据应用服务器的安装方式,您的端口将落在 32xx、33xx 或 36xx 范围内,其中 xx 是您可以在 SAPGui 中找到的实例编号。我不知道找到实际使用的端口的简单方法,但有了这些信息,您只需检查 3 即可使其适用于您的 RFC 调用。

消息服务器服务端口号需要请SAP系统管理员告知。安装SAP系统时指定,也可由系统管理员修改配置。

如果您已经可以通过 SAP GUI 访问系统并且您还拥有所需的权限,您还可以在消息服务器监视器中查找它(header 区域中的事务 SMMS 或通过菜单转到 - > Parameters -> Display) - 或者您可以通过事务 ST11 查看消息服务器跟踪文件 dev_ms,如果您有此授权。

有关 SAP 软件使用的端口号列表,请参阅 https://help.sap.com/viewer/ports。 SAP 消息服务器服务端口号仅限于旧 SAP 系统版本的 3600-3699 范围。现在SAP消息服务器服务端口号可以自由配置为任意端口号(当然不能和SAP软件使用的其他端口号冲突)。

如果不指定msserv登录参数,各种SAP Connectors会自动通过模板sapms<SID>构造消息服务器服务名(例如sapmsTE1)和然后将此符号服务名称解析为 TCP 端口号(通常通过从本地文件 etc/services 中查找来实现)。 顺便说一句,参数 msserv 可能包含端口号 符号服务名称。这与 SAP 网关服务的参数 gwserv 相同。