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,并在事务提交之后)??