Transactions 没有向目录服务器注册的扩展操作处理程序,用于处理请求OID为1.3.6.1.1.21.1';

Transactions 没有向目录服务器注册的扩展操作处理程序,用于处理请求OID为1.3.6.1.1.21.1';,transactions,ldap,rollback,unboundid-ldap-sdk,opends,Transactions,Ldap,Rollback,Unboundid Ldap Sdk,Opends,我使用的是opendsldap服务器和unbounded-ldapsdk-2.3.8.jar。当我请求像StartTransactionExtendedRequest或StartTransactionExtendedResult这样的扩展操作来获取transactionID时,我得到了一个错误,错误为ErrorCode=53(不愿意执行)和messageID=2 下面给出了完整的错误消息: 扩展结果= (com.unbounded.ldap.sdk.extensions.StartTransac

我使用的是
opendsldap服务器
unbounded-ldapsdk-2.3.8.jar
。当我请求像
StartTransactionExtendedRequest
StartTransactionExtendedResult
这样的扩展操作来获取
transactionID
时,我得到了一个错误,错误为
ErrorCode=53(不愿意执行)
messageID=2

下面给出了完整的错误消息:

扩展结果= (com.unbounded.ldap.sdk.extensions.StartTransactionExtendedResult) StartTransactionExtendedResult(结果代码=53(不愿意执行), messageID=2,diagnosticMessage='没有扩展的操作处理程序 已向目录服务器注册以处理扩展操作 请求OID为1.3.6.1.1.21.1')

下面给出了我的代码片段:

    StartTransactionExtendedResult extendedResult;
    ASN1OctetString txnId = new ASN1OctetString();
    String ldapDnForUser = "ou=organization,dc=ecn_id,dc=org";
    try {
        StartTransactionExtendedRequest tReq = new StartTransactionExtendedRequest();
    extendedResult = (StartTransactionExtendedResult) this.ldapCon.getlConn().processExtendedOperation(tReq);

} catch (LDAPException ex) {
    ex.printStackTrace();
    extendedResult = new StartTransactionExtendedResult(new ExtendedResult(ex));
}

txnId = extendedResult.getTransactionID();
LDAPTestUtils.assertResultCodeEquals(extendedResult, ResultCode.SUCCESS);

请任何人帮助解决此问题。

OpenDS不支持有关LDAP事务的RFC5805

因此,您试图使用OpenDS不支持的控件

要查看OpenDS支持哪些控件,请单击该链接:


但我在那里的官方网站上找到了解决方案。所以请告诉我@Mathieu M.[官方网站链接]()未绑定LDAP SDK支持RFC5805,但您所使用的OpenDS服务器不支持它。非常感谢。:)@MathieuBut您是否有任何想法或方法来维护客户端的事务(即获取事务id,并在事务提交之后)??