我正在使用OpenDS LDAP server
和Unboundid-ldapsdk-2.3.8.jar
。当我请求StartTransactionExtendedRequest
或StartTransactionExtendedResult
之类的扩展操作来获取transactionID
时,我收到了ErrorCode = 53(Unwilling to perform )
和messageID = 2
的错误。
完整的ERROR消息如下:
extendedResult = (com.unboundid.ldap.sdk.extensions.StartTransactionExtendedResult) StartTransactionExtendedResult(resultCode = 53(不愿意执行), messageID = 2,diagnosticMessage ='没有扩展操作处理程序 在Directory Server中注册以处理扩展操作 请求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);
请任何人帮忙解决问题。
答案 0 :(得分:1)
OpenDS不支持有关LDAP事务的RFC5805。
因此,您尝试使用OpenDS不支持的控件。
要查看OpenDS支持的控件,请点击以下链接:
https://java.net/projects/opends/pages/2_4_SearchingUsingControls