如何为msserv连接参数确定正确的端口?
根据RfcOpenConnection 的文档:
仅当消息服务器的服务未在/ etc / services中定义为sapms时才需要msserv。
就我而言,我运行带有未修改的/etc/services
文件的标准linux发行版。
这意味着我需要msserv
的匹配值。
在一个系统上,我很幸运,我尝试了3600
并且有效。
但是在第二个系统上,这失败了。
我可以通过SAP-GUI连接到系统。
如何确定msserv
的所需值?
这是该问题的后续内容:PyRFC: Connect via mshost (not ashost)
答案 0 :(得分:2)
您需要请SAP系统管理员告诉您消息服务器服务端口号。它是在安装SAP系统时指定的,或者以后可以由系统管理员更改和配置。
如果您已经可以通过SAP GUI访问系统,并且还具有所需的授权,则还可以在消息服务器监视器中查找此消息(在标题区域或通过菜单转到->参数->显示,该消息为交易SMMS) -或者,如果您具有此授权,则可以通过事务ST11查看消息服务器跟踪文件dev_ms
。
请参阅https://help.sap.com/viewer/ports,以获取SAP软件使用的端口号列表。 仅对于旧的SAP系统版本,SAP消息服务器服务端口号限制在3600-3699范围内。如今,SAP消息服务器服务端口号可以自由配置为任何端口号(当然不会与SAP软件使用的其他端口号冲突)。
如果您未指定msserv
登录参数,则各种SAP Connectors将通过模板sapms<SID>
(例如sapmsTE1
)自动构造消息服务器服务名称,然后解析然后将此符号服务名更改为TCP端口号(通常是通过从本地文件etc/services
中查找来实现)。
顺便说一下,参数msserv
可以包含端口号或符号服务名。这与SAP网关服务的参数gwserv
相同。
答案 1 :(得分:1)
@ 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调用。