Subject: Extended operation errors

From: "Jim Sermersheim" <[email-masked]>
Date: Wed, 09 Aug 2000 17:02:20 -0600

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?

---

From: "Kurt D. Zeilenga" <[email-masked]>
Date: Wed, 09 Aug 2000 16:46:58 -0700

At 05:02 PM 8/9/00 -0600, Jim Sermersheim wrote:
>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.

protocolError, per 4.12:
   If the server does not recognize the request name, it MUST return
   only the response fields from LDAPResult, containing the
   protocolError result code.

>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,…

I suggest the specification defining the extended operation define
additional resultCodes as needed.