Python pyRFC无法通过SNC连接

Python pyRFC无法通过SNC连接,python,python-3.x,sap,saprfc,pyrfc,Python,Python 3.x,Sap,Saprfc,Pyrfc,我已经使用pyRFC有一段时间了,我试图看看是否可以使用SNC信息作为连接参数 我尝试了用户和密码,效果很好 我还验证了路径中是否有sncgss32.dll文件(路径在SNC_库中)。 这与SAP登录有关(我不需要在SAP登录中使用“用户和密码”),而且我还看到了Excel中的另一个开发,我假设它通过SNC连接,因为它不需要用户和密码,所以我不确定我这方面是否出了问题,或者SAP中是否出了问题 但是发现了这个错误 Traceback (most recent call last): File

我已经使用pyRFC有一段时间了,我试图看看是否可以使用SNC信息作为连接参数

我尝试了用户和密码,效果很好

我还验证了路径中是否有sncgss32.dll文件(路径在SNC_库中)。 这与SAP登录有关(我不需要在SAP登录中使用“用户和密码”),而且我还看到了Excel中的另一个开发,我假设它通过SNC连接,因为它不需要用户和密码,所以我不确定我这方面是否出了问题,或者SAP中是否出了问题

但是发现了这个错误

Traceback (most recent call last):
  File "<pyshell#18>", line 1, in <module>
    conn = Connection(ashost="server.com", sysnr="00", client="540", user="user", snc_partnername="p:domain\user")
  File "src/pyrfc/_pyrfc.pyx", line 181, in pyrfc._pyrfc.Connection.__init__
  File "src/pyrfc/_pyrfc.pyx", line 239, in pyrfc._pyrfc.Connection._open
  File "src/pyrfc/_pyrfc.pyx", line 269, in pyrfc._pyrfc.Connection._error
pyrfc._exception.CommunicationError: RFC_COMMUNICATION_FAILURE (rc=1): key=RFC_COMMUNICATION_FAILURE, message=
LOCATION    CPIC (TCP/IP) on local host with Unicode
ERROR       GSS-API(maj): An invalid name was supplied
            Import of a name failed
            name="p:domain\user"
TIME        Fri Sep 06 15:39:30 2019
RELEASE     753
COMPONENT   SNC (Secure Network Communication)
VERSION     6
RC          -4
MODULE      D:/depot/bas/753_REL/src/krn/snc/sncxxall.c
LINE        2738
DETAIL      SncPGSSImportName
SYSTEM CALL gss_import_name
COUNTER     3
 [MSG: class=, type=, number=, v1-4:=;;;]
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
conn=Connection(ashost=“server.com”、sysnr=“00”、client=“540”、user=“user”、snc\u partnername=“p:domain\user”)
文件“src/pyrfc/_pyrfc.pyx”,第181行,在pyrfc.\u pyrfc.Connection.\uuu init__
文件“src/pyrfc/_pyrfc.pyx”,第239行,在pyrfc._pyrfc.Connection.\u打开
文件“src/pyrfc/_pyrfc.pyx”,第269行,在pyrfc._pyrfc.Connection.\u错误
pyrfc.\u异常。通信错误:RFC\u通信故障(rc=1):键=RFC\u通信故障,消息=
使用Unicode的本地主机上的位置CPIC(TCP/IP)
错误GSS-API(maj):提供的名称无效
导入名称失败
name=“p:域\用户”
时间2019年9月6日星期五15:39:30
第753版
组件SNC(安全网络通信)
版本6
RC-4
模块D:/depot/bas/753_REL/src/krn/snc/sncxxall.c
第2738行
详细信息SncPGSSImportName
系统调用gss\u导入\u名称
柜台3
[MSG:class=,type=,number=,v1-4:=;;]
我查看了部分文档,但找不到我的配置中是否存在问题,或者是否与缺少的SAP配置有关


谢谢。

有两件事需要考虑:1)这里有一个指南,其中包含要遵循的步骤:2)如果您的SAP在cryptolib 3.0上,sncgss.dll可能已经过时。您需要从SAP团队请求最新的SNC DLL,然后再次测试(使用3.0)。您说SNC登录与SAP登录正常工作。因此,我建议如下:1。添加环境变量“CPIC_TRACE=3”和“CPIC_TRACE_DIR=C:\temp”(或易于查找且Windows用户具有写入权限的类似目录)2。在生成的跟踪文件中使用SAPLogon登录一次,您将看到两件有趣的事情:A)SNC_LIB SAPLogon正在使用哪个。(正如AecorSoft所说,sncgss.dll现在看起来不太合适。)B)SAPLogon正在使用哪种类型的SNC参数。(错误消息表明,您的SNC_PARTNERNAME值有问题)我能够设置并获取跟踪文件输出,但它没有提供任何有关SNC参数的信息