Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/google-chrome-extension/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ibm mq openldap:';Can';t联系LDAP服务器';在此之前工作正常的同一连接句柄出错_Ibm Mq_Openldap - Fatal编程技术网

Ibm mq openldap:';Can';t联系LDAP服务器';在此之前工作正常的同一连接句柄出错

Ibm mq openldap:';Can';t联系LDAP服务器';在此之前工作正常的同一连接句柄出错,ibm-mq,openldap,Ibm Mq,Openldap,我正在用C构建一个openldap用户身份验证模块,我们希望将其与MQ身份验证一起使用。我们目前正在程序启动时初始化ldap结构(即调用ldap_init()),然后在收到身份验证请求时使用相同的ldap句柄(使用ldap_simple_bind_s(ld,BASEDN,pass)) 我们现在遇到的问题是,在一定时间内(可能约2小时,但可能与环境有关),ldap_simple_bind__s()返回ldap_SUCCESS,但后来成功的同一个ldap句柄失败,并出现错误 (-1)-无法联系LDA

我正在用C构建一个openldap用户身份验证模块,我们希望将其与MQ身份验证一起使用。我们目前正在程序启动时初始化ldap结构(即调用ldap_init()),然后在收到身份验证请求时使用相同的ldap句柄(使用ldap_simple_bind_s(ld,BASEDN,pass))

我们现在遇到的问题是,在一定时间内(可能约2小时,但可能与环境有关),ldap_simple_bind__s()返回ldap_SUCCESS,但后来成功的同一个ldap句柄失败,并出现错误 (-1)-无法联系LDAP服务器

为了确保主机名没有更改,我尝试在问题开始时使用以下方法获取LDAP主机名: ldap_get_选项(ld、ldap_OPT_主机名和主机名); 这是完全一样的

当然,如果我再次使用ldap_init(),我将得到一个新的句柄,它工作得很好,但我们无法在MQ中这样做,因为它会产生一些内存访问问题(未映射寻址)。因此,我想理想地重新实例化相同的句柄,直到那时它还在工作

你认为有什么办法可以做到这一点吗。? 我使用的是openldap 2.3.43库,应用程序运行在Linux上

您认为在2.4 openldap上引入的新TCP KEEPALIVE选项在这里有帮助吗


此外,我还可以看到一个选项LDAP\u OPT\u RESTART,它可以用于此上下文吗?

首先,让LDAP代码在MQ出口内正常工作是非常困难的。我知道,我花了数年时间完善MQAUSX,使其能够在10个分布式平台上正常工作。在编译和链接LDAP和MQ安全出口时,每个平台都有自己的奇怪和愚蠢的问题

OpenLDAP v2.3.*很旧,不同的迭代有不同/奇怪的错误。我刚刚花了几个月的时间(2013年)与客户和Novell一起修复x86 64位上SLES 11 SP2中的一些LDAP问题

最后,您似乎不了解MQ中通道的并行处理。通道可以在不同的线程上调用,也可以在不同的进程中调用,具体取决于通道的设置

出于好奇,您在这个问题上花了多少天的时间,总共花了多少天创建MQ安全出口?从你的其他帖子来看,你似乎快一个月了,对吗