Subject: reporting multiple rpc-errors

From: Andy Bierman <[email-masked]>
Date: Wed, 23 Mar 2005 08:55:04 -0800

Hi,

The section on <rpc-error> and its XSD fragment are wrong in the -05 draft.

The following text (or something like it) should be added to sec. 4.3:

   If an agent encounters multiple errors during the processing of an <rpc>
   request, the <rpc-reply> MAY contain multiple <rpc-error> elements.
   However, an agent is not required to detect or report more than one
   <rpc-error> element, if a request contains multiple errors.  An agent
   is not required to check for particular error conditions in a specific
   sequence.  An agent MUST return an <rpc-error> element if any error
   conditions occur during processing, and SHOULD return an <rpc-error>
   element if any warning conditions occur during processing.

Here is the XSD for <rpc-reply>:

     <xs:complexType name="rpc-replyType">
       <xs:choice>
         <xs:element name="ok" minOccurs="0"/>
         <xs:element name="rpc-error"
           type="rpc-errorType" minOccurs="0"/>
         <xs:element ref="data" minOccurs="0"/>
       </xs:choice>
       <xs:attribute name="message-id" type="xs:string" use="required"/>
     </xs:complexType>

1) The <rpc-error> element should have maxOccurs="unbounded" specified.
2) This XSD design 'choice' doesn't allow for errors/warnings and data to be
   returned (just one or the other).  This is broken.  It doesn't
   allow for the 'ignore-error' error-option in the <edit-config> operation.

   I think this XSD is more what we wanted when we designed the 
<edit-config>
   operation:

     <xs:complexType name="rpc-replyType">
       <xs:choice>
         <xs:element name="ok"/>
         <xs:group ref="rpc-response"/>
       </xs:choice>
       <xs:attribute name="message-id" type="xs:string" use="required"/>
     </xs:complexType>

     <xs:group name="rpc-response">
       <xs:sequence>
         <xs:element name="rpc-error"
           type="rpc-errorType" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element ref="data" minOccurs="0"/>
       </xs:sequence>
     </xs:group>

Andy

--
to unsubscribe send a message to [email-masked] with
the word 'unsubscribe' in a single line as the message text body.
archive: <http://ops.ietf.org/lists/netconf/>