I have two questions concerning proper result codes to be returned for
extended operations. The first is, what should be returned when a server does
not support a particular extended operation? We could return other, or maybe
protocolError or unwillingToPerform. This is different from the case where a
server supports the extended operation, but is unable to service it at this time
(in which case busy should be returned).
The other has to do with extended operations that need to report error
conditions that are not currently defined. For example, say there's an extended
operation that starts the replication process, an error may need to be
returned that states that the replication agreement is not defined
correctly. In this case, none of the existing LDAP resultCodes can sufficiently
communicate the problem. I propose that each extension define its own
error reporting mechanism (if appropriate), and we either create yet another
result code called extendedOperationError, or just use other to signal that one
should look at the results of the extended operation.
Any other ideas?
|