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

There is no extended operation handler registered with the Directory Server for handling extended operations with a request OID of 1.3.6.1.1.21.1'

我正在使用 OpenDS LDAP serverUnboundid-ldapsdk-2.3.8.jar。当我请求像 StartTransactionExtendedRequestStartTransactionExtendedResult 这样的扩展操作来获取 transactionID 时,我得到了 ErrorCode = 53(Unwilling to perform )messageID = 2.[=19 的错误=]

完整的错误信息如下:

extendedResult = (com.unboundid.ldap.sdk.extensions.StartTransactionExtendedResult) StartTransactionExtendedResult(resultCode=53 (unwilling to perform), messageID=2, diagnosticMessage='There is no extended operation handler registered with the Directory Server for handling extended operations with a request OID of 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 支持哪些控件,请遵循 link :

https://java.net/projects/opends/pages/2_4_SearchingUsingControls