WSAECONNREFUSED:通过 PyRFC 建立连接时连接被拒绝

我选择了 PyRFC 库来完成从 Python 连接到 SAP 的任务。除了连接,一切正常。代码在连接到 SAP 时停止并显示错误消息。


import pyrfc

def get_connection(connmeta):

print('Connecting ...', connmeta['ashost'])

return Connection(**connmeta)


TEST = { 'user' : 'XX',

'passwd' : 'XX',

'ashost' : 'XXX.XXX.XXX.XXX',

'sysnr' : '00',

'client' : '400',

'lang' : 'EN' }


conn = get_connection(TEST)

它抛出:


错误信息


pyrfc._exception.CommunicationError: RFC_COMMUNICATION_FAILURE (rc=1): key=RFC_COMMUNICATION_FAILURE, message=


LOCATION CPIC (TCP/IP) 在本地主机 XXX-XXXXXXX 与 Unicode


错误伙伴 'XXX.XXX.XXX.XXX:3300' 未到达


时间 2018 年 11 月 13 日星期二 16:33:59


第 721 章


组件 NI(网络接口)


第 40 版


遥控 -10


模块 nixxi.cpp


第 3283 行


详细信息 NiPConnect2:XXX.XXX.XXX.XXX:3300


系统调用连接


错误号 10061


ERRNO TEXT WSAECONNREFUSED:连接被拒绝


计数器 2


[MSG:class=, type=, number=, v1-4:=;;;]


似乎问题出在服务器的防火墙上。我在互联网上搜索了大多数这样的答案,包括 SAP 社区。


然后我 telnet SAP 的 IP 端口并超时。似乎关闭的端口会导致连接失败。


但在使用 Python 之前,我使用 VBA 从 SAP 获取数据。VBA中的配置与Python中的几乎相同

它工作正常,但效率低下,这就是我选择 Python 作为解决方法的原因。有谁知道为什么 VBA 成功而 Python 失败了?


冉冉说
浏览 960回答 2
2回答

慕莱坞森

“连接被拒绝”是标准的 TCP/IP 错误消息,表示端口号不正确。仔细检查,您的后端系统的 SystemNumber 是否真的是“00”。

慕尼黑5688855

此消息看起来像是网络问题:连接被拒绝
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python