- From: Vamsi Motukuru <vamsi.motukuru@oracle.com>
- Date: Thu, 03 Mar 2005 16:14:48 -0500
- To: www-xkms@w3.org
IMO, a client/server implementation should not choke when it receives a message with optional elements that it does not support. The server can generate an error while the client can deduce that it has not been correctly configured to talk to the server. IMO, this behavior is consistent with wire level interoperability. Making elements optional/required/recommended is really about trying to get XKMS services/applications to interoperate, which is a more than just specifying the elements that need to be present in an XKMS message. - Vamsi Jose Kahan wrote: > After some thought and analysis, my feeling is that XKMS has > an ambiguous use of the term [Optional] when referring to > elements and attributes. > > The interpretations that this term can have here are: > > - An element or attribute that a client or a server may > choose to include in a message. > - Implementation of a given element or attribute is > required/recommended/optional > > The point I want to make here is that we may have an optional > element, but whose implementation is required by a server. If the > implementation is optional, the server may then decide to ignore > it. However, it should not ignore it if the implementation is required. > > In few cases, the spec actually says that the implementation is optional. > Most of the time it just says optional and it lets the reader the guesswork > as to whether the inclusion of the element/attribute or its support by a > client/server is optional. > > In my opinion, this is is a source of confusion and of potential > interoperability problems. The spec should be more precise here, while > still leaving freedom of choice to the user. > > You'll find here below a list of all the elements and attributes > that are optional. I think it would really be good to have > some extra text that says if their implementation is optional, > recommended or required. We could add this as an appendix too. > > Thoughts? > > -jose > > [88] MessageAbstractType > > <ds:Signature> [Optional] > <OpaqueClientData>[Optional] > Nonce [Optional] > > [97] RequestAbstractType > > <PendingNotification> [Optional] > OriginalRequestId [Optional] > ResponseLimit [Optional] > > [114] <Result> > <RequestSignatureValue> [Optional] > ResultMinor [Optional] > RequestId [Optional] > > [134] <StatusResult> > Success [Optional] > Failed [Optional] > Pending [Optional] > > [172] KeyBindingAbstractType > > Id [Optional] > <ds:KeyInfo> [Optional] > > [189] <UnverifiedKeyBinding> > > ValidityInterval> [Optional] > > [191] <ValidityInterval> > > NotBefore [Optional] > NotOnOrAfter [Optional] > > [213] <QueryKeyBinding> > > <TimeInstant> [Optional] > > [282] <PrototypeKeyBinding> > > <ValidityInterval> [Optional] > <RevocationCodeIdentifier> [Optional] > > [291] <Authentication> > > KeyBindingAuthentication> [Optional] > <NotBoundAuthentication> [Optional] > > [311] <RegisterRequest> > > <ProofOfPossesion> [Optional] > > [313] <RegisterResult> > > <PrivateKey> [Optional] > > [315] <ReissueRequest> > > <ProofOfPossesion> [Optional] > > [325] <RecoverResult> > > <PrivateKey> [Optional] >
Received on Thursday, 3 March 2005 21:15:23 UTC