Search code examples
transactionsldaprollbackunboundid-ldap-sdkopends

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'


I am using OpenDS LDAP server and Unboundid-ldapsdk-2.3.8.jar. When I am requesting for an extended operation like StartTransactionExtendedRequest or StartTransactionExtendedResult to get the transactionID then I got an error with a ErrorCode = 53(Unwilling to perform ) and messageID = 2.

The complete ERROR msg given below:

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')

My code snippet given below also:

    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);

Please anyone help how to fix it up.


Solution

  • OpenDS does not support RFC5805 about LDAP transactions.

    As a consequence you're trying to use a control that is not supported by OpenDS.

    To see what are the controls OpenDS supports, follow that link :

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