我想使用pyrfc使用Python编程语言对SAP进行远程过程。
conn = pyrfc.Connection(user='foouser', passwd='xxxx',
mshost='sap.example.com', sysid='TE1', client='220',
group='EXAMPLE',
)
但是它失败了:
RFC_COMMUNICATION_FAILURE (rc=1): key=RFC_COMMUNICATION_FAILURE, message=
ERROR service 'sapmsTE1' unknown
TIME Tue Dec 18 15:49:40 2018
RELEASE 753
COMPONENT NI (network interface)
VERSION 40
RC -3
MODULE /bas/753_REL/src/base/ni/niuxi.c
LINE 1833
DETAIL NiPGetServByName: 'sapmsTE1' not found
SYSTEM CALL getaddrinfo
COUNTER 1
[MSG: class=, type=, number=, v1-4:=;;;]
怎么了?
我猜sapmsTE1
在/etc/services
中被查找。但是此文件是我的Linux服务器的默认文件(未修改)文件。
我自己找到了答案。您需要提供参数" msserv"。afaik这是一个恒定值。这有效:
conn = pyrfc.Connection(user='foouser', passwd='xxxx',
mshost='sap.example.com', sysid='TE1', client='220',
msserv='3600',
group='EXAMPLE',
)