(file) Return to CIM_HTTP_Mapping10.htm CVS log (file) (dir) Up to [Pegasus] / dmtfdocs

   1 karl  1.1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
   2           <HTML>
   3           <HEAD>
   4           <META content="text/html; charset=unicode" http-equiv=Content-Type>
   5           <META content="Microsoft FrontPage 4.0" name=GENERATOR>
   6           <TITLE>Specification for CIM Operations over HTTP</TITLE>
   7           <LINK TYPE="text/css" REL=STYLESHEET href="cimxml.css">
   8           </HEAD>
   9           <BODY>
  10           <DL>
  11             <DD>
  12             <P class=CenterTitle>Distributed Management Task Force, 
  13             Inc.</P>
  14             <P class=BigCenterTitle> Specification for&nbsp;CIM 
  15             Operations over HTTP</P>
  16             <P class=CenterTitle>Version 1.0</P>
  17             <P class=CenterTitle>August&nbsp; 11th, 1999</P>
  18             <P align=justify>Technical inquiries and editorial 
  19             comments should be directed in writing to:</P>
  20             <P align=center>Distributed Management Task Force, Inc. 
  21             (DMTF)</P>
  22 karl  1.1   <P align=center>c/o <A href="http://www.mkinc.com/" 
  23             >MacKenzie Kesselring, Inc.</A> <BR 
  24             >200 SW Market Street, Suite 450, <BR 
  25             >Portland, OR 97201 <BR>(503) 
  26             225-0725 <BR>(503) 225-0765 (fax) <BR 
  27             >email: <A href="mailto://dmtf-info@dmtf.org" >dmtf-info@dmtf.org</A> </P>
  28             <H3>Participants</H3>
  29             <DIR>
  30             <DIR>
  31             <P>This list shows the names of the companies and 
  32             organizations that have participated in the Distributed Management Task Force - 
  33             CIM TC XML Sub-Committee whose contributions made this document possible.</P>
  34             <UL>
  35               <LI>Agranat Systems 
  36               <LI>Hewlett-Packard Company 
  37               <LI>IBM Corporation 
  38               <LI>Microsoft Corporation 
  39               <LI>Tivoli Systems, Inc. 
  40               <LI>Customer Support Consortium 
  41               <LI>Sun Microsystems, Inc.
  42               <LI>Intel Corporation</LI></UL></DIR></DIR>
  43 karl  1.1   <H3>Change History</H3>
  44             <DIV align=center>
  45             <TABLE border=1 class=ChangeHistory>
  46               <TBODY>
  47               <TR>
  48                 <TD width="17%">Version 1.0a</TD>
  49                 <TD width="30%">May 1st, 1999</TD>
  50                 <TD width="52%">First Draft Release</TD></TR>
  51               <TR>
  52                 <TD width="17%">Version 1.0b</TD>
  53                 <TD width="30%">May 7th, 1999</TD>
  54                 <TD width="52%">Updates after first Working Group Review</TD></TR>
  55               <TR>
  56                 <TD width="17%">Version 1.0c</TD>
  57                 <TD width="30%">May 11th, 1999</TD>
  58                 <TD width="52%">Further updates</TD></TR>
  59               <TR>
  60                 <TD width="17%">Version 1.0d</TD>
  61                 <TD width="30%">May 25th, 1999</TD>
  62                 <TD width="52%">Changed LOCAL to PROPAGATED<BR>Added 
  63                   VALUETYPE&nbsp;attribute to KEYVALUE</TD></TR>
  64 karl  1.1     <TR>
  65                 <TD width="17%">Version 1.0e</TD>
  66                 <TD width="30%">May 28th, 1999</TD>
  67                 <TD width="52%">
  68                   <P>AssociationTraversal dependent on BasicRead. not 
  69                   BasicWrite<BR><BR>CIMFunctionalGroups OPTIONS header renamed to 
  70                   CIMSupportedFunctionalGroups<BR><BR>501 returned by server if it does 
  71                   not support multiple requests and receives such a request<BR><BR>Added 
  72                   some operation parameters and allowed them to take default 
  73               values</P></TD></TR>
  74               <TR>
  75                 <TD width="17%">Version 1.0</TD>
  76                 <TD width="30%">June&nbsp;2nd, 1999</TD>
  77                 <TD width="52%">
  78                   <P>Clarified meaning of default intrinsic parameter value<BR>Resolved 
  79                   ambiguity over server response to protocol version that is not 
  80                   supported<BR>Clarified use of property list in Associators and 
  81                   References intrinsic methods</P></TD></TR>
  82               <TR>
  83                 <TD width="17%"></TD>
  84                 <TD width="30%">July&nbsp;6th, 1999</TD>
  85 karl  1.1       <TD width="52%">
  86                   <P>Updated examples to reflect DTD changes<BR>QueryExecution based on 
  87                   BasicRead, not BasicWrite</P></TD></TR>
  88               <TR>
  89                 <TD width="17%"> </TD>
  90                 <TD width="30%">July&nbsp;20th, 1999</TD>
  91                 <TD width="52%">
  92                   <P>Remove IncludeClassOrigin and IncludeQualifiers 
  93                   parameters from ExecQuery.<BR>Parameters to Associators, AssocitorNames, 
  94                   References and ReferenceNames which express class names are modelled as 
  95                   &lt;className&gt; rather than string.<BR>NewValue parameter to 
  96                   SetProperty is now OPTIONAL<BR>Clarified semantics of optional 
  97                   parameters, and the distinction between a default parameter value and a 
  98                   NULL parameter value.<BR>    
  99                           
 100                       Clarified Create and 
 101                   Modify operational semantics.<BR>Clarified validation requirements and 
 102                   introduced CIMValidation header for OPTIONS response.<BR>Introduced 
 103                   CIMError response header to disambiguate fundamental CIM-specific errors 
 104                   that map    
 105                           
 106 karl  1.1             to the same HTTP status 
 107               code.</P>      
 108                   </TD></TR></TBODY></TABLE></DIV>
 109             <H3><A name=top>Contents</A></H3>
 110             <P style="MARGIN-RIGHT: 0px"><A href="#SecAbstract" >Abstract</A><BR 
 111             ><A href="#SecIntroduction" >1. Introduction</A><BR>
 112             <DL>
 113               <DD><A href="#SecRequirements" >1.1. Requirements</A><BR 
 114               >
 115               <DD><A href="#SecTerminology" >1.2. Terminology</A><BR>
 116               <DD><A href="#SecStyle" >1.3. Style</A><BR></DD></DL><A href="#SecCIMOperationsMessageFormat" >2.&nbsp;CIM Operation Syntax 
 117             and Semantics</A><BR>
 118             <DL>
 119               <DD><A href="#SecOverview" >2.1. Overview</A>
 120               <DL> 
 121               <DD><A href="#SecWellFormed">2.1.1. Well-Formed, 
 122                 Valid and Loosely Valid</A></DD></DL>
 123               <DD><A href="#SecOperationalSemantics">2.2. Operational Semantics</A> 
 124               <DD><A href="#SecMethodInvocations">2.3. Method 
 125               Invocations</A>
 126               <DL>
 127 karl  1.1      <DD><A href="#SecSimpleOperations">2.3.1. Simple 
 128                 Operations</A>
 129                <DD><A href="#SecMultipleOperations">2.3.2. 
 130                 Multiple Operations</A>&nbsp;
 131            
 132                <DD><A href="#SecStatusCodes">2.3.3. Status Codes</A> </DD></DL>
 133               <DD><A href="#SecIntrinsicMethods">2.4. Intrinsic Methods</A>
 134               <DL>
 135                <DD><A href="#SecGetClass">2.4.1. GetClass</A>
 136                 <DD><A href="#SecGetInstance">2.4.2. GetInstance</A>
 137                 <DD><A href="#SecDeleteClass">2.4.3. DeleteClass</A>
 138                 <DD><A href="#SecDeleteInstance">2.4.4. DeleteInstance</A>
 139                 <DD><A href="#SecCreateClass">2.4.5. CreateClass</A>
 140                 <DD><A href="#SecCreateInstance">2.4.6. CreateInstance</A>
 141                 <DD><A href="#SecModifyClass">2.4.7. ModifyClass</A>
 142                 <DD><A href="#SecModifyInstance">2.4.8. ModifyInstance</A>&nbsp;
 143                 <DD><A href="#SecEnumerateClasses">2.4.9. 
 144                 EnumerateClasses</A>
 145                 <DD><A href="#SecEnumerateClassNames">2.4.10. 
 146                 EnumerateClassNames</A>
 147                 <DD><A href="#SecEnumerateInstances">2.4.11. 
 148 karl  1.1       EnumerateInstances</A>
 149                 <DD><A href="#SecEnumerateInstanceNames">2.4.12. 
 150                 EnumerateInstanceNames</A>
 151                 <DD><A href="#SecExecQuery">2.4.13. ExecQuery</A>&nbsp;
 152                 <DD><A href="#SecAssociators">2.4.14. Associators</A>
 153                 <DD><A href="#SecAssociatorNames">2.4.15. 
 154                 AssociatorNames</A>
 155                 <DD><A href="#SecReferencesMethod">2.4.16. 
 156                 References</A>
 157                 <DD><A href="#SecReferenceNames">2.4.17. ReferenceNames</A>&nbsp;
 158                 <DD><A href="#SecGetProperty">2.4.18. GetProperty</A>
 159                 <DD><A href="#SecSetProperty">2.4.19. SetProperty</A>
 160                 <DD><A href="#SecGetQualifier">2.4.20. GetQualifier</A>&nbsp;
 161                 <DD><A href="#SecSetQualifier">2.4.21. SetQualifier</A>
 162                 <DD><A href="#SecDeleteQualifier">2.4.22. 
 163                 DeleteQualifier</A>
 164                 <DD><A href="#SecEnumerateQualifiers">2.4.23. 
 165                 EnumerateQualifiers</A></DD></DL>
 166               <DD><A href="#SecNamespaceManipulation">2.5. 
 167               Namespace Manipulation</A>
 168               <DD><A href="#SecFunctionalProfiles">2.6. Functional 
 169 karl  1.1     Profiles</A>
 170                <DD><A href="#SecExtrinsicMethodInvocation">2.7. Extrinsic Method Invocation</A></DD>
 171              </DL>
 172               <A href="#SecEncapsulationOfCIMOperations" >3. 
 173             Encapsulation of CIM Operations</A><BR>
 174             <DL>
 175               <DD><A href="#SecCIMClientsAndServers" >3.1. CIM 
 176               Clients and Servers</A><BR>
 177               <DD><A href="#SecUseOfMPOSTAndPOST" >3.2. Use of 
 178               M-POST and POST</A><BR>
 179               <DL>
 180                 <DD><A href="#SecUseOfTheExtHeader" >3.2.1. Use of 
 181                 the Ext Header</A><BR></DD></DL>
 182               <DD><A href="#SecExtensionHeadersDefinedForCIM" >3.3. 
 183               Extension Headers Defined for CIM Operation Requests and Responses</A><BR 
 184               >
 185               <DL>
 186                 <DD><A href="#SecNamingOfExtensionHeaders" >3.3.1. 
 187                 Naming of Extension Headers</A><BR>
 188                 <DD><A href="#SecEncodingOfCIMNamesWithinHTTPHeaders">3.3.2. Encoding of 
 189                 CIM Names within HTTP Headers</A><BR>
 190 karl  1.1       <DD><A href="#SecEncodingOfCIMObjectPathsWithinHTTPHeaders">3.3.3. 
 191                 Encoding of CIM Object Paths within HTTP Headers</A>
 192                 <DD><A href="#SecCIMOperation" >3.3.4. CIMOperation</A>
 193                 <DD><A href="#SecCIMProtocolVersion" >3.3.5. 
 194                 CIMProtocolVersion</A><BR>
 195                 <DD><A href="#SecCIMMethod" >3.3.6. CIMMethod</A><BR>
 196                 <DD><A href="#SecCIMObject" >3.3.7. CIMObject</A><BR>
 197                 <DD><A href="#SecCIMBatch" >3.3.8. CIMBatch</A>
 198                 <DD><A href="#SecCIMError">3.3.9. 
 199           CIMError</A>&nbsp;</DD></DL></DD></DL>
 200             <DD><A href="#SecHTTPRequirementsAndUsage" >4. HTTP Requirements &amp; 
 201             Usage</A><BR>
 202             <DL>
 203               <DD><A href="#SecHTTPSupport" >4.1. HTTP Support</A><BR 
 204               >
 205               <DD><A href="#SecUseOfStandardHeaders" >4.2. Use of 
 206               Standard Headers</A><BR>
 207               <DL>
 208                 <DD><A href="#SecAccept" >4.2.1. Accept</A><BR>
 209                 <DD><A href="#SecAccept-Charset" >4.2.2. Accept-Charset</A><BR 
 210                 >
 211 karl  1.1       <DD><A href="#SecAccept-Encoding" >4.2.3. 
 212                 Accept-Encoding</A><BR>
 213                 <DD><A href="#SecAccept-Language" >4.2.4. 
 214                 Accept-Language</A><BR>
 215                 <DD><A href="#SecAccept-Ranges" >4.2.5. Accept-Ranges</A><BR 
 216                 >
 217                 <DD><A href="#SecAllow" >4.2.6. Allow</A><BR>
 218                 <DD><A href="#SecAuthorization" >4.2.7. Authorization</A><BR 
 219                 >
 220                 <DD><A href="#SecCache-Control" >4.2.8. Cache-Control</A><BR 
 221                 >
 222                 <DD><A href="#SecConnection" >4.2.9. Connection</A><BR 
 223                 >
 224                 <DD><A href="#SecContent-Encoding" >4.2.10. 
 225                 Content-Encoding</A><BR>
 226                 <DD><A href="#SecContent-Language" >4.2.11. 
 227                 Content-Language</A><BR>
 228                 <DD><A href="#SecContent-Range" >4.2.12. Content-Range</A><BR 
 229                 >
 230                 <DD><A href="#SecContent-Type" >4.2.13. Content-Type</A><BR 
 231                 >
 232 karl  1.1       <DD><A href="#SecExpires" >4.2.14. Expires</A><BR>
 233                 <DD><A href="#SecIf-Range" >4.2.15. If-Range</A><BR>
 234                 <DD><A href="#SecProxy-Authenticate" >4.2.16. 
 235                 Proxy-Authenticate</A><BR>
 236                 <DD><A href="#SecRange" >4.2.17. Range</A><BR>
 237                 <DD><A href="#SecWWW-Authenticate" >4.2.18. 
 238                 WWW-Authenticate</A><BR></DD></DL>
 239               <DD><A href="#SecErrors" >4.3. Errors and Status Codes</A><BR>
 240               <DD><A href="#SecSecurityConsiderations" >4.4. 
 241               Security Considerations</A><BR>
 242               <DD><A href="#SecDeterminingCIMServerCapabilities" >4.5. Determining CIM 
 243               Server Capabilities</A><BR>
 244               <DL>
 245                 <DD><A href="#SecCIMSupportedFunctionalGroups">4.5.1. 
 246                 CIMSupportedFunctionalGroups</A>
 247                 <DD><A href="#SecCIMSupportsMultipleOperations">4.5.2. 
 248                 CIMSupportsMultipleOperations</A>
 249                 <DD><A href="#SecCIMSupportedQueryLanguages">4.5.3. 
 250                 CIMSupportedQueryLanguages</A>
 251                 <DD><A href="#SecCIMValidation">4.5.4. 
 252                 CIMValidation</A></DD></DL>
 253 karl  1.1     <DD><A href="#SecOtherHTTPMethods" >4.6. Other HTTP Methods</A><BR 
 254               >
 255               <DD><A href="#SecDiscoveryAndAddressing" >4.7. 
 256               Discovery and Addressing</A><BR>
 257               <DD><A href="#SecInternationalizationConsiderations" >4.8. 
 258               Internationalization Considerations</A><BR></DD></DL>
 259               <A href="#SecReferences" >5. 
 260             References</A><BR>
 261               <A href="#SecAppendixA" >Appendix A - Examples of 
 262             Message Exchanges</A><BR>
 263             <DL>
 264              <DD><A href="#SecRetrievalOfASingleClassDefinition">A.1. Retrieval of a 
 265               Single Class Definition</A>
 266              <DD><A href="#SecRetrievalOfASingleInstanceDefinition">A.2. Retrieval of a 
 267               Single Instance Definition</A>
 268              <DD><A href="#SecDeletionOfASingleClassDefinition">A.3. Deletion of a 
 269               Single Class Definition</A>
 270              <DD><A href="#SecDeletionOfASingleInstanceDefinition">A.4. Deletion of a 
 271               Single Instance Definition</A>
 272              <DD><A href="#SecCreationOfASingleClassDefinition">A.5. Creation of a 
 273               Single Class Definition</A>
 274 karl  1.1    <DD><A href="#SecCreationOfASingleInstanceDefinition">A.6. Creation of a 
 275               Single Instance Definition</A>
 276              <DD><A href="#SecEnumerationOfClassNames">A.7. 
 277               Enumeration of Class Names</A>
 278              <DD><A href="#SecEnumerationOfInstances">A.8. 
 279               Enumeration of Instances</A>
 280              <DD><A href="#SecRetrievalOfASingleProperty">A.9. 
 281               Retrieval of&nbsp;a Single Property</A>
 282              <DD><A href="#SecExecutionOfAnExtrinsicMethod">A.10. 
 283               Execution of an Extrinsic Method</A>&nbsp;</DD></DL><BR></DD></DL>
 284           <H1><A name=SecAbstract></A>Abstract</H1>
 285           <P>The <A href="http://dmtf.org/spec/cims.html">Common Information Model</A> (CIM) [1] is an 
 286           object-oriented information model defined by the Distributed Management Task Force 
 287           (DMTF) which provides a conceptual framework for describing management data.</P>
 288           <P>The <A 
 289           href="http://ietf.org/internet-drafts/draft-ietf-http-v11-spec-rev-06.txt">Hypertext Transfer Protocol</A> (HTTP) [6,7,10] is an 
 290           application-level protocol for distributed, collaborative, hypermedia 
 291           information systems.&nbsp; It is a generic stateless protocol which can be used 
 292           for many tasks through extension&nbsp; of its request methods, error codes and 
 293           headers.</P>
 294           <P>The <A href="http://www.w3.org/TR/REC-xml">Extensible Markup Language</A> (XML) [3] is a simplified 
 295 karl  1.1 subset of SGML that offers powerful and extensible data modeling capabilities. 
 296           An <I>XML Document</I> is a collection of data represented 
 297           in XML. An <I>XML Schema</I> is a grammar that describes 
 298           the&nbsp;structure of an XML Document. </P>
 299           <P>       This 
 300           document defines a mapping of CIM Operations onto HTTP that 
 301           allows implementations of CIM to interoperate in an open, standardized 
 302           manner.&nbsp; It utilizes the CIM XML DTD [2,11] that defines the XML Schema for 
 303           CIM objects and messages.</P>
 304           <P><A href="#top" >Back to contents</A></P>
 305           <P><A name=intro></A></P>
 306           <H1>1. <A name=SecIntroduction></A>Introduction</H1>
 307           <P>This document defines a mapping of CIM operations onto HTTP that allows 
 308           implementations of CIM to operate in an open, standardized manner. It also 
 309           defines the notion of <EM>conformance</EM> in the context 
 310           of this mapping, and describes what behavior an implementation of CIM must 
 311           exhibit in order to be described as a conforming CIM implementation.</P>
 312           <P>The remainder of this document is structured as 
 313           follows.</P>
 314           <UL>
 315             <LI><A href="#SecCIMOperationsMessageFormat" >Section 
 316 karl  1.1   2</A>    describes the CIM Operations which form the HTTP 
 317             payload, using XML. It specifies the syntax and semantics of the operation 
 318             requests and their corresponding responses. 
 319             <LI><A href="#SecEncapsulationOfCIMOperations" >Section 
 320             3</A> describes the encapsulation of these messages in HTTP request and 
 321             response messages, with examples of each. It describes the extension headers 
 322             used to convey additional CIM-specific semantics in the HTTP Header. 
 323             <LI><A href="#SecHTTPRequirementsAndUsage" >Section 
 324             4</A> 
 325             describes in more detail other aspects of the encapsulation: 
 326             <UL>
 327               <LI>HTTP Version Support 
 328               <LI>The use of standard HTTP Headers 
 329               <LI>HTTP Error codes 
 330               <LI>Security Considerations </LI></UL></LI></UL>
 331           <P><A href="#top" >Back to contents</A></P>
 332           <H2><A name=SecRequirements>1.1. 
 333           Requirements</A></H2>
 334           <P>There are potentially many different ways in which CIM 
 335           operations could be represented within XML, and those 
 336           operations&nbsp;encapsulated&nbsp;within HTTP messages. In the interests of 
 337 karl  1.1 interoperability between different implementations of CIM there is an obvious 
 338           requirement for standardization of both the XML representation and the HTTP 
 339           encapsulation. The XML representation is defined in [2,11].&nbsp; This document 
 340           utilizes that representation to defines the HTTP encapsulation. 
 341           <P>The following criteria have been applied to the 
 342           representation&nbsp;of CIM Operations in XML [2,11]: 
 343           <UL>
 344             <LI>Each CIM Operation is described completely in XML; 
 345             completeness is favored over conciseness.&nbsp; 
 346             <LI> The set of CIM Operations provide 
 347             sufficient functionality to enable implementations of CIM to communicate effectively 
 348             for the purposes of management. It is not a goal of the first release of 
 349             this&nbsp;mapping to provide a <U>complete</U>  set of 
 350             operations. It is a goal to define the&nbsp;mapping so as to admit straightfoward extension 
 351             (addition of further features) in future versions. 
 352             <LI>The set of CIM Operations&nbsp;are classified into 
 353             functional profiles so that a range of implementations (varying from complete 
 354             support of all operations to support of a minimal subset) is allowed. The 
 355             number of functional profiles is kept as small as possible to encourage 
 356             interoperability, and&nbsp;mechanisms provided by which CIM implementations 
 357             can declare their level of support.</LI></UL>
 358 karl  1.1 <P>The following criteria have been applied to the&nbsp;HTTP 
 359           encapsulation of CIM Operations herein: 
 360           <UL>
 361             <LI>In recognition of the large installed base of HTTP/1.0 
 362             systems, the encapsulation is designed to support both HTTP/1.0 and HTTP/1.1 
 363             <LI>The encapsulation does not introduce any requirements 
 364             which are in conflict with those stated in HTTP/1.0 or HTTP/1.1 
 365             <LI>The encapsulation should be straightforwardly usable 
 366             over the current base HTTP infrastructures. Some features are intended to 
 367             anticipate and exploit enhancements to this base, but no aspects of the 
 368             encapsulation require any such enhancements as mandatory. 
 369             <LI>The encapsulation avoids the use of pure HTTP 
 370             Tunnelling or URL munging (e.g. the use of the "?" character) in favor of a 
 371             mechanism which allows existing HTTP infrastructures to safely control 
 372             content. 
 373             <LI>The encapsulation exposes key CIM operation 
 374             information in Headers to allow efficient firewall/proxy handling.&nbsp; The 
 375             information is limited to that which is considered essential, in order not to 
 376             have significant impact on the size of the Header. No CIM-specific information 
 377             appears in a Header that does not also appear within the CIM Operation. 
 378             <LI>There is a clear and unambiguous encapsulation of the 
 379 karl  1.1   CIM Operation payload within the HTTP Message. Conciseness of the 
 380             encapsulation is of secondary importance. </LI></UL>
 381           <P><A href="#top" >Back to contents</A></P>
 382           <H2><A name=SecTerminology>1.2. 
 383           Terminology</A></H2>
 384           <P>The key phrases and words MUST, MUST NOT, REQUIRED, 
 385           SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY and OPTIONAL in this 
 386           document are to be interpreted as described in RFC 2119 [8].</P>
 387           <P>This specification uses the same notational conventions 
 388           and basic parsing constructs as defined in&nbsp;[7]. </P>
 389           <P><A href="#top" >Back to contents</A></P>
 390           <H2><A name=SecStyle>1.3. 
 391           Style</A></H2>
 392           <P>This document uses a number of stylistic conventions to 
 393           highlight examples and definitions.</P>
 394           <P>Examples are displayed in this fashion:</P>
 395           <TABLE class=Example>
 396             
 397             <TR>
 398               <TD>This is an example</TD></TR></TABLE>
 399           <P>Definitions are illustrated thusly:</P>
 400 karl  1.1 <P>
 401           <TABLE class=Definition>
 402             
 403             <TR>
 404               <TD>This is a definition</TD></TR></TABLE>
 405           <P><A href="#top" >Back to contents</A></P>
 406           <H2>2. <A name=SecCIMOperationMessageFormat>CIM Operation Syntax and Semantics</A></H2>
 407           <H2>2.1. Overview</H2>
 408           <P>This specification defines all interactions between CIM 
 409           entities as Operations.&nbsp; CIM Operations belong to a larger category known 
 410           as CIM Messages (currently all Messages are Operations, but in future this may 
 411           not be true).</P>
 412           <P>This section describes the syntax and semantics of CIM 
 413           Operations in a manner independent of the encapsulation of such operations 
 414           within a particular protocol (such as HTTP).</P>
 415           <P>XML is used as the basis for this description, and in 
 416           particular the CIM XML DTD [2,11].</P>
 417           <P><A href="#top" >Back to contents</A></P>
 418           <H3><A name=SecWellFormed>2.1.1. </A>Well-Formed, Valid and Loosely Valid</H3>
 419           <P>Where this document makes reference&nbsp;to the concept of a Well-formed or 
 420           Valid XML documents,&nbsp;the meaning intended is the standard one&nbsp;defined 
 421 karl  1.1 in [3].</P>
 422           <P><A name=DefLooselyValid>XML DTDs </A>are restricted to these terms to 
 423           describe XML documents, but this document requires a further 
 424           classification&nbsp;of an XML document with respect to a DTD.&nbsp;Henceforth 
 425           the term <EM>loosely valid</EM> is defined to&nbsp;apply to an XML Document with 
 426           the following characteristics:</P>
 427           <UL style="MARGIN-RIGHT: 0px">
 428             <LI>If any attributes or elements in the XML document which do not appear in 
 429             the CIM XML DTD are removed, then the resulting document is valid with respect 
 430             to the CIM XML DTD.</LI></UL>
 431           <P>      In      effect, a loosely valid document is one which is 
 432           valid with respect to the CIM XML DTD apart from having&nbsp;additional attributes or elements&nbsp;not 
 433           defined by that DTD. The&nbsp;concept is very similar to that of an <EM>open content 
 434           model</EM> as 
 435           defined by the working draft on XML Schemas [21], expressed within the more 
 436           limited scope of DTDs. One corollary of this definition is that any XML document that is valid with respect to the CIM 
 437           XML DTD is also loosely valid.</P>
 438           <P>The motivation for introducing this class of XML Documents is to relax the 
 439           restrictions on a <A href="#DefCIMClient">CIM Client</A>&nbsp;or a <A 
 440           href="#DefCIMServer">CIM Server</A> when parsing received XML documents defined within the scope of this 
 441           mapping. It is recognized that not all Clients (respectively,&nbsp;Servers) 
 442 karl  1.1 should be required to validate&nbsp;each received <A 
 443           href="#DefOperationResponseMessage">Operation&nbsp;Response Message</A> 
 444           (respectively,&nbsp;<A href="#DefOperationRequestMessage">Operation Request 
 445           Message</A>) as this would place too great a processing burden on the validating 
 446           entity at the expense of footprint and performance, most notably in communication between robust 
 447           and conformant implementations of this mapping.</P>
 448           <P>Instead the following requirements are made by this specification:</P>
 449           <UL>
 450             <LI>A CIM Client (respectively, CIM Server) MAY include a 
 451             DOCTYPE element in an&nbsp;Operation Request Message (respectively, Operation 
 452             Response Message). If so, an External declaration SHOULD be used (in-lining of 
 453             the complete DTD within a message is discouraged). 
 454             <LI>A CIM Client (respectively, CIM Server) MAY elect to 
 455             validate a received&nbsp;Operation Response Message (respectively, Operation 
 456             Request Message).&nbsp; 
 457             <LI>            
 458                     
 459                           
 460                        
 461             If a CIM Client (respectively, CIM Server) elects not to validate a received Operation Response 
 462             Message (respectively, Operation Request Message), then loose validation MUST be 
 463 karl  1.1 enforced.</LI></UL>
 464           <P>The behavior of a CIM Server with respect to a received 
 465           Operation Request Message is covered in detail in the section on <A 
 466           href="#SecErrors">Errors and Status Codes</A>              
 467                        
 468                       
 469                          
 470                   
 471           .</P>
 472           <H2>2.2. <A name=SecOperationalSemantics></A>Operational Semantics </H2>
 473           <P>The CIM XML DTD [2,11] defines a subelement under the 
 474           root &lt;CIM&gt; element called &lt;MESSAGE&gt;, which&nbsp;contains one of the 
 475           following subelements:</P>
 476           <UL>
 477             <LI>&lt;SIMPLEREQ&gt; 
 478             <LI>&lt;SIMPLERSP&gt; 
 479             <LI>&lt;MULTIREQ&gt; 
 480             <LI>&lt;MULTIRSP&gt;</LI></UL>
 481           <P>In the remainder of this document:</P>
 482           <UL>
 483             <LI><A name=DefOperationRequestMessage 
 484 karl  1.1   ></A>The term <EM>Operation Request 
 485             Message&nbsp;</EM>denotes an XML document that is <A 
 486             href="#DefLooselyValid">loosely valid</A>         with 
 487             respect to the CIM XML DTD,&nbsp;which contains under the root &lt;CIM&gt; 
 488             node a&nbsp;&lt;MESSAGE&gt; subelement, under which there is 
 489             a&nbsp;&lt;MULTIREQ&gt; or &lt;SIMPLEREQ&gt; subelement, and; 
 490             <LI><A name=DefOperationResponseMessage 
 491             ></A>The term <EM>Operation Response 
 492             Message </EM> denotes an XML document that is loosely valid with 
 493             respect to the CIM XML DTD,&nbsp;which contains under the root &lt;CIM&gt; 
 494             node a &lt;MESSAGE&gt; subelement,&nbsp;under which&nbsp;there is a 
 495             &lt;MULTIRSP&gt; or &lt;SIMPLERSP&gt; subelement.</LI></UL>
 496           <P>An Operation Request Message MUST contain a non-empty 
 497           value for the <FONT face="Courier New">ID</FONT> attribute 
 498           of the &lt;MESSAGE&gt; element.&nbsp; The corresponding Operation Response 
 499           Message MUST supply the same value for that attribute.&nbsp; Clients SHOULD 
 500           employ a message ID scheme that&nbsp;minimizes the chance of receiving a stale 
 501           Operation Response Message.</P>
 502           <P>Any Operation Request Message or Operation Response 
 503           Message conforming to this specification MUST specify a value of "1.0" for the 
 504           <FONT face="Courier New">PROTOCOLVERSION</FONT> attribute 
 505 karl  1.1 of the &lt;MESSAGE&gt; element.</P>
 506           <P>An&nbsp;Operation Response Message sent in response to 
 507           an Operation Request Message MUST:</P>
 508           <UL>
 509             <LI>specify the same value for the <FONT 
 510             face="Courier New">ID</FONT>      
 511             &nbsp;attribute of the &lt;MESSAGE&gt; element as appeared in the 
 512             Operation Request Message, and 
 513             <UL>
 514               <LI>contain a&nbsp;&lt;MULTIRSP&gt; subelement if the 
 515               Operation Request Message contained a &lt;MULTIREQ&gt; subelement, or 
 516               <LI>contain&nbsp;a &lt;SIMPLERSP&gt; subelement if the 
 517               Operation Request Message contained a &lt;SIMPLEREQ&gt; 
 518             subelement.</LI></UL></LI></UL>
 519           <P>A <EM><A 
 520           name=#DefSimpleOperationRequest><EM>Simple Operation Request</EM></A></EM> is an Operation 
 521           Request Message that contains a &lt;SIMPLEREQ&gt; subelement.&nbsp; A <EM><A name=DefSimpleOperationResponse><EM>Simple Operation Response</EM></A></EM> is an Operation 
 522           Response Message that contains a &lt;SIMPLERSP&gt; subelement.</P>
 523           <P>A <A name=DefMultipleOperationRequest><EM>Multiple Operation 
 524           Request</EM></A> is an Operation Request Message that contains a 
 525           &lt;MULTIREQ&gt; subelement.&nbsp; A <A name=DefMultipleOperationResponse><EM>Multiple Operation 
 526 karl  1.1 Response</EM></A> is an Operation Response Message that contains a 
 527           &lt;MULTIRSP&gt; subelement.</P>
 528           <P><A href="#top" >Back to contents</A></P>
 529           <H2>2.3. Method Invocations</H2>
 530           <P> All CIM Operation requests defined for this&nbsp;mapping are 
 531           defined as invocations of one or more methods.&nbsp; A method may be either:</P>
 532           <UL>
 533             <LI><EM><A name=DefIntrinsic 
 534             ><EM>Intrinsic</EM></A></EM>, 
 535             which means that it is defined by this specification for the purposes of 
 536             modelling a CIM operation, or; 
 537             <LI><EM><A name=DefExtrinsic 
 538             ><EM>Extrinsic</EM></A></EM>, which 
 539             means that it is defined as a method on a CIM Class in some Schema.</LI></UL>
 540           <P>Intrinsic&nbsp;methods are further characterized by the 
 541           fact that they are made against a CIM Namespace.&nbsp; Extrinsic&nbsp;methods 
 542           are&nbsp;invoked&nbsp;on a CIM Class (if static) or Instance (otherwise). 
 543           Intrinsic methods are defined in the section <A href="#DefIntrinsicMethods" >Intrinsic 
 544           Methods</A></P>
 545           <P>An extrinsic method call is represented in XML&nbsp;by 
 546           the &lt;METHODCALL&gt; element, and the response to that call represented by the 
 547 karl  1.1 &lt;METHODRESPONSE&gt; element.&nbsp; </P>
 548           <P>An intrinsic method call is represented in XML by the 
 549           &lt;IMETHODCALL&gt; element, and the response to that call represented by the 
 550           &lt;IMETHODRESPONSE&gt; element.</P>
 551           <P>An Input parameter is one with an IN Qualifier (with 
 552           value <FONT face="Courier New">true</FONT>) in the Method 
 553           definition.&nbsp; An Output parameter is one with an OUT Qualifier (with value 
 554           true) in the Method definition.&nbsp; An Optional parameter is one with an 
 555           OPTIONAL Qualifier in the Method definition. A parameter may be both an Input 
 556           and Output parameter.</P>
 557           <P>The &lt;METHODCALL&gt; or &lt;IMETHODCALL&gt; 
 558           element&nbsp;serves to name the method to be invoked and supply any Input 
 559           parameters to the method call.&nbsp;Note that:</P>
 560           <UL style="MARGIN-RIGHT: 0px">
 561             <LI>Each Input parameter MUST be named using the name 
 562             assigned in the method definition. 
 563             <LI>The Input parameters MAY be supplied in any order. 
 564             <LI>Each&nbsp;Input parameter&nbsp;of the method, and no 
 565             others, MUST be present in the call, unless it was defined as 
 566           Optional.</LI></UL>
 567           <P>The &lt;METHODRESPONSE&gt; or &lt;IMETHODRESPONSE&gt; 
 568 karl  1.1 element defines&nbsp;either an &lt;ERROR&gt; or a (possibly optional) return 
 569           value and output parameters (i.e. one decorated with the OUT Qualifier in the 
 570           method definition).&nbsp;&nbsp;In the latter case:</P>
 571           <UL>
 572             <LI>Each Output parameter MUST be named using the name 
 573             assigned in the method definition. 
 574             <LI>The Output parameters MAY be supplied in any order. 
 575             <LI>Each Output parameter&nbsp;of the method, and no 
 576             others, MUST be present in the response, unless it was defined as 
 577             Optional.</LI></UL>
 578           <P>The method invocation process may be thought of as:</P>
 579           <UL>
 580             <LI>The binding of the&nbsp;input parameter values 
 581             specified as subelements of&nbsp;the &lt;METHODCALL&gt; or &lt;IMETHODCALL&gt; 
 582             element to the input parameters of the Method, followed by; 
 583             <LI>The attempted execution of the method using the bound 
 584             input parameters, and; 
 585             <UL>
 586               <LI>If attempt to call the method is successful, the 
 587               binding of the the return value and output parameters to the subelements of 
 588               the &lt;METHODRESPONSE&gt; or &lt;IMETHODRESPONSE&gt; element, or; 
 589 karl  1.1     <LI>If the attempt to call the method is unsuccesful, 
 590               the binding of an error code and (optional) human-readable description of 
 591               that code to the &lt;METHODRESPONSE&gt; or &lt;IMETHODRESPONSE&gt; 
 592               element.</LI></UL></LI></UL>
 593           <P><A href="#top" >Back to contents</A></P>
 594           <H3>2.3.1. Simple Operations</H3>
 595           <P>A simple operation is defined as&nbsp;one&nbsp;that 
 596           requires the invocation of a single method.&nbsp; A simple operation 
 597           request&nbsp;is represented by a &lt;SIMPLEREQ&gt; element, and a simple 
 598           operation response by a &lt;SIMPLERSP&gt; element.</P>
 599           <P>If the method is <A href="#DefIntrinsic" >intrinsic</A> then the 
 600           &lt;SIMPLEREQ&gt; MUST contain a &lt;IMETHODCALL&gt; element, which in turn 
 601           contains a &lt;LOCALNAMESPACEPATH&gt; subelement identifying the local CIM 
 602           Namespace against which the method is to be executed.&nbsp; If the method is <A href="#DefExtrinsic" >extrinsic</A> then the &lt;SIMPLEREQ&gt; element 
 603           MUST contain a &lt;METHODCALL&gt; element which in turn contains either:</P>
 604           <UL style="MARGIN-RIGHT: 0px">
 605             <LI>A &lt;LOCALCLASSPATH&gt; subelement identifying the 
 606             CIM Class&nbsp;on which the method is to be invoked, in the case that the 
 607             method is static, or; 
 608             <LI>An &lt;LOCALINSTANCEPATH&gt; subelement identifying 
 609             the CIM Instance on which the method is to be invoked, otherwise.</LI></UL>
 610 karl  1.1 <P><A href="#top" >Back to contents</A></P>
 611           <H3>2.3.2. <A name=SecMultipleOperations>Multiple Operations</A></H3>
 612           <P>A multiple operation is defined as one&nbsp;that 
 613           requires the invocation of more than one method.&nbsp; A multiple operation 
 614           request is represented by a &lt;MULTIREQ&gt; element, and a multiple operation 
 615           response by a &lt;MULTIRSP&gt; element.</P>
 616           <P>    
 617                     
 618                    
 619                   
 620                   
 621                        
 622           A&nbsp;&lt;MULTIREQ&gt; (respectively, &lt;MULTIRSP&gt;) element is a sequence of two or 
 623           more &lt;SIMPLEREQ&gt; (respectively, &lt;SIMPLERSP&gt;) elements.&nbsp;</P>
 624           <P>A&nbsp;&lt;MULTIRSP&gt; element&nbsp;MUST contain a &lt;SIMPLERSP&gt; element 
 625           for every &lt;SIMPLEREQ&gt; element in the corresponding Multiple Operation 
 626           Response, and these &lt;SIMPLERSP&gt; elements MUST be in the same order as 
 627           their &lt;SIMPLEREQ&gt; counterparts (so the first &lt;SIMPLERSP&gt; in the 
 628           response corresponds to the first &lt;SIMPLEREQ&gt; in the request, and so 
 629           forth). </P>
 630           <P>Multiple Operations provide a convenient mechanism 
 631 karl  1.1 whereby multiple method invocations may be batched into a single HTTP Message, 
 632           thereby reducing the number of roundtrips between a <A href="#DefCIMClient" >CIM Client</A> and a CIM 
 633           Server and allowing the&nbsp;CIM Server to make certain internal 
 634           optimizations should it choose so to do.&nbsp; Note that Multiple Operations do 
 635           not confer any transactional capabilities in the processing of the request (for 
 636           example, there is no requirement that the&nbsp;CIM Server guarantee that the 
 637           constituent method calls either all failed or all succeeded, only that the 
 638           entity make a "best effort" to process the operation).</P>
 639           <P>Not all CIM Servers support Multiple Operations; the 
 640           means by which they declare support for this feature is defined in the section 
 641           on <A href="#SecDeterminingCIMServerCapabilities" >Determining CIM Server 
 642           Capabilities</A>.</P>
 643           <P><A href="#top" >Back to contents</A></P>
 644           <H3>2.3.3. Status Codes</H3>
 645           <P>This section defines the status codes that may be 
 646           returned by a conforming CIM Server application as the value of the <FONT 
 647           face="Courier New">CODE</FONT> attribute of an 
 648           &lt;ERROR&gt; subelement within a &lt;METHODRESPONSE&gt; or 
 649           &lt;IMETHODRESPONSE&gt; element.</P>
 650           <P>The symbolic names defined in the table below do not 
 651           appear on the wire.&nbsp; They are used here solely as a convenient way to refer 
 652 karl  1.1 to an error in other parts of this specification.</P>
 653           <P>Not all methods would be expected to return all the 
 654           status codes listed below.&nbsp; For <A href="#DefIntrinsic" >intrinsic</A> methods, the 
 655           relevant section on each method in this specification defines the expected error 
 656           codes to be returned.&nbsp; For extrinsic methods the specification of which of 
 657           the following codes can be used is described in the section on <A 
 658           href="#SecExtrinsicMethodInvocation">Extrinsic Method Invocation</A>   
 659                       
 660                      
 661                         
 662                .</P>
 663           <P>
 664           <TABLE border=1 borderColor=teal cellPadding=5 cellSpacing=1 id=TABLE7 
 665           width="100%" Color="teal">
 666             <THEAD>
 667             <TR>
 668               <TD>
 669                 <P align=center><FONT size=3 
 670                 ><STRONG>Symbolic 
 671                 Name</STRONG></FONT></P></TD>
 672               <TD>
 673 karl  1.1       <P align=center><FONT size=3 
 674                 ><STRONG 
 675               >CODE</STRONG></FONT></P></TD>
 676               <TD>
 677                 <P align=center><FONT size=3 
 678                 ><STRONG>Definition</STRONG> 
 679                 </FONT></P></TD></TR></THEAD>
 680             <TBODY>
 681             <TR>
 682               <TD><FONT size=2><A 
 683                 name=DefCimErrFailed><FONT size=2 
 684                 >CIM_ERR_FAILED</FONT></A></FONT></TD>
 685               <TD><FONT size=2>1</FONT></TD>
 686               <TD><FONT size=2>A general error 
 687                 occured that is not covered by a more specific error code</FONT></TD></TR>
 688             <TR>
 689               <TD><FONT size=2><A 
 690                 name=DefCimErrAccessDenied><FONT size=2 
 691                 >CIM_ERR_ACCESS_DENIED</FONT></A></FONT></TD>
 692               <TD><FONT size=2>2</FONT></TD>
 693               <TD><FONT size=2>Access to a CIM 
 694 karl  1.1       resource was not available to the client</FONT></TD></TR>
 695             <TR>
 696               <TD><FONT size=2><A 
 697                 name=DefCimErrInvalidNamespace><FONT size=2 
 698                 >CIM_ERR_INVALID_NAMESPACE</FONT></A></FONT></TD>
 699               <TD><FONT size=2>3</FONT></TD>
 700               <TD><FONT size=2>The target 
 701                 namespace does not exist</FONT></TD></TR>
 702             <TR>
 703               <TD><FONT size=2><FONT size=2 
 704                 ><A name=DefCimErrInvalidParameter 
 705                 ><FONT size=2><A 
 706                 name=DefCimErrInvalidParameter><FONT size=2 
 707                 >CIM_ERR_INVALID_PARAMETER</FONT></A><A 
 708                 name=DefCimErrInvalidParameter 
 709                 ></FONT></A></FONT></A></FONT></TD>
 710               <TD><FONT size=2>4</FONT></TD>
 711               <TD><FONT size=2>One or more 
 712                 parameter values passed to the method were invalid</FONT></TD></TR>
 713             <TR>
 714               <TD><FONT size=2><A 
 715 karl  1.1       name=DefCimErrInvalidClass><FONT size=2 
 716                 >CIM_ERR_INVALID_CLASS</FONT></A></FONT></TD>
 717               <TD><FONT size=2>5</FONT></TD>
 718               <TD><FONT size=2>The specified 
 719                 Class does not exist</FONT></TD></TR>
 720             <TR>
 721               <TD><FONT size=2><A 
 722                 name=DefCimErrNotFound><FONT size=2 
 723                 >CIM_ERR_NOT_FOUND</FONT></A></FONT></TD>
 724               <TD><FONT size=2>6</FONT></TD>
 725               <TD><FONT size=2>The requested 
 726                 object could not be found</FONT></TD></TR>
 727             <TR>
 728               <TD><FONT size=2><A 
 729                 name=DefCimErrNotSupported><FONT size=2 
 730                 >CIM_ERR_NOT_SUPPORTED</FONT></A></FONT></TD>
 731               <TD><FONT size=2>7</FONT></TD>
 732               <TD><FONT size=2>The requested 
 733                 operation is not supported</FONT></TD></TR>
 734             <TR>
 735               <TD><FONT size=2><A 
 736 karl  1.1       name=DefCimErrClassHasChildren><FONT size=2 
 737                 >CIM_ERR_CLASS_HAS_CHILDREN</FONT></A></FONT></TD>
 738               <TD><FONT size=2>8</FONT></TD>
 739               <TD><FONT size=2>Operation 
 740                 cannot be carried out on this class since it has subclasses</FONT></TD></TR>
 741             <TR>
 742               <TD><FONT size=2><A 
 743                 name=DefCimErrClassHasInstances><FONT size=2 
 744                 >CIM_ERR_CLASS_HAS_INSTANCES</FONT></A></FONT></TD>
 745               <TD><FONT size=2>9</FONT></TD>
 746               <TD><FONT size=2>Operation 
 747                 cannot be carried out on this class since it has instances</FONT></TD></TR>
 748             <TR>
 749               <TD><FONT size=2><A 
 750                 name=DefCimErrInvalidSuperclass><FONT size=2 
 751                 >CIM_ERR_INVALID_SUPERCLASS</FONT></A></FONT></TD>
 752               <TD><FONT size=2>10</FONT></TD>
 753               <TD><FONT size=2>Operation 
 754                 cannot be carried out since the specified superclass does not 
 755               exist</FONT></TD></TR>
 756             <TR>
 757 karl  1.1     <TD><FONT size=2><A 
 758                 name=DefCimErrAlreadyExists><FONT size=2 
 759                 >CIM_ERR_ALREADY_EXISTS</FONT></A></FONT></TD>
 760               <TD><FONT size=2>11</FONT></TD>
 761               <TD><FONT size=2>Operation 
 762                 cannot be carried out because an object already exists</FONT></TD></TR>
 763             <TR>
 764               <TD><FONT size=2><A 
 765                 name=DefCimErrNoSuchProperty><FONT size=2 
 766                 >CIM_ERR_NO_SUCH_PROPERTY</FONT></A></FONT></TD>
 767               <TD><FONT size=2>12</FONT></TD>
 768               <TD><FONT size=2>The specified 
 769                 Property does not exist</FONT></TD></TR>
 770             <TR>
 771               <TD><FONT size=2><A 
 772                 name=DefCimErrTypeMismatch><FONT size=2 
 773                 >CIM_ERR_TYPE_MISMATCH</FONT></A></FONT></TD>
 774               <TD><FONT size=2>13</FONT></TD>
 775               <TD><FONT size=2>The value 
 776                 supplied is incompatible with the type</FONT></TD></TR>
 777             <TR>
 778 karl  1.1     <TD><FONT size=2 
 779                 >CIM_ERR_QUERY_LANGUAGE_NOT_SUPPORTED</FONT></TD>
 780               <TD><FONT size=2>14</FONT></TD>
 781               <TD><FONT size=2>The query 
 782                 language is not recognized or supported</FONT></TD></TR>
 783             <TR>
 784               <TD><FONT size=2><A name=DefCimErrInvalidQuery><FONT 
 785                 size=2>CIM_ERR_INVALID_QUERY</FONT></A></FONT></TD>
 786               <TD><FONT size=2>15</FONT></TD>
 787               <TD><FONT size=2>The query is not valid for the specified query 
 788                 language</FONT></TD></TR>
 789             <TR>
 790               <TD><FONT size=2>CIM_ERR_METHOD_NOT_AVAILABLE</FONT></TD>
 791               <TD><FONT size=2>16</FONT></TD>
 792               <TD><FONT size=2>The extrinsic Method could not be executed</FONT></TD></TR>
 793             <TR>
 794               <TD><FONT size=2>CIM_ERR_METHOD_NOT_FOUND</FONT></TD>
 795               <TD><FONT size=2>17</FONT></TD>
 796               <TD><FONT size=2>   
 797                 The specified extrinsic Method does not exist</FONT></TD></TR></TBODY></TABLE>
 798           <P><A href="#top" >Back to contents</A></P>
 799 karl  1.1 <H2>2.4. <A name=SecIntrinsicMethods>Intrinsic Methods</A></H2>
 800           <P>This section describes the <A href="#DefIntrinsic" >Intrinsic</A>  methods 
 801           that are defined outside of schema for the purposes of&nbsp;CIM operations.&nbsp; 
 802           These methods can only be called on a CIM Namespace, rather than a CIM Class or 
 803           CIM Instance.</P>
 804           <P>The following intrinsic methods are defined by this 
 805           specification:</P>
 806           <UL style="MARGIN-RIGHT: 0px">
 807             <LI><A href="#SecGetClass" >Get a CIM Class</A> 
 808             <LI><A href="#SecGetInstance" >Get a CIM Instance</A> 
 809             <LI><A href="#SecDeleteClass" >Delete a CIM Class</A> 
 810             <LI><A href="#SecDeleteInstance" >Delete a CIM Instance</A>&nbsp; 
 811             <LI><A href="#SecCreateClass" >Create a CIM Class</A> 
 812             <LI><A href="#SecCreateInstance" >Create a CIM Instance</A> 
 813             <LI><A href="#SecModifyClass" >Modify a CIM Class</A> 
 814             <LI><A href="#SecModifyInstance" >Modify a CIM Instance</A>&nbsp; 
 815             <LI><A href="#SecEnumerateClasses" >Enumerate subclasses of a CIM Class</A> 
 816             <LI><A href="#SecEnumerateClassNames" >Enumerate 
 817             subclass names of a CIM Class</A>&nbsp; 
 818             <LI><A href="#SecEnumerateInstances" >Enumerate instances of a CIM Class</A> 
 819             <LI><A href="#SecEnumerateInstanceNames" >Enumerate 
 820 karl  1.1   instance names of a CIM Class</A>&nbsp; 
 821             <LI><A href="#SecDeleteQualifier" >Delete a CIM Qualifier definition</A> 
 822             <LI><A href="#SecCreateQualifier" >Create a CIM Qualifier definition</A> 
 823             <LI><A href="#SecEnumerateQualifiers" >Enumerate&nbsp;CIM Qualifier 
 824             definitions</A> 
 825             <LI><A href="#SecExecQuery" >Execute a Query</A> 
 826             <LI><A href="#SecAssociators" >Enumerate associators of a CIM Object</A> 
 827             <LI><A href="#SecAssociatorNames" >Enumerate names of associators of a CIM 
 828             Object</A> 
 829             <LI><A href="#SecReferences" >Enumerate references to a CIM Object</A> 
 830             <LI><A href="#SecReferenceNames" >Enumerate names of references to a CIM 
 831             Object</A>&nbsp; 
 832             <LI><A href="#SecGetProperty" >Get a CIM Property value from a CIM 
 833             Instance</A> 
 834             <LI><A href="#SecSetProperty" >Set a CIM Property value from a CIM 
 835             Instance</A> 
 836             <LI><A href="#SecGetQualifier" >Get a Qualifier declaration</A> 
 837             <LI><A href="#SecSetQualifier" >Set a Qualifier declaration</A> 
 838             <LI><A href="#SecDeleteQualifier" >Delete a Qualifier declaration</A> 
 839             <LI><A href="#SecEnumerateQualifiers" >Enumerate 
 840             Qualifier declarations</A></LI></UL>
 841 karl  1.1 <P>The convention used in the following subsections to 
 842           define the signatures of the intrinsic methods is a pseudo-MOF notation that 
 843           extends the standard MOF BNF [1] for describing CIM Methods with a number 
 844           of&nbsp;pseudo parameter types (which are indicated by being placed within 
 845           "&lt;" and "&gt;" characters). </P>
 846           <P>This notation admits of the decoration of parameters 
 847           with a number of pseudo-qualifiers (IN, OPTIONAL and NULL) to define their 
 848           invocation semantics. It is important to understand that these qualifiers are 
 849           used for descriptional purposes only within the scope of this specification, and 
 850           in particular a <A href="#DefCIMClient" >CIM Client</A> MUST&nbsp;NOT&nbsp;specify them in 
 851           intrinsic method invocations.</P>
 852           <P>This notation uses the IN qualifier to denote that the 
 853           parameter is an input parameter.</P>
 854           <P>This notation uses the OPTIONAL qualifier to indicate 
 855           paramaters whose presence is not mandatory, and declares default values for 
 856           optional method parameters using&nbsp;similar notation employed for default 
 857           property values in MOF.</P>
 858           <P>A CIM Client MAY omit an optional parameter in the case 
 859           that the required value is the specified default, by not specifying an 
 860           &lt;IPARAMVALUE&gt; element for that parameter. It MUST NOT omit any parameter 
 861           that is not marked as optional.</P>
 862 karl  1.1 <P>This notation&nbsp;uses the NULL qualifier to indicate 
 863           parameters whose values&nbsp;may be be specified as NULL in a method call. A 
 864           NULL (unassigned) value for a parameter is specified by an &lt;IPARAMVALUE&gt; 
 865           element with no subelement. For parameters which do not possess the NULL 
 866           qualifier, the CIM Client MUST specify a value for the parameter by including a 
 867           suitable subelement for the &lt;IPARAMVALUE&gt;&nbsp;element for that 
 868           parameter.</P>
 869           <P>All parameters MUST be named uniquely, and MUST 
 870           correspond to a valid parameter name for that method as described by this 
 871           specification.&nbsp;The order of the parameters is not significant.</P>
 872           <P>The non-NULL values of intrinsic method parameters or 
 873           return values which are modelled as standard CIM types (such as string and 
 874           boolean, or arrays thereof) are represented as follows:</P>
 875           <UL>
 876             <LI>Simple values MUST be represented using the 
 877             &lt;VALUE&gt; subelement within an &lt;IPARAMETER&gt; element (for method 
 878             parameters) or within an &lt;IRETURNVALUE&gt; element (for method return 
 879             values). 
 880             <LI>Array values&nbsp;MUST be represented using the 
 881             &lt;VALUE.ARRAY&gt; subelement within an &lt;IPARAMETER&gt; element (for 
 882             method parameters) or within an &lt;IRETURNVALUE&gt; element (for method 
 883 karl  1.1   return values).</LI></UL>
 884           <P>The following table describes how each of the 
 885           pseudo-types used by the intrinsic methods&nbsp;MUST be mapped to an XML element 
 886           described in [2] in the context of both a parameter value (subelement of 
 887           &lt;IPARAMVALUE&gt;) and a return value (subelement of 
 888           &lt;IRETURNVALUE&gt;).</P>
 889           <P>
 890           <TABLE border=1 cellPadding=1 cellSpacing=1 width="100%">
 891             <TBODY>
 892             <TR>
 893               <TD>
 894                 <P align=center><STRONG 
 895                 >Type</STRONG></P></TD>
 896               <TD>
 897                 <P align=center><STRONG>XML 
 898                 Element</STRONG></P></TD></TR>
 899             <TR>
 900               <TD><FONT size=2><A 
 901                 name=Def_object><FONT size=2 
 902                 >&lt;object&gt;</FONT></A></FONT></TD>
 903               <TD><FONT size=2 
 904 karl  1.1       >(VALUE.OBJECT|VALUE.OBJECTWITHLOCALPATH|VALUE.OBJECTWITHPATH)</FONT></TD></TR>
 905             <TR>
 906               <TD><FONT size=2><A 
 907                 name=sec_defclass><FONT size=2 
 908                 >&lt;class&gt;</FONT></A></FONT></TD>
 909               <TD><FONT size=2 
 910             >CLASS</FONT></TD></TR>
 911             <TR>
 912               <TD><FONT size=2><A 
 913                 name=sec_definstance><FONT size=2 
 914                 >&lt;instance&gt;</FONT></A></FONT></TD>
 915               <TD><FONT size=2 
 916               >INSTANCE</FONT></TD></TR>
 917             <TR>
 918               <TD><FONT size=2><A 
 919                 name=def_className>&lt;className&gt;</A></FONT></TD>
 920               <TD><FONT size=2 
 921               >CLASSNAME</FONT></TD></TR>
 922             <TR>
 923               <TD><FONT size=2><A 
 924                 name=sec_defnamedinstance><FONT size=2 
 925 karl  1.1       >&lt;namedInstance&gt;</FONT></A></FONT></TD>
 926               <TD><FONT size=2 
 927                 >VALUE.NAMEDINSTANCE</FONT></TD></TR>
 928             <TR>
 929               <TD><FONT size=2><A 
 930                 name=def_instanceName><FONT size=2 
 931                 >&lt;instanceName&gt;</FONT></A></FONT></TD>
 932               <TD><FONT size=2 
 933                 >INSTANCENAME</FONT></TD></TR>
 934             <TR>
 935               <TD><FONT size=2><A 
 936                 name=Def_objectWithPathArray><FONT size=2 
 937                 >&lt;objectWithPath&gt;</FONT></A></FONT></TD>
 938               <TD>
 939                 <P align=left><FONT size=2 
 940                 >VALUE.OBJECTWITHPATH</FONT></P></TD></TR>
 941             <TR>
 942               <TD><FONT size=2><A 
 943                 name=Def_objectName><FONT size=2 
 944                 >&lt;objectName&gt;</FONT></A></FONT></TD>
 945               <TD><FONT size=2 
 946 karl  1.1       >(CLASSNAME|INSTANCENAME)</FONT></TD></TR>
 947             <TR>
 948               <TD><FONT size=2><A 
 949                 name=Def_propertyValue 
 950                 >&lt;propertyValue&gt;</A></FONT></TD>
 951               <TD><FONT size=2 
 952                 >(VALUE|VALUE.ARRAY|VALUE.REFERENCE)</FONT></TD></TR>
 953             <TR>
 954               <TD><FONT size=2><A 
 955                 name=Def_qualifierDecl><FONT size=2 
 956                 >&lt;qualifierDecl&gt;</FONT></A></FONT></TD>
 957               <TD><FONT size=2 
 958                 >QUALIFIER.DECLARATION</FONT></TD></TR></TBODY></TABLE>
 959           <P><A href="#top" >Back to contents</A></P>
 960           <H3>2.4.1. <A name=SecGetClass>GetClass</A></H3>
 961           <P>This operation is used to return a single CIM Class from 
 962           the target Namespace.&nbsp; </P>
 963           <P>
 964           <TABLE border=1 class=Definition>
 965             <THEAD>
 966             <TR>
 967 karl  1.1     <TD><FONT face=Verdana><STRONG 
 968                 >&nbsp;GetClass</STRONG></FONT></TD></TR></THEAD>
 969             <TBODY>
 970             <TR>
 971               <TD>&nbsp;<A href="#sec_defclass" >&lt;class&gt;</A>&nbsp; 
 972                 <STRONG>GetClass</STRONG> (<BR 
 973                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
 974                 [IN]&nbsp;<A href="#def_className" >&lt;className&gt;</A> ClassName,<BR 
 975                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[IN,OPTIONAL] 
 976                 boolean LocalOnly = true,<BR 
 977                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[IN,OPTIONAL] 
 978                 boolean IncludeQualifiers = true,<BR 
 979                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[IN,OPTIONAL] 
 980                 boolean IncludeClassOrigin = false,<BR 
 981                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
 982                 [IN,OPTIONAL,NULL] string PropertyList [] = NULL<BR 
 983                 >&nbsp;)</TD></TR></TBODY></TABLE>
 984           <P>The <FONT face="Courier New">ClassName</FONT> input parameter defines the name of the 
 985           Class to be retrieved.&nbsp; </P>
 986           <P>If the <FONT face="Courier New">LocalOnly</FONT> input parameter&nbsp;is <FONT 
 987           face="Courier New">true</FONT>, this specifies that only 
 988 karl  1.1 CIM Elements (properties, methods and qualifiers) overriden within&nbsp;the 
 989           definition of the Class are returned [1].&nbsp; If <FONT face="Courier New">false</FONT>, all elements are returned.&nbsp; This 
 990           parameter therefore effects a CIM Server-side mechanism to filter certain 
 991           elements of the returned object based on whether or not they have been 
 992           propagated from the parent Class (as defined by the <FONT face="Courier New">PROPAGATED</FONT> attribute).</P>
 993           <P>If the <FONT face="Courier New">IncludeQualifiers</FONT> input parameter is <FONT 
 994           face="Courier New">true</FONT>, this specifies that all 
 995           Qualifiers for that Class (including Qualifiers on the Class and on any returned 
 996           Properties, Methods or Method Parameters) MUST be included as <FONT 
 997           face="Courier New">&lt;QUALIFIER&gt;</FONT> elements in the 
 998           response.&nbsp; If false no <FONT face="Courier New">&lt;QUALIFIER&gt;</FONT>&nbsp;elements are present in the 
 999           returned Class.</P>
1000           <P>If the <FONT face="Courier New">IncludeClassOrigin</FONT> input parameter is <FONT 
1001           face="Courier New">true</FONT>, this specifies that the 
1002           <FONT face="Courier New">CLASSORIGIN</FONT> attribute MUST 
1003           be present on all appropriate elements in the returned Class. If false, no <FONT 
1004           face="Courier New">CLASSORIGIN</FONT> attributes are 
1005           present in the returned Class.</P>
1006           <P>If the <FONT face="Courier New">PropertyList</FONT> input parameter is not <FONT 
1007           face="Courier New">NULL</FONT>, the members of the array 
1008           define one or more Property names.&nbsp; The returned Class MUST NOT include 
1009 karl  1.1 elements for any Properties&nbsp;missing from this list.&nbsp; Note that if 
1010           <FONT face="Courier New">LocalOnly</FONT> is specified as 
1011           <FONT face="Courier New">true</FONT> this acts as an 
1012           additional filter on the&nbsp;set of Properties returned (for example, 
1013           if&nbsp;Property <FONT face="Courier New">A</FONT> is 
1014           included&nbsp;in the <FONT face="Courier New">PropertyList</FONT> but <FONT face="Courier New">LocalOnly</FONT> is set to true and <FONT 
1015           face="Courier New">A</FONT> is not local to the requested 
1016           Class, then it will not be included in the response). If the <FONT 
1017           face="Courier New">PropertyList</FONT> input parameter is 
1018           an empty array this signifies that no Properties are included in the 
1019           response.&nbsp;If the <FONT face="Courier New">PropertyList</FONT> input parameter is NULL this specifies 
1020           that all Properties (subject to the conditions expressed by the other 
1021           parameters) are included in the response.</P>
1022           <P>If the&nbsp;<FONT face="Courier New">PropertyList</FONT>&nbsp;contains duplicate elements, the 
1023           Server MUST ignore the duplicates but otherwise process the request 
1024           normally.&nbsp; If the <FONT face="Courier New">PropertyList</FONT> contains elements which are invalid 
1025           Property names for the target Class, the Server MUST ignore such entries but 
1026           otherwise process the request normally.</P>
1027           <P>If successful, the return value&nbsp;is a single CIM 
1028           Class.</P>
1029           <P>If unsuccessful, one of the following status 
1030 karl  1.1 codes&nbsp;MUST be returned by this method, where the first applicable error in 
1031           the list (starting with the first element of the list, and working down) 
1032           is&nbsp;the error returned. Any additional method-specific interpretation of the 
1033           error in is given in parentheses.</P>
1034           <UL>
1035             <LI>CIM_ERR_ACCESS_DENIED 
1036             <LI>CIM_ERR_INVALID_NAMESPACE 
1037             <LI>CIM_ERR_INVALID_PARAMETER (including missing, 
1038             duplicate,&nbsp;unrecognized or otherwise incorrect parameters) 
1039             <LI>CIM_ERR_NOT_FOUND (the request CIM Class does not 
1040             exist in the specified namespace) 
1041             <LI>CIM_ERR_FAILED (some other unspecified error 
1042             occurred)</LI></UL>
1043           <P><A href="#top" >Back to contents</A></P>
1044           <H3>2.4.2. <A name=SecGetInstance>GetInstance</A></H3>
1045           <P>This operation is used to return a single CIM Instance 
1046           from the target Namespace.&nbsp; </P>
1047           <P>
1048           <TABLE border=1 class=Definition>
1049             <THEAD>
1050             <TR>
1051 karl  1.1     <TD><FONT face=Verdana><STRONG 
1052                 >&nbsp;GetInstance</STRONG></FONT></TD></TR></THEAD>
1053             <TBODY>
1054             <TR>
1055               <TD>&nbsp;<A href="#sec_definstance" >&lt;instance&gt;</A>&nbsp;<STRONG 
1056                 >GetInstance</STRONG> (<BR 
1057                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
1058                 [IN]&nbsp;<A href="#Def_instanceName" >&lt;instanceName&gt;</A> 
1059                 InstanceName,<BR 
1060                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[IN,OPTIONAL] 
1061                 boolean LocalOnly = true,<BR 
1062                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[IN,OPTIONAL] 
1063                 boolean IncludeQualifiers = false,<BR 
1064                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[IN,OPTIONAL] 
1065                 boolean IncludeClassOrigin = false,<BR 
1066                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
1067                 [IN,OPTIONAL,NULL] string PropertyList [] = NULL<BR 
1068                 >&nbsp;)</TD></TR></TBODY></TABLE>
1069           <P>The <FONT face="Courier New">InstanceName</FONT> input parameter defines the name of the 
1070           Instance to be retrieved.&nbsp; </P>
1071           <P>If the <FONT face="Courier New">LocalOnly</FONT> input parameter&nbsp;is <FONT 
1072 karl  1.1 face="Courier New">true</FONT>, this specifies that only 
1073           elements (properties and qualifiers) overriden within&nbsp;the definition of 
1074           the&nbsp;Instance are returned [1].&nbsp; If <FONT face="Courier New">false</FONT>, all elements are returned.&nbsp; This 
1075           parameter therefore effects a CIM Server-side mechanism to filter certain 
1076           elements of the returned object based on whether or not they have been 
1077           propagated from the parent Class (as defined by the <FONT face="Courier New">PROPAGATED</FONT> attribute).</P>
1078           <P>If the <FONT face="Courier New">IncludeQualifiers</FONT> input parameter is <FONT 
1079           face="Courier New">true</FONT>, this specifies that all 
1080           Qualifiers for that&nbsp;Instance (including Qualifiers on the&nbsp;Instance and 
1081           on any returned Properties) MUST be included as <FONT face="Courier New">&lt;QUALIFIER&gt;</FONT> elements in the response.&nbsp; If 
1082           false no <FONT face="Courier New">&lt;QUALIFIER&gt;</FONT>&nbsp;elements are present in the 
1083           returned Instance.</P>
1084           <P>If the <FONT face="Courier New">IncludeClassOrigin</FONT> input parameter is <FONT 
1085           face="Courier New">true</FONT>, this specifies that the 
1086           <FONT face="Courier New">CLASSORIGIN</FONT> attribute MUST 
1087           be present on all appropriate elements in the returned Instance. If false, no 
1088           <FONT face="Courier New">CLASSORIGIN</FONT> attributes are 
1089           present in the returned Instance.</P>
1090           <P>If the <FONT face="Courier New">PropertyList</FONT> input parameter is not <FONT 
1091           face="Courier New">NULL</FONT>, the members of the array 
1092           define one or more Property names.&nbsp; The returned&nbsp;Instance MUST NOT 
1093 karl  1.1 include elements for any Properties&nbsp;missing from this list.&nbsp; Note that 
1094           if <FONT face="Courier New">LocalOnly</FONT> is specified 
1095           as <FONT face="Courier New">true</FONT> this acts as an 
1096           additional filter on the&nbsp;set of Properties returned (for example, 
1097           if&nbsp;Property <FONT face="Courier New">A</FONT> is 
1098           included&nbsp;in the <FONT face="Courier New">PropertyList</FONT> but <FONT face="Courier New">LocalOnly</FONT> is set to true and <FONT 
1099           face="Courier New">A</FONT> is not local to the requested 
1100           Instance, then it will not be included in the response). If the <FONT 
1101           face="Courier New">PropertyList</FONT> input parameter is 
1102           an empty array this signifies that no Properties are included in the 
1103           response.&nbsp;If the <FONT face="Courier New">PropertyList</FONT> input parameter is NULL this specifies 
1104           that all Properties (subject to the conditions expressed by the other 
1105           parameters) are included in the response.</P>
1106           <P>If the&nbsp;<FONT face="Courier New">PropertyList</FONT>&nbsp;contains duplicate elements, the 
1107           Server MUST ignore the duplicates but otherwise process the request 
1108           normally.&nbsp; If the <FONT face="Courier New">PropertyList</FONT> contains elements which are invalid 
1109           Property names for the target Instance, the Server MUST ignore such entries but 
1110           otherwise process the request normally.</P>
1111           <P>If successful, the return value is a single CIM 
1112           Instance.</P>
1113           <P>If unsuccessful, one of the following status 
1114 karl  1.1 codes&nbsp;MUST be returned by this method, where the first applicable error in 
1115           the list (starting with the first element of the list, and working down) 
1116           is&nbsp;the error returned. Any additional method-specific interpretation of the 
1117           error in is given in parentheses.</P>
1118           <UL>
1119             <LI>CIM_ERR_ACCESS_DENIED 
1120             <LI>CIM_ERR_INVALID_NAMESPACE 
1121             <LI>CIM_ERR_INVALID_PARAMETER (including missing, 
1122             duplicate,&nbsp;unrecognized or otherwise incorrect parameters) 
1123             <LI>CIM_ERR_INVALID_CLASS (the CIM Class does not exist 
1124             in the specified namespace) 
1125             <LI>CIM_ERR_NOT_FOUND (the CIM Class does exist, but the 
1126             requested CIM&nbsp;Instance does not exist in the specified namespace) 
1127             <LI>CIM_ERR_FAILED (some other unspecified error 
1128             occurred)</LI></UL>
1129           <P><A href="#top" >Back to contents</A></P>
1130           <H3>2.4.3. DeleteClass</H3>
1131           <P>This operation is used to delete a single CIM Class from 
1132           the target Namespace.</P>
1133           <P>
1134           <TABLE border=1 class=Definition>
1135 karl  1.1   <THEAD>
1136             <TR>
1137               <TD><FONT face=Verdana><STRONG 
1138                 >&nbsp;DeleteClass</STRONG></FONT></TD></TR></THEAD>
1139             <TBODY>
1140             <TR>
1141               <TD>&nbsp;void&nbsp;&nbsp;<STRONG 
1142                 >DeleteClass</STRONG> (<BR 
1143                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [IN] <A href="#def_className" >&lt;className&gt;</A> ClassName<BR 
1144                 >&nbsp;)</TD></TR></TBODY></TABLE>
1145           <P>The <FONT face="Courier New">ClassName</FONT> input parameter defines the name of the 
1146           Class to be deleted.&nbsp;&nbsp;&nbsp; </P>
1147           <P>If successful, the specified Class (including any 
1148           subclasses and any instances) MUST have been removed by the CIM Server.&nbsp; 
1149           The operation&nbsp;MUST fail if any one of these objects cannot be deleted.</P>
1150           <P>If unsuccessful, one of the following status 
1151           codes&nbsp;MUST be returned by this method, where the first applicable error in 
1152           the list (starting with the first element of the list, and working down) 
1153           is&nbsp;the error returned. Any additional method-specific interpretation of the 
1154           error in is given in parentheses.</P>
1155           <UL>
1156 karl  1.1   <LI>CIM_ERR_ACCESS_DENIED 
1157             <LI>CIM_ERR_NOT_SUPPORTED 
1158             <LI>CIM_ERR_INVALID_NAMESPACE 
1159             <LI>CIM_ERR_INVALID_PARAMETER (including missing, 
1160             duplicate,&nbsp;unrecognized or otherwise incorrect parameters) 
1161             <LI>CIM_ERR_NOT_FOUND (the CIM Class to be deleted does 
1162             not exist) 
1163             <LI>CIM_ERR_CLASS_HAS_CHILDREN (the CIM Class has one or 
1164             more subclasses which cannot be deleted) 
1165             <LI>CIM_ERR_CLASS_HAS_INSTANCES (the CIM Class has one or 
1166             more instances which cannot be deleted) 
1167             <LI>CIM_ERR_FAILED (some other unspecified error 
1168             occurred)</LI></UL>
1169           <P><A href="#top" >Back to contents</A></P>
1170           <H3>2.4.4. <A name=SecDeleteInstance>DeleteInstance</A></H3>
1171           <P>This operation is used to&nbsp;delete a single CIM 
1172           Instance from the target Namespace.&nbsp; </P>
1173           <P>
1174           <TABLE border=1 class=Definition>
1175             <THEAD>
1176             <TR>
1177 karl  1.1     <TD><FONT face=Verdana><STRONG 
1178                 >&nbsp;DeleteInstance</STRONG></FONT></TD></TR></THEAD>
1179             <TBODY>
1180             <TR>
1181               <TD>&nbsp;void&nbsp; <STRONG 
1182                 >DeleteInstance</STRONG> (<BR 
1183                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
1184                 [IN]&nbsp;<A href="#Def_instanceName" >&lt;instanceName&gt;</A> InstanceName<BR 
1185                 >&nbsp;)</TD></TR></TBODY></TABLE>
1186           <P>The <FONT face="Courier New">InstanceName</FONT> input parameter defines the name (model 
1187           path) of the Instance to be deleted.&nbsp; </P>
1188           <P>If successful, the specified&nbsp;Instance MUST have 
1189           been removed by the CIM Server.</P>
1190           <P>If unsuccessful, one of the following status 
1191           codes&nbsp;MUST be returned by this method, where the first applicable error in 
1192           the list (starting with the first element of the list, and working down) 
1193           is&nbsp;the error returned. Any additional method-specific interpretation of the 
1194           error in is given in parentheses.</P>
1195           <UL>
1196             <LI>CIM_ERR_ACCESS_DENIED 
1197             <LI>CIM_ERR_NOT_SUPPORTED 
1198 karl  1.1   <LI>CIM_ERR_INVALID_NAMESPACE 
1199             <LI>CIM_ERR_INVALID_PARAMETER (including missing, 
1200             duplicate,&nbsp;unrecognized or otherwise incorrect parameters) 
1201             <LI>CIM_ERR_INVALID_CLASS (the CIM Class does not exist 
1202             in the specified namespace) 
1203             <LI>CIM_ERR_NOT_FOUND (the CIM Class does exist, but the 
1204             requested CIM&nbsp;Instance does not exist in the specified namespace) 
1205             <LI>CIM_ERR_FAILED (some other unspecified error 
1206             occurred)</LI></UL>
1207           <P><A href="#top" >Back to contents</A></P>
1208           <H3>2.4.5. <A name=SecCreateClass>CreateClass</A></H3>
1209           <P>This operation is used to create a single CIM Class in 
1210           the target Namespace.&nbsp; The Class MUST NOT already exist.</P>
1211           <P>
1212           <TABLE border=1 class=Definition>
1213             <THEAD>
1214             <TR>
1215               <TD><FONT face=Verdana><STRONG 
1216                 >&nbsp;CreateClass</STRONG></FONT></TD></TR></THEAD>
1217             <TBODY>
1218             <TR>
1219 karl  1.1     <TD>&nbsp;void&nbsp;<STRONG 
1220                 >CreateClass</STRONG> (<BR 
1221                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
1222                 [IN]&nbsp;<A href="sec_defclass" >&lt;class&gt;</A> NewClass<BR 
1223                 >&nbsp;)</TD></TR></TBODY></TABLE>
1224           <P>The <FONT face="Courier New">NewClass</FONT> input parameter defines the new 
1225           Class.&nbsp; The proposed definition MUST be a correct Class definition 
1226           according to the CIM specification [1].</P>
1227           <P>In processing the creation of the new Class, the 
1228           following rules MUST be conformed to by the CIM Server:</P>
1229           <UL>
1230             <LI>Any <FONT face="Courier New" 
1231             >CLASSORIGIN</FONT> and <FONT face="Courier New" 
1232             >PROPAGATED</FONT> attributes in the <FONT 
1233             face="Courier New">NewClass</FONT> MUST be ignored by the 
1234             Server. 
1235             <LI>If the new Class has no Superclass, the <FONT 
1236             face="Courier New">NewClass</FONT> parameter defines a 
1237             new base Class. The Server MUST ensure that all Properties and Methods of the 
1238             new Class have a <FONT face="Courier New" 
1239             >CLASSORIGIN</FONT> attribute whose value is the name of 
1240 karl  1.1   the new Class. 
1241             <LI>If the new Class has a Superclass, the&nbsp;<FONT 
1242             face="Courier New">NewClass</FONT> parameter defines a 
1243             new Subclass of that Superclass. The Superclass MUST exist. The Server MUST 
1244             ensure that: 
1245             <UL>
1246               <LI>Any Properties, Methods or Qualifiers&nbsp;in the 
1247               Subclass not defined in the Superclass are created as new&nbsp;elements of 
1248               the Subclass. In particular the Server MUST set the <FONT face="Courier New" 
1249               >CLASSORIGIN</FONT> attribute on the new Properties and 
1250               Methods to the name of the Subclass, and ensure that all other Properties 
1251               and Methods preserve their <FONT face="Courier New" 
1252               >CLASSORIGIN</FONT> attribute value from that defined in 
1253               the Superclass. 
1254               <LI>If a Property is defined in the Superclass and in 
1255               the Subclass,&nbsp;the value assigned to that property in the Subclass 
1256               (including NULL) becomes the default value of the property for the Subclass. 
1257           
1258               <LI>If a Property or Method of the Superclass is not 
1259               specified in the Subclass, then that Property&nbsp;or Method is inherited 
1260               without modification by the Subclass. 
1261 karl  1.1     <LI>Any Qualifiers defined in the Superclass with a 
1262               <FONT face="Courier New">TOSUBCLASS</FONT> attribute 
1263               value of <FONT face="Courier New">true</FONT> MUST 
1264               appear in the resulting Subclass. Qualifiers in the Superclass with a <FONT 
1265               face="Courier New">TOSUBCLASS</FONT> attribute value of 
1266               <FONT face="Courier New">false</FONT> MUST NOT be 
1267               propagated to the Subclass. 
1268               <LI>Any Qualifier propagated from the Superclass cannot 
1269               be modified in the Subclass if the <FONT face="Courier New" 
1270               >OVERRIDABLE</FONT> attribute of that Qualifier was set 
1271               to <FONT face="Courier New">false</FONT> in the 
1272               Superclass. It is a Client error to specify such a Qualifier in the <FONT 
1273               face="Courier New">NewClass</FONT> with a different 
1274               definition to that in the Superclass (where definition encompasses the name, 
1275               type and flavor&nbsp;attribute settings of the <FONT face="Courier New" 
1276               >&lt;QUALIFIER&gt;</FONT> element, and the value of the 
1277               Qualifier).</LI></UL></LI></UL>
1278           <P>If successful, the specified&nbsp;Class MUST have been 
1279           created by the CIM Server.&nbsp; </P>
1280           <P>If unsuccessful, one of the following status 
1281           codes&nbsp;MUST be returned by this method, where the first applicable error in 
1282 karl  1.1 the list (starting with the first element of the list, and working down) 
1283           is&nbsp;the error returned. Any additional method-specific interpretation of the 
1284           error in is given in parentheses.</P>
1285           <UL>
1286             <LI>CIM_ERR_ACCESS_DENIED 
1287             <LI>CIM_ERR_NOT_SUPPORTED 
1288             <LI>CIM_ERR_INVALID_NAMESPACE&nbsp; 
1289             <LI>CIM_ERR_INVALID_PARAMETER (including missing, 
1290             duplicate,&nbsp;unrecognized or otherwise incorrect parameters) 
1291             <LI>CIM_ERR_ALREADY_EXISTS (the CIM Class already 
1292             exists)&nbsp; 
1293             <LI>CIM_ERR_INVALID_SUPERCLASS (the putative CIM Class 
1294             declares a non-existent superclass) 
1295             <LI>CIM_ERR_FAILED (some other unspecified error 
1296             occurred)</LI></UL>
1297           <P><A href="#top" >Back to contents</A></P>
1298           <H3>2.4.6. <A name=SecCreateInstance>CreateInstance</A></H3>
1299           <P>This operation is used to create a single CIM Instance 
1300           in the target Namespace. The Instance MUST NOT already exist.</P>
1301           <P>
1302           <TABLE border=1 class=Definition>
1303 karl  1.1   <THEAD>
1304             <TR>
1305               <TD><FONT face=Verdana><STRONG 
1306                 >&nbsp;CreateInstance</STRONG></FONT></TD></TR></THEAD>
1307             <TBODY>
1308             <TR>
1309               <TD>&nbsp;<A href="#Def_instanceName" >&lt;instanceName&gt;</A> &nbsp;<STRONG 
1310                 >CreateInstance</STRONG> (<BR 
1311                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
1312                 [IN]&nbsp;<A href="sec_definstance" >&lt;instance&gt;</A> NewInstance<BR 
1313                 >&nbsp;)</TD></TR></TBODY></TABLE>
1314           <P>The <FONT face="Courier New">NewInstance</FONT> input parameter defines the new 
1315           Instance.&nbsp; The proposed definition MUST be a&nbsp;correct&nbsp;Instance 
1316           definition for the underlying CIM Class according to the CIM specification 
1317           [1].</P>
1318           <P>In processing the creation of the new Instance, the 
1319           following rules MUST be conformed to by the CIM Server:</P>
1320           <UL>
1321             <LI>Any <FONT face="Courier New" 
1322             >CLASSORIGIN</FONT> and <FONT face="Courier New" 
1323             >PROPAGATED</FONT> attributes in the <FONT 
1324 karl  1.1   face="Courier New">NewInstance</FONT> MUST be ignored by 
1325             the Server. 
1326             <LI>The Server MUST ensure that: 
1327             <UL>
1328               <LI>Any Qualifiers&nbsp;in the Instance not defined in 
1329               the&nbsp;Class are created as new&nbsp;elements of the Instance. 
1330               <LI>All Properties of the&nbsp;Instance preserve their 
1331               <FONT face="Courier New">CLASSORIGIN</FONT> attribute 
1332               value from that defined in the Class. 
1333               <LI>If a Property is specified in the <FONT 
1334               face="Courier New">ModifiedInstance</FONT> 
1335               parameter,&nbsp;the value assigned to that property in the&nbsp;Instance 
1336               (including NULL) becomes the value of the property for the Instance. Note 
1337               that it is a Client error to specify a Property that does not belong to the 
1338               Class. 
1339               <LI>If a Property of the&nbsp;Class is not specified in 
1340               the Instance, then that Property is inherited without modification by the 
1341               Instance. 
1342               <LI>Any Qualifiers defined in the&nbsp;Class with a 
1343               <FONT face="Courier New">TOINSTANCE</FONT> attribute 
1344               value of <FONT face="Courier New">true</FONT> appear in 
1345 karl  1.1     the&nbsp;Instance. Qualifiers in the Class with a <FONT face="Courier New" 
1346               >TOINSTANCE</FONT> attribute value of <FONT 
1347               face="Courier New">false</FONT> MUST NOT be propagated 
1348               to the Instance. 
1349               <LI>Any Qualifier propagated from the Class cannot be 
1350               modified&nbsp;in the Instance if the <FONT face="Courier New" 
1351               >OVERRIDABLE</FONT> attribute of that Qualifier was set 
1352               to <FONT face="Courier New">false</FONT> in the Class. 
1353               It is a Client error to specify such a Qualifier in the <FONT 
1354               face="Courier New">NewInstance</FONT> with a different 
1355               definition to that in the Class (where definition encompasses the name, 
1356               type&nbsp;and flavor&nbsp;attribute settings of the <FONT face="Courier New" 
1357               >&lt;QUALIFIER&gt;</FONT> element, and the value of the 
1358               Qualifier).</LI></UL></LI></UL>
1359           <P>If successful, the return value defines the object path 
1360           of the new CIM&nbsp;Instance relative to the target Namespace (i.e. the Model 
1361           Path as defined by [1]), created by the CIM Server.&nbsp; It is returned in case 
1362           one or more of the new keys of the Instance are allocated dynamically during the 
1363           creation process rather than specified in the request.</P>
1364           <P>If unsuccessful, one of the following status 
1365           codes&nbsp;MUST be returned by this method, where the first applicable error in 
1366 karl  1.1 the list (starting with the first element of the list, and working down) 
1367           is&nbsp;the error returned. Any additional method-specific interpretation of the 
1368           error in is given in parentheses.</P>
1369           <UL>
1370             <LI>CIM_ERR_ACCESS_DENIED 
1371             <LI>CIM_ERR_NOT_SUPPORTED 
1372             <LI>CIM_ERR_INVALID_NAMESPACE&nbsp; 
1373             <LI>CIM_ERR_INVALID_PARAMETER (including missing, 
1374             duplicate,&nbsp;unrecognized or otherwise incorrect parameters) 
1375             <LI>CIM_ERR_INVALID_CLASS (the CIM Class of which this is 
1376             to be a new Instance does not exist) 
1377             <LI>CIM_ERR_ALREADY_EXISTS (the CIM&nbsp;Instance already 
1378             exists)&nbsp; 
1379             <LI>CIM_ERR_FAILED (some other unspecified error 
1380             occurred)</LI></UL>
1381           <P><A href="#top" >Back to contents</A></P>
1382           <H3>2.4.7. <A name=SecModifyClass>ModifyClass</A></H3>
1383           <P>This operation is used to&nbsp;modify an&nbsp;existing 
1384           CIM Class in the target Namespace.&nbsp; The Class MUST&nbsp;already exist.</P>
1385           <P>
1386           <TABLE border=1 class=Definition>
1387 karl  1.1   <THEAD>
1388             <TR>
1389               <TD><FONT face=Verdana><STRONG 
1390                 >&nbsp;ModifyClass</STRONG></FONT></TD></TR></THEAD>
1391             <TBODY>
1392             <TR>
1393               <TD>&nbsp;void&nbsp;<STRONG 
1394                 >ModifyClass</STRONG> (<BR 
1395                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
1396                 [IN]&nbsp;<A href="sec_defclass" >&lt;class&gt;</A> ModifiedClass<BR 
1397                 >&nbsp;)</TD></TR></TBODY></TABLE>
1398           <P>The <FONT face="Courier New">ModifiedClass</FONT> input parameter defines the set of 
1399           changes (which MUST be&nbsp;correct amendments to the CIM Class as defined by 
1400           the CIM Specification [1]) to be made to the current class definition.</P>
1401           <P>In processing the&nbsp;modifcation of the Class, the 
1402           following rules MUST be conformed to by the CIM Server:</P>
1403           <UL>
1404             <LI>Any <FONT face="Courier New" 
1405             >CLASSORIGIN</FONT> and <FONT face="Courier New" 
1406             >PROPAGATED</FONT> attributes in the <FONT 
1407             face="Courier New">ModifiedClass</FONT> MUST be ignored 
1408 karl  1.1   by the Server. 
1409             <LI>If the&nbsp;modified Class has no Superclass, the 
1410             <FONT face="Courier New">ModifiedClass</FONT> parameter 
1411             defines modifications to a base Class. The Server MUST ensure that: 
1412             <UL>
1413               <LI>All Properties and Methods of the modified Class 
1414               have a <FONT face="Courier New">CLASSORIGIN</FONT> 
1415               attribute whose value is the name of this Class. 
1416               <LI>Any Properties, Methods or Qualifiers in the 
1417               existing Class definition which do not appear in the&nbsp; <FONT 
1418               face="Courier New">ModifiedClass</FONT> parameter are 
1419               removed from the resulting modified Class.</LI></UL>
1420             <LI>If the&nbsp;modified Class has a Superclass, 
1421             the&nbsp;<FONT face="Courier New"><FONT 
1422             face="Courier New">ModifiedClass</FONT></FONT> parameter 
1423             defines&nbsp;modifications to a Subclass of that Superclass. The Superclass 
1424             MUST exist, and the Client MUST NOT change the name of the Superclass in the 
1425             modified Subclass. The Server MUST ensure that: 
1426             <UL>
1427               <LI>Any Properties, Methods or Qualifiers&nbsp;in the 
1428               Subclass not defined in the Superclass are created as elements of the 
1429 karl  1.1     Subclass. In particular the Server MUST set the <FONT face="Courier New" 
1430               >CLASSORIGIN</FONT> attribute on the new Properties and 
1431               Methods to the name of the Subclass, and MUST ensure that all other 
1432               Properties and Methods preserve their <FONT face="Courier New" 
1433               >CLASSORIGIN</FONT> attribute value from that defined in 
1434               the Superclass. 
1435               <LI>Any Property, Method or Qualifier previously 
1436               defined in the Subclass but not defined in the Superclass, and which is not 
1437               present in the <FONT face="Courier New"><FONT 
1438               face="Courier New">ModifiedClass</FONT></FONT> 
1439               parameter, is removed from the Subclass.&nbsp; 
1440               <LI>If a Property is specified in the <FONT 
1441               face="Courier New">ModifiedClass</FONT> 
1442               parameter,&nbsp;the value assigned to that property therein (including NULL) 
1443               becomes the default value of the property for the Subclass. 
1444               <LI>If a Property or Method of the Superclass is not 
1445               specified in the Subclass, then that Property&nbsp;or Method is inherited 
1446               without modification by the Subclass (so that any previous changes to such 
1447               an Element in the Subclass are lost). 
1448               <LI>If a&nbsp;Qualifier in the Superclass is not 
1449               specified in the Subclass, and the Qualifier is defined in the Superclass 
1450 karl  1.1     with a <FONT face="Courier New">TOSUBCLASS</FONT> 
1451               attribute value of <FONT face="Courier New" 
1452               >true</FONT>, then the Qualifier MUST still be present 
1453               in the resulting modified Subclass (it is not possible to remove a 
1454               propagated Qualifier from a Subclass). 
1455               <LI>Any Qualifier propagated from the Superclass cannot 
1456               be modified&nbsp;in the Subclass if the <FONT face="Courier New" 
1457               >OVERRIDABLE</FONT> attribute of that Qualifier was set 
1458               to <FONT face="Courier New">false</FONT> in the 
1459               Superclass. It is a Client error to specify such a Qualifier in the <FONT 
1460               face="Courier New">ModifiedClass</FONT> with a 
1461               different definition to that in the Superclass (where definition encompasses 
1462               the name, type and flavor&nbsp;attribute settings of the <FONT 
1463               face="Courier New">&lt;QUALIFIER&gt;</FONT> element, 
1464               and the value of the Qualifier). 
1465               <LI>Any Qualifiers defined in the Superclass with a 
1466               <FONT face="Courier New">TOSUBCLASS</FONT> attribute 
1467               value of&nbsp; <FONT face="Courier New">false</FONT> 
1468               MUST NOT be propagated to the Subclass.</LI></UL></LI></UL>
1469           <P>If successful, the specified&nbsp;Class MUST have been 
1470           updated by the CIM Server.&nbsp; </P>
1471 karl  1.1 <P>The request to modify the Class MUST fail if the Server 
1472           cannot update any existing Subclasses or Instances of that Class in a consistent 
1473           manner.</P>
1474           <P>If unsuccessful, one of the following status 
1475           codes&nbsp;MUST be returned by this method, where the first applicable error in 
1476           the list (starting with the first element of the list, and working down) 
1477           is&nbsp;the error returned. Any additional method-specific interpretation of the 
1478           error in is given in parentheses.</P>
1479           <UL>
1480             <LI>CIM_ERR_ACCESS_DENIED 
1481             <LI>CIM_ERR_NOT_SUPPORTED 
1482             <LI>CIM_ERR_INVALID_NAMESPACE&nbsp; 
1483             <LI>CIM_ERR_INVALID_PARAMETER (including missing, 
1484             duplicate,&nbsp;unrecognized or otherwise incorrect parameters) 
1485             <LI>CIM_ERR_NOT_FOUND (the CIM Class&nbsp;does not 
1486             exist)&nbsp; 
1487             <LI>CIM_ERR_INVALID_SUPERCLASS (the putative CIM Class 
1488             declares a non-existent or incorrect superclass) 
1489             <LI>CIM_ERR_CLASS_HAS_CHILDREN (the modification could 
1490             not be performed because it was not possible to update the subclasses of the 
1491             Class in a consistent fashion) 
1492 karl  1.1   <LI>CIM_ERR_CLASS_HAS_INSTANCES (the modification could 
1493             not be performed because it was not possible to update the&nbsp;instances of 
1494             the Class in a consistent fashion)&nbsp; 
1495             <LI>CIM_ERR_FAILED (some other unspecified error 
1496             occurred)</LI></UL>
1497           <P><A href="#top" >Back to contents</A></P>
1498           <H3>2.4.8. <A name=SecModifyInstance>ModifyInstance</A></H3>
1499           <P>This operation is used to&nbsp;modify an existing CIM 
1500           Instance in the target Namespace. The Instance MUST&nbsp;already exist.</P>
1501           <P>
1502           <TABLE border=1 class=Definition>
1503             <THEAD>
1504             <TR>
1505               <TD><FONT face=Verdana><STRONG 
1506                 >&nbsp;ModifyInstance</STRONG></FONT></TD></TR></THEAD>
1507             <TBODY>
1508             <TR>
1509               <TD>&nbsp;void&nbsp;<STRONG 
1510                 >ModifyInstance</STRONG> (<BR 
1511                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
1512                 [IN]&nbsp;<A href="#sec_defnamedinstance" >&lt;namedInstance&gt;</A>&nbsp;ModifiedInstance<BR 
1513 karl  1.1       >&nbsp;)</TD></TR></TBODY></TABLE>
1514           <P>The <FONT face="Courier New">ModifiedInstance</FONT> input parameter&nbsp;identifies the 
1515           name of the Instance to be modified, and defines the set of changes (which MUST 
1516           be&nbsp;correct amendments to the&nbsp;Instance as defined by the CIM 
1517           Specification [1]) to be made to the current&nbsp;Instance definition.&nbsp;</P>
1518           <P>In processing the&nbsp;modifcation of the Instance, the 
1519           following rules MUST be conformed to by the CIM Server:</P>
1520           <UL>
1521             <LI>Any <FONT face="Courier New" 
1522             >CLASSORIGIN</FONT> and <FONT face="Courier New" 
1523             >PROPAGATED</FONT> attributes in the <FONT 
1524             face="Courier New">ModifiedInstance</FONT> MUST be 
1525             ignored by the Server. 
1526             <LI>The Class MUST exist, and the Client MUST NOT change 
1527             the name of the Class in the modified Instance. The Server MUST ensure that: 
1528             <UL>
1529               <LI>Any Qualifiers&nbsp;in the Instance not defined in 
1530               the&nbsp;Class are created as new&nbsp;elements of the Instance. 
1531               <LI>All Properties of the&nbsp;Instance preserve their 
1532               <FONT face="Courier New">CLASSORIGIN</FONT> attribute 
1533               value from that defined in the Class. 
1534 karl  1.1     <LI>Any Qualifier previously defined in 
1535               the&nbsp;Instance but not defined in the Class, and which is not present in 
1536               the <FONT face="Courier New"><FONT face="Courier New" 
1537               >ModifiedInstance</FONT></FONT> parameter, is removed 
1538               from the Instance.&nbsp; 
1539               <LI>If a Property is&nbsp;specified in the <FONT 
1540               face="Courier New">ModifiedInstance</FONT> 
1541               parameter,&nbsp;the value assigned to that property&nbsp;therein (including 
1542               NULL) becomes the value of the property for the Instance. Note that it is a 
1543               Client error to specify a Property that does not belong to the Class. 
1544               <LI>If a Property of the&nbsp;Class is not specified in 
1545               the Instance, then that Property is inherited without modification by the 
1546               Instance (so that any previous changes to&nbsp;that Property in 
1547               the&nbsp;Instance are lost). 
1548               <LI>Any Qualifiers defined in the&nbsp;Class with a 
1549               <FONT face="Courier New">TOINSTANCE</FONT> attribute 
1550               value of <FONT face="Courier New">true</FONT> appear in 
1551               the&nbsp;Instance (it is not possible remove a propagated Qualifier from an 
1552               Instance. Qualifiers in the Class with a <FONT face="Courier New" 
1553               >TOINSTANCE</FONT> attribute value of <FONT 
1554               face="Courier New">false</FONT> MUST NOT be propagated 
1555 karl  1.1     to the Instance. 
1556               <LI>Any Qualifier propagated from the Class cannot be 
1557               modified by the Server if the <FONT face="Courier New" 
1558               >OVERRIDABLE</FONT> attribute of that Qualifier was set 
1559               to <FONT face="Courier New">false</FONT> in the Class. 
1560               It is a Client error to specify such a Qualifier in the <FONT 
1561               face="Courier New">ModifiedInstance</FONT> with a 
1562               different definition to that in the Class (where definition encompasses the 
1563               name, type&nbsp;and flavor&nbsp;attribute settings of the <FONT 
1564               face="Courier New">&lt;QUALIFIER&gt;</FONT> element, 
1565               and the value of the Qualifier). 
1566               <LI>Any Qualifier propagated from the Class cannot be 
1567               modified&nbsp;in the Instance if the <FONT face="Courier New" 
1568               >OVERRIDABLE</FONT> attribute of that Qualifier was set 
1569               to <FONT face="Courier New">false</FONT> in the Class. 
1570               It is a Client error to specify such a Qualifier in the <FONT 
1571               face="Courier New">ModifiedInstance</FONT> with a 
1572               different definition to that in the Class (where definition encompasses the 
1573               name, type and flavor&nbsp;attribute settings of the <FONT 
1574               face="Courier New">&lt;QUALIFIER&gt;</FONT> element, 
1575               and the value of the Qualifier).</LI></UL></LI></UL>
1576 karl  1.1 <P>If successful, the specified&nbsp;Instance MUST have 
1577           been updated by the CIM Server.&nbsp; </P>
1578           <P>If unsuccessful, one of the following status 
1579           codes&nbsp;MUST be returned by this method, where the first applicable error in 
1580           the list (starting with the first element of the list, and working down) 
1581           is&nbsp;the error returned. Any additional method-specific interpretation of the 
1582           error in is given in parentheses.</P>
1583           <UL>
1584             <LI>CIM_ERR_ACCESS_DENIED&nbsp; 
1585             <LI>CIM_ERR_NOT_SUPPORTED 
1586             <LI>CIM_ERR_INVALID_NAMESPACE&nbsp; 
1587             <LI>CIM_ERR_INVALID_PARAMETER (including missing, 
1588             duplicate,&nbsp;unrecognized or otherwise incorrect parameters) 
1589             <LI>CIM_ERR_INVALID_CLASS (the CIM Class of which this is 
1590             to be a new Instance does not exist) 
1591             <LI>CIM_ERR_NOT_FOUND (the CIM&nbsp;Instance does not 
1592             exist)&nbsp; 
1593             <LI>CIM_ERR_FAILED (some other unspecified error 
1594             occurred)</LI></UL>
1595           <P><A href="#top" >Back to contents</A></P>
1596           <H3>2.4.9. <A name=SecEnumerateClasses></a><A name=DefEnumerateClasses>EnumerateClasses</A></H3>
1597 karl  1.1 <P>This operation is used to enumerate subclasses of a CIM 
1598           Class in the target Namespace.</P>
1599           <P>
1600           <TABLE border=1 class=Definition>
1601             <THEAD>
1602             <TR>
1603               <TD><FONT face=Verdana><STRONG 
1604                 >&nbsp;EnumerateClasses</STRONG></FONT></TD></TR></THEAD>
1605             <TBODY>
1606             <TR>
1607               <TD>&nbsp;<A href="sec_defclass" >&lt;class&gt;*</A>&nbsp;<STRONG 
1608                 >EnumerateClasses</STRONG> (<BR 
1609                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
1610                 [IN,OPTIONAL,NULL]&nbsp;<A href="#def_className" >&lt;className&gt;</A> ClassName=NULL,<BR 
1611                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[IN,OPTIONAL] 
1612                 boolean DeepInheritance = false,<BR 
1613                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[IN,OPTIONAL] 
1614                 boolean LocalOnly = true,<BR 
1615                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[IN,OPTIONAL] 
1616                 boolean IncludeQualifiers = true,<BR 
1617                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[IN,OPTIONAL] 
1618 karl  1.1       boolean IncludeClassOrigin = false<BR 
1619             >&nbsp;)</TD></TR></TBODY></TABLE>
1620           <P>The <FONT face="Courier New">ClassName</FONT> input parameter defines the Class that is 
1621           the basis for the enumeration.&nbsp; </P>
1622           <P>If the <FONT face="Courier New">DeepInheritance</FONT> input parameter&nbsp;is <FONT 
1623           face="Courier New">true</FONT>,&nbsp;this specifies that 
1624           all subclasses of the specified Class should be returned (if the <FONT 
1625           face="Courier New">ClassName</FONT> input parameter is 
1626           absent, this implies that all Classes in the target Namespace should be 
1627           returned).&nbsp; If <FONT face="Courier New">false</FONT>, 
1628           only immediate child subclasses&nbsp;are returned (if the <FONT 
1629           face="Courier New">ClassName</FONT> input parameter is 
1630           NULL, this implies that all base Classes in the target Namespace should be 
1631           returned). </P>
1632           <P>If the <FONT face="Courier New">LocalOnly</FONT> input parameter&nbsp;is <FONT 
1633           face="Courier New">true</FONT>, it specifies that, for each 
1634           returned Class, only elements (properties, methods and qualifiers) overriden 
1635           within&nbsp;the definition of that Class are included [1].&nbsp; If <FONT 
1636           face="Courier New">false</FONT>, all elements are 
1637           returned.&nbsp; This parameter therefore effects a CIM Server-side mechanism to 
1638           filter certain elements of the returned object based on whether or not they have 
1639 karl  1.1 been propagated from the parent Class (as defined by the <FONT 
1640           face="Courier New">PROPAGATED</FONT> attribute).</P>
1641           <P>If the <FONT face="Courier New">IncludeQualifiers</FONT> input parameter is <FONT 
1642           face="Courier New">true</FONT>, this specifies that all 
1643           Qualifiers for&nbsp;each Class (including Qualifiers on the Class and on any 
1644           returned Properties, Methods or Method Parameters) MUST be included as <FONT 
1645           face="Courier New">&lt;QUALIFIER&gt;</FONT> elements in the 
1646           response.&nbsp; If false no <FONT face="Courier New">&lt;QUALIFIER&gt;</FONT>&nbsp;elements are present 
1647           in&nbsp;each returned Class.</P>
1648           <P>If the <FONT face="Courier New">IncludeClassOrigin</FONT> input parameter is <FONT 
1649           face="Courier New">true</FONT>, this specifies that the 
1650           <FONT face="Courier New">CLASSORIGIN</FONT> attribute MUST 
1651           be present on all appropriate elements in&nbsp;each returned Class. If false, no 
1652           <FONT face="Courier New">CLASSORIGIN</FONT> attributes are 
1653           present in&nbsp;each returned Class.</P>
1654           <P>If successful, the method returns zero or 
1655           more&nbsp;Classes that meet the required criteria.</P>
1656           <P>If unsuccessful, one of the following status 
1657           codes&nbsp;MUST be returned by this method, where the first applicable error in 
1658           the list (starting with the first element of the list, and working down) 
1659           is&nbsp;the error returned. Any additional method-specific interpretation of the 
1660 karl  1.1 error in is given in parentheses.</P>
1661           <UL>
1662             <LI>CIM_ERR_ACCESS_DENIED 
1663             <LI>CIM_ERR_NOT_SUPPORTED 
1664             <LI>CIM_ERR_INVALID_NAMESPACE&nbsp; 
1665             <LI>CIM_ERR_INVALID_PARAMETER (including missing, 
1666             duplicate,&nbsp;unrecognized or otherwise incorrect parameters) 
1667             <LI>CIM_ERR_INVALID_CLASS (the CIM Class that is the 
1668             basis for this enumeration does not exist) 
1669             <LI>CIM_ERR_FAILED (some other unspecified error 
1670             occurred)</LI></UL>
1671           <P><A href="#top" >Back to contents</A></P>
1672           <H3>2.4.10. <A name=SecEnumerateClassNames>EnumerateClassNames</A></H3>
1673           <P>This operation is used to enumerate the names of 
1674           subclasses of a CIM Class in the target Namespace.</P>
1675           <P>
1676           <TABLE border=1 class=Definition>
1677             <THEAD>
1678             <TR>
1679               <TD><FONT face=Verdana><STRONG 
1680                 >&nbsp;EnumerateClassNames</STRONG></FONT></TD></TR></THEAD>
1681 karl  1.1   <TBODY>
1682             <TR>
1683               <TD>&nbsp;<A href="#def_className" >&lt;className&gt;*</A>&nbsp;&nbsp;<STRONG 
1684                 >EnumerateClassNames</STRONG> (<BR 
1685                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
1686                 [IN,OPTIONAL,NULL]&nbsp;<A href="#def_className" >&lt;className&gt;</A> ClassName = NULL,<BR 
1687                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[IN,OPTIONAL] 
1688                 boolean DeepInheritance&nbsp;= false<BR 
1689             >&nbsp;)</TD></TR></TBODY></TABLE>
1690           <P>The <FONT face="Courier New">ClassName</FONT> input parameter defines the Class that is 
1691           the basis for the enumeration.&nbsp;&nbsp;&nbsp; </P>
1692           <P>If the <FONT face="Courier New">DeepInheritance</FONT> input parameter&nbsp;is <FONT 
1693           face="Courier New">true</FONT>,&nbsp;this specifies that 
1694           the names of all subclasses of the specified Class should be returned (if the 
1695           <FONT face="Courier New">ClassName</FONT> input parameter 
1696           is absent, this implies that the names of all Classes in the target Namespace 
1697           should be returned).&nbsp; If <FONT face="Courier New">false</FONT>, only the names of immediate child 
1698           subclasses&nbsp;are returned (if the <FONT face="Courier New">ClassName</FONT> input parameter is NULL, this implies that 
1699           the names of all base Classes in the target Namespace should be returned). </P>
1700           <P>If successful, the method returns zero or 
1701           more&nbsp;names of Classes that meet the requested criteria.</P>
1702 karl  1.1 <P>If unsuccessful, one of the following status 
1703           codes&nbsp;MUST be returned by this method, where the first applicable error in 
1704           the list (starting with the first element of the list, and working down) 
1705           is&nbsp;the error returned. Any additional method-specific interpretation of the 
1706           error in is given in parentheses.</P>
1707           <UL>
1708             <LI>CIM_ERR_ACCESS_DENIED 
1709             <LI>CIM_ERR_NOT_SUPPORTED 
1710             <LI>CIM_ERR_INVALID_NAMESPACE&nbsp; 
1711             <LI>CIM_ERR_INVALID_PARAMETER (including missing, 
1712             duplicate,&nbsp;unrecognized or otherwise incorrect parameters) 
1713             <LI>CIM_ERR_INVALID_CLASS (the CIM Class that is the 
1714             basis for this enumeration does not exist) 
1715             <LI>CIM_ERR_FAILED (some other unspecified error 
1716             occurred)</LI></UL>
1717           <P><A href="#top" >Back to contents</A></P>
1718           <H3>2.4.11. <A name=SecEnumerateInstances></a><A name=DefEnumerateInstances>EnumerateInstances</A></H3>
1719           <P>This operation is used to enumerate instances of a CIM 
1720           Class in the target Namespace.</P>
1721           <P>
1722           <TABLE border=1 class=Definition>
1723 karl  1.1   <THEAD>
1724             <TR>
1725               <TD><FONT face=Verdana><STRONG 
1726                 >&nbsp;EnumerateInstances</STRONG></FONT></TD></TR></THEAD>
1727             <TBODY>
1728             <TR>
1729               <TD>&nbsp;<A href="#sec_defnamedinstance" >&lt;namedInstance&gt;*</A>&nbsp;<STRONG 
1730                 >EnumerateInstances</STRONG> (<BR 
1731                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
1732                 [IN]&nbsp;<A href="#def_className" >&lt;className&gt;</A> ClassName,<BR 
1733                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[IN,OPTIONAL] 
1734                 boolean LocalOnly = true,<BR 
1735                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
1736                 [IN,OPTIONAL] boolean DeepInheritance = true,<BR 
1737                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[IN,OPTIONAL] 
1738                 boolean IncludeQualifiers = false,<BR 
1739                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[IN,OPTIONAL] 
1740                 boolean IncludeClassOrigin = false,<BR 
1741                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
1742                 [IN,OPTIONAL,NULL] string PropertyList [] = NULL<BR 
1743                 >&nbsp;)</TD></TR></TBODY></TABLE>
1744 karl  1.1 <P>The <FONT face="Courier New">ClassName</FONT> input parameter defines the Class that is 
1745           the basis for the enumeration.&nbsp;&nbsp;&nbsp; </P>
1746           <P>If the <FONT face="Courier New">LocalOnly</FONT> input parameter&nbsp;is <FONT 
1747           face="Courier New">true</FONT>,&nbsp;this specifies that, 
1748           for each returned Instance, only elements (properties and qualifiers) overriden 
1749           within&nbsp;the definition of that&nbsp;Instance are included [1].&nbsp; If 
1750           <FONT face="Courier New">false</FONT>, all elements are 
1751           returned.&nbsp; This parameter therefore effects a CIM Server-side mechanism to 
1752           filter certain elements of the returned object based on whether or not they have 
1753           been propagated from the parent Class&nbsp;(as defined by the <FONT 
1754           face="Courier New">PROPAGATED</FONT> attribute).</P>
1755           <P>If the <FONT face="Courier New">DeepInheritance</FONT> input parameter&nbsp;is <FONT 
1756           face="Courier New">true</FONT>,&nbsp;this specifies that, 
1757           for each returned Instance of the Class, all properties of the Instance MUST 
1758           be&nbsp;present (subject to constraints imposed by the other parameters), 
1759           including any which were added by subclassing the specified Class.&nbsp;If <FONT 
1760           face="Courier New">false</FONT>, each 
1761           returned&nbsp;Instance includes only properties defined for the&nbsp;specified 
1762           Class.</P>
1763           <P>If the <FONT face="Courier New">IncludeQualifiers</FONT> input parameter is <FONT 
1764           face="Courier New">true</FONT>, this specifies that all 
1765 karl  1.1 Qualifiers for&nbsp;each&nbsp;Instance (including Qualifiers on 
1766           the&nbsp;Instance and on any returned Properties) MUST be included as <FONT 
1767           face="Courier New">&lt;QUALIFIER&gt;</FONT> elements in the 
1768           response.&nbsp; If false no <FONT face="Courier New">&lt;QUALIFIER&gt;</FONT>&nbsp;elements are present 
1769           in&nbsp;each returned Instance.</P>
1770           <P>If the <FONT face="Courier New">IncludeClassOrigin</FONT> input parameter is <FONT 
1771           face="Courier New">true</FONT>, this specifies that the 
1772           <FONT face="Courier New">CLASSORIGIN</FONT> attribute MUST 
1773           be present on all appropriate elements in&nbsp;each returned Instance. If false, 
1774           no <FONT face="Courier New">CLASSORIGIN</FONT> attributes 
1775           are present in&nbsp;each returned Instance.</P>
1776           <P>If the <FONT face="Courier New">PropertyList</FONT> input parameter is not <FONT 
1777           face="Courier New">NULL</FONT>, the members of the array 
1778           define one or more Property names.&nbsp;&nbsp;Each returned&nbsp;Instance MUST 
1779           NOT include elements for any Properties&nbsp;missing from this list.&nbsp; Note 
1780           that if <FONT face="Courier New">LocalOnly</FONT> is 
1781           specified as <FONT face="Courier New">true</FONT> (or <FONT 
1782           face="Courier New">DeepInheritance</FONT> is specified as 
1783           <FONT face="Courier New">false</FONT>) this acts as an 
1784           additional filter on the&nbsp;set of Properties returned (for example, 
1785           if&nbsp;Property <FONT face="Courier New">A</FONT> is 
1786 karl  1.1 included&nbsp;in the <FONT face="Courier New">PropertyList</FONT> but <FONT face="Courier New">LocalOnly</FONT> is set to true and <FONT 
1787           face="Courier New">A</FONT> is not local to a 
1788           returned&nbsp;Instance, then it will not be included in that Instance). If the 
1789           <FONT face="Courier New">PropertyList</FONT> input 
1790           parameter is an empty array this signifies that no Properties are included in 
1791           each returned Instance.&nbsp;If the <FONT face="Courier New">PropertyList</FONT> input parameter is NULL this specifies 
1792           that all Properties (subject to the conditions expressed by the other 
1793           parameters) are included in each&nbsp;returned Instance.</P>
1794           <P>If&nbsp;the&nbsp;<FONT face="Courier New">PropertyList</FONT>&nbsp;contains duplicate elements, the 
1795           Server MUST ignore the duplicates but otherwise process the request 
1796           normally.&nbsp; If the <FONT face="Courier New">PropertyList</FONT> contains elements which are invalid 
1797           Property names for any&nbsp;target Instance, the Server MUST ignore such entries 
1798           but otherwise process the request normally.</P>
1799           <P>If successful, the method returns zero or 
1800           more&nbsp;named Instances that meet the required criteria.</P>
1801           <P>If unsuccessful, one of the following status 
1802           codes&nbsp;MUST be returned by this method, where the first applicable error in 
1803           the list (starting with the first element of the list, and working down) 
1804           is&nbsp;the error returned. Any additional method-specific interpretation of the 
1805           error in is given in parentheses.</P>
1806           <UL>
1807 karl  1.1   <LI>CIM_ERR_ACCESS_DENIED 
1808             <LI>CIM_ERR_NOT_SUPPORTED 
1809             <LI>CIM_ERR_INVALID_NAMESPACE&nbsp; 
1810             <LI>CIM_ERR_INVALID_PARAMETER (including missing, 
1811             duplicate,&nbsp;unrecognized or otherwise incorrect parameters) 
1812             <LI>CIM_ERR_INVALID_CLASS (the CIM Class that is the 
1813             basis for this enumeration does not exist) 
1814             <LI>CIM_ERR_FAILED (some other unspecified error 
1815             occurred)</LI></UL>
1816           <P><A href="#top" >Back to contents</A></P>
1817           <H3>
1818           </h3>
1819           <H3>2.4.12. <A name=SecEnumerateInstanceNames>EnumerateInstanceNames</A></H3>
1820           <P>This operation is used to enumerate the names (model 
1821           paths) of the instances of a CIM Class in the target Namespace.</P>
1822           <P>
1823           <TABLE border=1 class=Definition>
1824             <THEAD>
1825             <TR>
1826               <TD><FONT face=Verdana><STRONG 
1827                 >&nbsp;EnumerateInstanceNames</STRONG></FONT></TD></TR></THEAD>
1828 karl  1.1   <TBODY>
1829             <TR>
1830               <TD>&nbsp;<A href="#Def_instanceName" >&lt;instanceName&gt;*</A>&nbsp;<STRONG 
1831                 >EnumerateInstanceNames</STRONG> (<BR 
1832                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
1833                 [IN]&nbsp;<A href="#def_className" >&lt;className&gt;</A> ClassName<BR 
1834                 >&nbsp;)</TD></TR></TBODY></TABLE>
1835           <P>The <FONT face="Courier New">ClassName</FONT> input parameter defines the Class that is 
1836           the basis for the enumeration.&nbsp; </P>
1837           <P>If successful, the method returns zero or 
1838           more&nbsp;names of Instances (model paths) that meet the requsted criteria.</P>
1839           <P>If unsuccessful, one of the following status 
1840           codes&nbsp;MUST be returned by this method, where the first applicable error in 
1841           the list (starting with the first element of the list, and working down) 
1842           is&nbsp;the error returned. Any additional method-specific interpretation of the 
1843           error in is given in parentheses.</P>
1844           <UL>
1845             <LI>CIM_ERR_ACCESS_DENIED 
1846             <LI>CIM_ERR_NOT_SUPPORTED 
1847             <LI>CIM_ERR_INVALID_NAMESPACE&nbsp; 
1848             <LI>CIM_ERR_INVALID_PARAMETER (including missing, 
1849 karl  1.1   duplicate,&nbsp;unrecognized or otherwise incorrect parameters) 
1850             <LI>CIM_ERR_INVALID_CLASS (the CIM Class that is the 
1851             basis for this enumeration does not exist) 
1852             <LI>CIM_ERR_FAILED (some other unspecified error 
1853             occurred)</LI></UL>
1854           <P><A href="#top" >Back to contents</A></P>
1855           <H3>
1856           </h3>
1857           <H3>2.4.13. <A name=SecExecQuery>ExecQuery</A></H3>
1858           <P>This operation is used to execute a query against the 
1859           target Namespace.</P>
1860           <P>
1861           <TABLE border=1 class=Definition>
1862             <THEAD>
1863             <TR>
1864               <TD><FONT face=Verdana><STRONG 
1865                 >&nbsp;ExecQuery</STRONG></FONT></TD></TR></THEAD>
1866             <TBODY>
1867             <TR>
1868               <TD>&nbsp;<A href="#Def_objectArray" >&lt;object&gt;*</A>&nbsp;<STRONG 
1869                 >ExecQuery</STRONG> (<BR 
1870 karl  1.1       >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
1871                 [IN]&nbsp;string QueryLanguage,<BR 
1872                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
1873                 [IN]&nbsp;string Query<BR>&nbsp;)</TD></TR></TBODY></TABLE>
1874           <P>The <FONT face="Courier New">QueryLanguage</FONT> input parameter defines the query 
1875           language in which the Query parameter is expressed.</P>
1876           <P>The <FONT face="Courier New">Query</FONT> input parameter defines the query to be 
1877           executed. </P>
1878           <P>Neither the Query language nor the format of the Query 
1879           are defined by this specification.&nbsp; It is anticipated that Query languages 
1880           will be submitted to the DMTF as separate proposals.</P>
1881           <P>A mechanism whereby <A href="#DefCIMServer" >CIM Servers</A> can declare 
1882           which query languages they support (if any) is defined in <A href="#SecDeterminingCIMServerCapabilities" >Determining CIM Server 
1883           Capabilities</A>.</P>
1884           <P>If successful, the method returns zero or more&nbsp;CIM 
1885           Classes or Instances that correspond to the results set of the query.</P>
1886           <P>If unsuccessful, one of the following status 
1887           codes&nbsp;MUST be returned by this method, where the first applicable error in 
1888           the list (starting with the first element of the list, and working down) 
1889           is&nbsp;the error returned. Any additional method-specific interpretation of the 
1890           error in is given in parentheses.</P>
1891 karl  1.1 <UL>
1892             <LI>CIM_ERR_ACCESS_DENIED 
1893             <LI>CIM_ERR_NOT_SUPPORTED 
1894             <LI>CIM_ERR_INVALID_NAMESPACE&nbsp; 
1895             <LI>CIM_ERR_INVALID_PARAMETER (including missing, 
1896             duplicate,&nbsp;unrecognized or otherwise incorrect parameters) 
1897             <LI>CIM_ERR_QUERY_LANGUAGE_NOT_SUPPORTED (the requested 
1898             query language is not recognized) 
1899             <LI>CIM_ERR_INVALID_QUERY (the query is not a valid 
1900             query&nbsp;in the specified query language)&nbsp; 
1901             <LI>CIM_ERR_FAILED (some other unspecified error 
1902             occurred)</LI></UL>
1903           <P><A href="#top" >Back to contents</A></P>
1904           <H3>
1905           </h3>
1906           <H3>2.4.14. <A name=SecAssociators>Associators</A></H3>
1907           <P>This operation is used to enumerate CIM Objects (Classes 
1908           or Instances) that are associated to a particular 
1909           source&nbsp;CIM&nbsp;Object.</P>
1910           <P>
1911           <TABLE border=1 class=Definition>
1912 karl  1.1   <THEAD>
1913             <TR>
1914               <TD><FONT face=Verdana><STRONG 
1915                 >&nbsp;Associators</STRONG></FONT></TD></TR></THEAD>
1916             <TBODY>
1917             <TR>
1918               <TD>&nbsp;<A href="#Def_objectWithPathArray" >&lt;objectWithPath&gt;*</A> 
1919                 <STRONG>Associators</STRONG> (<BR 
1920                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
1921                 [IN]&nbsp;<A href="#Def_objectName" >&lt;objectName&gt;</A> ObjectName,<BR 
1922                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
1923                 [IN,OPTIONAL,NULL]&nbsp;<A href="#def_className" >&lt;className&gt;</A> AssocClass = NULL,<BR 
1924                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[IN,OPTIONAL,NULL]&nbsp;<A href="#def_className" >&lt;className&gt;</A>&nbsp;ResultClass = 
1925                 NULL,<BR 
1926                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
1927                 [IN,OPTIONAL,NULL] string Role = NULL,<BR 
1928                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
1929                 [IN,OPTIONAL,NULL] string ResultRole = NULL,<BR 
1930                 >&nbsp; 
1931                 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[IN,OPTIONAL] boolean 
1932                 IncludeQualifiers = false,<BR 
1933 karl  1.1       >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[IN,OPTIONAL] 
1934                 boolean IncludeClassOrigin = false,<BR 
1935                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
1936                 [IN,OPTIONAL,NULL] string PropertyList [] = NULL<BR 
1937                 >&nbsp;)</TD></TR></TBODY></TABLE>
1938           <P>The <FONT face="Courier New">ObjectName</FONT> input parameter defines the source 
1939           CIM&nbsp;Object whose associated Objects are to be returned.&nbsp; This may be 
1940           either a Class name or Instance name (model path).</P>
1941           <P>The <FONT face="Courier New">AssocClass</FONT> input parameter, if not <FONT 
1942           face="Courier New">NULL</FONT>, MUST be a valid CIM 
1943           Association Class name. It acts as a filter on the returned set of&nbsp;Objects 
1944           by mandating that each returned&nbsp;Object MUST be associated to the 
1945           source&nbsp;Object via an Instance of this Class or one of its subclasses. </P>
1946           <P>The <FONT face="Courier New">ResultClass</FONT> input parameter, if not <FONT 
1947           face="Courier New">NULL</FONT>, MUST be a valid CIM Class 
1948           name.&nbsp;It acts as a filter on the returned set of&nbsp;Objects by mandating 
1949           that each returned&nbsp;Object MUST be either an Instance of this Class (or one 
1950           of its subclasses) or be this Class (or one of its subclasses).</P>
1951           <P>The <FONT face="Courier New">Role</FONT> input parameter, if not <FONT 
1952           face="Courier New">NULL</FONT>, MUST be a 
1953           valid&nbsp;Property name. It acts as a filter on the returned set 
1954 karl  1.1 of&nbsp;Objects by mandating that each returned&nbsp;Object MUST be associated 
1955           to the source&nbsp;Object via an Association in which the source&nbsp;Object 
1956           plays the specified role (i.e. the name of the Property in the Association Class 
1957           that refers to the source&nbsp;Object&nbsp;MUST match the value of this 
1958           parameter).</P>
1959           <P>The <FONT face="Courier New">ResultRole</FONT> input parameter, if not <FONT 
1960           face="Courier New">NULL</FONT>, MUST be a 
1961           valid&nbsp;Property name. It acts as a filter on the returned set 
1962           of&nbsp;Objects by mandating that each returned&nbsp;Object MUST be associated 
1963           to the source&nbsp;Object via an Association in which the returned&nbsp;Object 
1964           plays the specified role (i.e. the name of the Property in the Association Class 
1965           that refers to the&nbsp;returned&nbsp;Object&nbsp;MUST match the value of this 
1966           parameter).</P>
1967           <P>If the <FONT face="Courier New">IncludeQualifiers</FONT> input parameter is <FONT 
1968           face="Courier New">true</FONT>, this specifies that all 
1969           Qualifiers for&nbsp;each&nbsp;Object (including Qualifiers on the&nbsp;Object 
1970           and on any returned Properties) MUST be included as <FONT face="Courier New">&lt;QUALIFIER&gt;</FONT> elements in the response.&nbsp; If 
1971           false no <FONT face="Courier New">&lt;QUALIFIER&gt;</FONT>&nbsp;elements are present 
1972           in&nbsp;each returned Object.</P>
1973           <P>If the <FONT face="Courier New">IncludeClassOrigin</FONT> input parameter is <FONT 
1974           face="Courier New">true</FONT>, this specifies that the 
1975 karl  1.1 <FONT face="Courier New">CLASSORIGIN</FONT> attribute MUST 
1976           be present on all appropriate elements in&nbsp;each returned Object. If false, 
1977           no <FONT face="Courier New">CLASSORIGIN</FONT> attributes 
1978           are present in&nbsp;each returned Object.</P>
1979           <P>If the <FONT face="Courier New">PropertyList</FONT> input parameter is not <FONT 
1980           face="Courier New">NULL</FONT>, the members of the array 
1981           define one or more Property names.&nbsp;&nbsp;Each returned&nbsp;Object MUST NOT 
1982           include elements for any Properties&nbsp;missing from this list.&nbsp; Note that 
1983           if <FONT face="Courier New">LocalOnly</FONT> is specified 
1984           as <FONT face="Courier New">true</FONT> (or <FONT 
1985           face="Courier New">DeepInheritance</FONT> is specified as 
1986           <FONT face="Courier New">false</FONT>) this acts as an 
1987           additional filter on the&nbsp;set of Properties returned (for example, 
1988           if&nbsp;Property <FONT face="Courier New">A</FONT> is 
1989           included&nbsp;in the <FONT face="Courier New">PropertyList</FONT> but <FONT face="Courier New">LocalOnly</FONT> is set to true and <FONT 
1990           face="Courier New">A</FONT> is not local to a 
1991           returned&nbsp;Instance, then it will not be included in that Instance). If the 
1992           <FONT face="Courier New">PropertyList</FONT> input 
1993           parameter is an empty array this signifies that no Properties are included in 
1994           each returned Object.&nbsp;If the <FONT face="Courier New">PropertyList</FONT> input parameter is NULL this specifies 
1995           that all Properties (subject to the conditions expressed by the other 
1996 karl  1.1 parameters) are included in each&nbsp;returned Object.</P>
1997           <P>If the&nbsp;<FONT face="Courier New">PropertyList</FONT>&nbsp;contains duplicate elements, the 
1998           Server MUST ignore the duplicates but otherwise process the request 
1999           normally.&nbsp; If the <FONT face="Courier New">PropertyList</FONT> contains elements which are invalid 
2000           Property names for any&nbsp;target Object, the Server MUST ignore such entries 
2001           but otherwise process the request normally.</P>
2002           <P>Clients SHOULD NOT explicitly specify properties in the 
2003           <FONT face="Courier New">PropertyList</FONT> parameter 
2004           unless they have specified a non-NULL value for the <FONT face="Courier New">ResultClass</FONT> parameter.</P>
2005           <P>If successful, the method returns zero or more&nbsp;CIM 
2006           Classes or Instances meeting the requested criteria.&nbsp; Since it is possible 
2007           for CIM Objects from different hosts or namespaces to be associated, each 
2008           returned Object includes location information.</P>
2009           <P>If unsuccessful, one of the following status 
2010           codes&nbsp;MUST be returned by this method, where the first applicable error in 
2011           the list (starting with the first element of the list, and working down) 
2012           is&nbsp;the error returned. Any additional method-specific interpretation of the 
2013           error in is given in parentheses.</P>
2014           <UL>
2015             <LI>CIM_ERR_ACCESS_DENIED 
2016             <LI>CIM_ERR_NOT_SUPPORTED 
2017 karl  1.1   <LI>CIM_ERR_INVALID_NAMESPACE&nbsp; 
2018             <LI>CIM_ERR_INVALID_PARAMETER (including missing, 
2019             duplicate,&nbsp;unrecognized or otherwise incorrect parameters) 
2020             <LI>CIM_ERR_FAILED (some other unspecified error 
2021             occurred)</LI></UL>
2022           <P><A href="#top" >Back to contents</A></P>
2023           <H3>
2024           </h3>
2025           <H3>2.4.15. <A name=SecAssociatorNames>AssociatorNames</A></H3>
2026           <P>This operation is used to enumerate the names of CIM 
2027           Objects (Classes or Instances) that are associated to a particular 
2028           source&nbsp;CIM&nbsp;Object.</P>
2029           <P>
2030           <TABLE border=1 class=Definition>
2031             <THEAD>
2032             <TR>
2033               <TD><FONT face=Verdana><STRONG 
2034                 >&nbsp;AssociatorNames</STRONG></FONT></TD></TR></THEAD>
2035             <TBODY>
2036             <TR>
2037               <TD>&nbsp;<A href="#Def_objectPathArray" >&lt;objectPath&gt;*</A>&nbsp;<STRONG 
2038 karl  1.1       >AssociatorNames</STRONG> (<BR 
2039                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
2040                 [IN]&nbsp;<A href="#Def_objectName" >&lt;objectName&gt;</A> ObjectName,<BR 
2041                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
2042                 [IN,OPTIONAL,NULL]&nbsp;<A href="#def_className" >&lt;className&gt;</A> AssocClass = NULL,<BR 
2043                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[IN,OPTIONAL,NULL]&nbsp;<A href="#def_className" >&lt;className&gt;</A>&nbsp;ResultClass = 
2044                 NULL,<BR 
2045                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
2046                 [IN,OPTIONAL,NULL] string Role = NULL,<BR 
2047                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
2048                 [IN,OPTIONAL,NULL] string ResultRole = NULL<BR 
2049               >&nbsp;)</TD></TR></TBODY></TABLE>
2050           <P>The <FONT face="Courier New">ObjectName</FONT> input parameter defines the source 
2051           CIM&nbsp;Object whose associated names are to be returned.&nbsp;This is either a 
2052           Class name or Instance name (model path).</P>
2053           <P>The <FONT face="Courier New">AssocClass</FONT> input parameter, if not <FONT 
2054           face="Courier New">NULL</FONT>, MUST be a valid CIM 
2055           Association Class name. It acts as a filter on the returned set of&nbsp;names by 
2056           mandating that each returned&nbsp;name identifies an Object that MUST be 
2057           associated to the source&nbsp;Object via an Instance of this Class or one of its 
2058           subclasses. </P>
2059 karl  1.1 <P>The <FONT face="Courier New">ResultClass</FONT> input parameter, if not <FONT 
2060           face="Courier New">NULL</FONT>, MUST be a valid CIM Class 
2061           name.&nbsp;It acts as a filter on the returned set of&nbsp;names by mandating 
2062           that each returned&nbsp;name identifies an Object that MUST be either an 
2063           Instance of this Class (or one of its subclasses) or be this Class (or one of 
2064           its subclasses).</P>
2065           <P>The <FONT face="Courier New">Role</FONT> input parameter, if not <FONT 
2066           face="Courier New">NULL</FONT>, MUST be a 
2067           valid&nbsp;Property name. It acts as a filter on the returned set of&nbsp;names 
2068           by mandating that each returned&nbsp;name identifies an Object that MUST be 
2069           associated to the source&nbsp;Object via an Association in which the 
2070           source&nbsp;Object plays the specified role (i.e. the name of the Property in 
2071           the Association Class that refers to the source&nbsp;Object&nbsp;MUST match the 
2072           value of this parameter).</P>
2073           <P>The <FONT face="Courier New">ResultRole</FONT> input parameter, if not <FONT 
2074           face="Courier New">NULL</FONT>, MUST be a 
2075           valid&nbsp;Property name. It acts as a filter on the returned set of&nbsp;names 
2076           by mandating that each returned&nbsp;name identifies an Object that MUST be 
2077           associated to the source&nbsp;Object via an Association in which the named 
2078           returned&nbsp;Object plays the specified role (i.e. the name of the Property in 
2079           the Association Class that refers to the&nbsp;returned&nbsp;Object&nbsp;MUST 
2080 karl  1.1 match the value of this parameter).</P>
2081           <P>If successful, the method returns zero or 
2082           more&nbsp;full&nbsp;CIM Class paths or Instance paths of Objects meeting the 
2083           requested criteria.&nbsp; Since it is possible for CIM Objects from different 
2084           hosts or namespaces to be associated, each returned&nbsp;path&nbsp;is an 
2085           absolute path that includes host and namespace information.</P>
2086           <P>If unsuccessful, one of the following status 
2087           codes&nbsp;MUST be returned by this method, where the first applicable error in 
2088           the list (starting with the first element of the list, and working down) 
2089           is&nbsp;the error returned. Any additional method-specific interpretation of the 
2090           error in is given in parentheses.</P>
2091           <UL>
2092             <LI>CIM_ERR_ACCESS_DENIED 
2093             <LI>CIM_ERR_NOT_SUPPORTED 
2094             <LI>CIM_ERR_INVALID_NAMESPACE&nbsp; 
2095             <LI>CIM_ERR_INVALID_PARAMETER (including missing, 
2096             duplicate,&nbsp;unrecognized or otherwise incorrect parameters) 
2097             <LI>CIM_ERR_FAILED (some other unspecified error 
2098             occurred)</LI></UL>
2099           <P><A href="#top" >Back to contents</A></P>
2100           <H3>
2101 karl  1.1 </h3>
2102           <H3>2.4.16. <A name=SecReferencesMethod>References</A></H3>
2103           <P>This operation is used to enumerate&nbsp;the association 
2104           objects that refer to a particular target&nbsp;CIM&nbsp;Object (Class or 
2105           Instance).</P>
2106           <P>
2107           <TABLE border=1 class=Definition>
2108             <THEAD>
2109             <TR>
2110               <TD><FONT face=Verdana><STRONG 
2111                 >&nbsp;References</STRONG></FONT></TD></TR></THEAD>
2112             <TBODY>
2113             <TR>
2114               <TD>&nbsp;<A href="#Def_objectWithPathArray" >&lt;objectWithPath&gt;*</A>&nbsp;<STRONG 
2115                 >References</STRONG> (<BR 
2116                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
2117                 [IN]&nbsp;<A href="#Def_objectName" >&lt;objectName&gt;</A> ObjectName,<BR 
2118                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[IN,OPTIONAL,NULL]&nbsp;<A href="#def_className" >&lt;className&gt;</A>&nbsp;ResultClass = 
2119                 NULL,<BR 
2120                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
2121                 [IN,OPTIONAL,NULL] string Role = NULL,<BR 
2122 karl  1.1       >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[IN,OPTIONAL] 
2123                 boolean IncludeQualifiers = false,<BR 
2124                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[IN,OPTIONAL] 
2125                 boolean IncludeClassOrigin = false,<BR 
2126                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
2127                 [IN,OPTIONAL,NULL] string PropertyList [] = NULL<BR 
2128                 >&nbsp;)</TD></TR></TBODY></TABLE>
2129           <P>The <FONT face="Courier New">ObjectName</FONT> input parameter defines the&nbsp;target 
2130           CIM&nbsp;Object whose&nbsp;referring&nbsp;Objects are to be returned.&nbsp;This 
2131           is either a Class name or Instance name (model path).&nbsp; </P>
2132           <P>The <FONT face="Courier New">ResultClass</FONT> input parameter, if not <FONT 
2133           face="Courier New">NULL</FONT>, MUST be a valid CIM Class 
2134           name.&nbsp;It acts as a filter on the returned set of&nbsp;Objects by mandating 
2135           that each returned&nbsp;Object&nbsp;MUST be&nbsp;an Instance of this Class (or 
2136           one of its subclasses), or this Class (or one of its&nbsp;subclasses).</P>
2137           <P>The <FONT face="Courier New">Role</FONT> input parameter, if not <FONT 
2138           face="Courier New">NULL</FONT>, MUST be a 
2139           valid&nbsp;Property name. It acts as a filter on the returned set 
2140           of&nbsp;Objects by mandating that each returned&nbsp;Objects MUST refer to the 
2141           target&nbsp;Object&nbsp;via a Property whose name matches&nbsp;the value of this 
2142           parameter.</P>
2143 karl  1.1 <P>If the <FONT face="Courier New">IncludeQualifiers</FONT> input parameter is <FONT 
2144           face="Courier New">true</FONT>, this specifies that all 
2145           Qualifiers for&nbsp;each&nbsp;Object (including Qualifiers on the&nbsp;Object 
2146           and on any returned Properties) MUST be included as <FONT face="Courier New">&lt;QUALIFIER&gt;</FONT> elements in the response.&nbsp; If 
2147           false no <FONT face="Courier New">&lt;QUALIFIER&gt;</FONT>&nbsp;elements are present 
2148           in&nbsp;each returned Object.</P>
2149           <P>If the <FONT face="Courier New">IncludeClassOrigin</FONT> input parameter is <FONT 
2150           face="Courier New">true</FONT>, this specifies that the 
2151           <FONT face="Courier New">CLASSORIGIN</FONT> attribute MUST 
2152           be present on all appropriate elements in&nbsp;each returned Object. If false, 
2153           no <FONT face="Courier New">CLASSORIGIN</FONT> attributes 
2154           are present in&nbsp;each returned Object.</P>
2155           <P>If the <FONT face="Courier New">PropertyList</FONT> input parameter is not <FONT 
2156           face="Courier New">NULL</FONT>, the members of the array 
2157           define one or more Property names.&nbsp;&nbsp;Each returned&nbsp;Object MUST NOT 
2158           include elements for any Properties&nbsp;missing from this list.&nbsp; Note that 
2159           if <FONT face="Courier New">LocalOnly</FONT> is specified 
2160           as <FONT face="Courier New">true</FONT> (or <FONT 
2161           face="Courier New">DeepInheritance</FONT> is specified as 
2162           <FONT face="Courier New">false</FONT>) this acts as an 
2163           additional filter on the&nbsp;set of Properties returned (for example, 
2164 karl  1.1 if&nbsp;Property <FONT face="Courier New">A</FONT> is 
2165           included&nbsp;in the <FONT face="Courier New">PropertyList</FONT> but <FONT face="Courier New">LocalOnly</FONT> is set to true and <FONT 
2166           face="Courier New">A</FONT> is not local to a 
2167           returned&nbsp;Instance, then it will not be included in that Instance). If the 
2168           <FONT face="Courier New">PropertyList</FONT> input 
2169           parameter is an empty array this signifies that no Properties are included in 
2170           each returned Object.&nbsp;If the <FONT face="Courier New">PropertyList</FONT> input parameter is NULL this specifies 
2171           that all Properties (subject to the conditions expressed by the other 
2172           parameters) are included in each&nbsp;returned Object.</P>
2173           <P>If the&nbsp;<FONT face="Courier New">PropertyList</FONT>&nbsp;contains duplicate elements, the 
2174           Server MUST ignore the duplicates but otherwise process the request 
2175           normally.&nbsp; If the <FONT face="Courier New">PropertyList</FONT> contains elements which are invalid 
2176           Property names for any&nbsp;target Object, the Server MUST ignore such entries 
2177           but otherwise process the request normally.</P>
2178           <P>Clients SHOULD NOT explicitly specify properties in the 
2179           <FONT face="Courier New">PropertyList</FONT> parameter 
2180           unless they have specified a non-NULL value for the <FONT face="Courier New">ResultClass</FONT> parameter.</P>
2181           <P>If successful, the method returns zero or more&nbsp;CIM 
2182           Classes or Instances meeting the requested criteria.&nbsp; Since it is possible 
2183           for CIM Objects from different hosts or namespaces to be associated, each 
2184           returned Object includes location information.</P>
2185 karl  1.1 <P>If unsuccessful, one of the following status 
2186           codes&nbsp;MUST be returned by this method, where the first applicable error in 
2187           the list (starting with the first element of the list, and working down) 
2188           is&nbsp;the error returned. Any additional method-specific interpretation of the 
2189           error in is given in parentheses.</P>
2190           <UL>
2191             <LI>CIM_ERR_ACCESS_DENIED 
2192             <LI>CIM_ERR_NOT_SUPPORTED 
2193             <LI>CIM_ERR_INVALID_NAMESPACE&nbsp; 
2194             <LI>CIM_ERR_INVALID_PARAMETER (including missing, 
2195             duplicate,&nbsp;unrecognized or otherwise incorrect parameters) 
2196             <LI>CIM_ERR_FAILED (some other unspecified error 
2197             occurred)</LI></UL>
2198           <P><A href="#top" >Back to contents</A></P>
2199           <H3>
2200           </h3>
2201           <H3>2.4.17. <A name=SecReferenceNames>ReferenceNames</A></H3>
2202           <P>This operation is used to enumerate the 
2203           association&nbsp;objects that refer to a particular target&nbsp;CIM&nbsp;Object 
2204           (Class or Instance).</P>
2205           <P>
2206 karl  1.1 <TABLE border=1 class=Definition>
2207             <THEAD>
2208             <TR>
2209               <TD><FONT face=Verdana><STRONG 
2210                 >&nbsp;ReferenceNames</STRONG></FONT></TD></TR></THEAD>
2211             <TBODY>
2212             <TR>
2213               <TD>&nbsp;<A href="#Def_objectPathArray" >&lt;objectPath&gt;*</A>&nbsp;<STRONG 
2214                 >ReferenceNames</STRONG> (<BR 
2215                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
2216                 [IN]&nbsp;<A href="#Def_objectName" >&lt;objectName&gt;</A> ObjectName,<BR 
2217                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[IN,OPTIONAL,NULL]&nbsp;<A href="#def_className" >&lt;className&gt;</A>&nbsp;ResultClass = 
2218                 NULL,<BR 
2219                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
2220                 [IN,OPTIONAL,NULL] string Role&nbsp;= NULL<BR 
2221               >&nbsp;)</TD></TR></TBODY></TABLE>
2222           <P>The <FONT face="Courier New">ObjectName</FONT> input parameter defines the&nbsp;target 
2223           CIM&nbsp;Object whose&nbsp;referring&nbsp;object names are to be 
2224           returned.&nbsp;It may be either a Class name&nbsp;or an Instance name (model 
2225           path).</P>
2226           <P>The <FONT face="Courier New">ResultClass</FONT> input parameter, if not <FONT 
2227 karl  1.1 face="Courier New">NULL</FONT>, MUST be a valid CIM Class 
2228           name.&nbsp;It acts as a filter on the returned set of&nbsp;Object Names by 
2229           mandating that each returned&nbsp;Object&nbsp;Name MUST identify&nbsp;an 
2230           Instance of this Class (or one of its subclasses), or this Class (or one of its 
2231           subclasses).</P>
2232           <P>The <FONT face="Courier New">Role</FONT> input parameter, if not <FONT 
2233           face="Courier New">NULL</FONT>, MUST be a 
2234           valid&nbsp;Property name. It acts as a filter on the returned set of&nbsp;Object 
2235           Names by mandating that each returned&nbsp;Object Name MUST identify 
2236           an&nbsp;Object that refers to the target Instance&nbsp;via a Property whose name 
2237           matches&nbsp;the value of this parameter.</P>
2238           <P>If successful, the method returns the names of zero or 
2239           more&nbsp;full&nbsp;CIM Class paths or Instance paths of Objects meeting the 
2240           requested criteria.&nbsp; Since it is possible for CIM Objects from different 
2241           hosts or namespaces to be associated, each returned&nbsp;path&nbsp;is an 
2242           absolute path that includes host and namespace information.</P>
2243           <P>If unsuccessful, one of the following status 
2244           codes&nbsp;MUST be returned by this method, where the first applicable error in 
2245           the list (starting with the first element of the list, and working down) 
2246           is&nbsp;the error returned. Any additional method-specific interpretation of the 
2247           error in is given in parentheses.</P>
2248 karl  1.1 <UL>
2249             <LI>CIM_ERR_ACCESS_DENIED 
2250             <LI>CIM_ERR_NOT_SUPPORTED 
2251             <LI>CIM_ERR_INVALID_NAMESPACE&nbsp; 
2252             <LI>CIM_ERR_INVALID_PARAMETER (including missing, 
2253             duplicate,&nbsp;unrecognized or otherwise incorrect parameters) 
2254             <LI>CIM_ERR_FAILED (some other unspecified error 
2255             occurred)</LI></UL>
2256           <P><A href="#top" >Back to contents</A></P>
2257           <H3>
2258           </h3>
2259           <H3>2.4.18. <A name=SecGetProperty>GetProperty</A></H3>
2260           <P style="COLOR: black">This operation is used to retrieve 
2261           a single property value from a CIM Instance in the target Namespace.</P>
2262           <P>
2263           <TABLE border=1 class=Definition>
2264             <THEAD>
2265             <TR>
2266               <TD><FONT face=Verdana><STRONG 
2267                 >&nbsp;GetProperty</STRONG></FONT></TD></TR></THEAD>
2268             <TBODY>
2269 karl  1.1   <TR>
2270               <TD style="COLOR: black">&nbsp;<A href="#Def_propertyValue" >&lt;propertyValue&gt;?</A>&nbsp;<STRONG 
2271                 >GetProperty</STRONG> (<BR 
2272                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
2273                 [IN]&nbsp;<A href="#Def_instanceName" >&lt;instanceName&gt;</A> 
2274                 InstanceName,<BR 
2275                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
2276                 [IN]&nbsp;string&nbsp;PropertyName<BR 
2277             >&nbsp;)</TD></TR></TBODY></TABLE>
2278           <P>The <FONT face="Courier New">InstanceName</FONT> input parameter&nbsp;specifies the name 
2279           of the&nbsp;Instance (model path) from which the Property value is 
2280           requested.</P>
2281           <P>The <FONT face="Courier New">PropertyName</FONT> input parameter specifies the name of 
2282           the Property whose value is to be returned.</P>
2283           <P>If successful, the return value specifies the value of 
2284           the requested Property. If the value is NULL then no element is returned.</P>
2285           <P>If unsuccessful, one of the following status 
2286           codes&nbsp;MUST be returned by this method, where the first applicable error in 
2287           the list (starting with the first element of the list, and working down) 
2288           is&nbsp;the error returned. Any additional method-specific interpretation of the 
2289           error in is given in parentheses.</P>
2290 karl  1.1 <UL>
2291             <LI>CIM_ERR_ACCESS_DENIED 
2292             <LI>CIM_ERR_INVALID_NAMESPACE 
2293             <LI>CIM_ERR_INVALID_PARAMETER (including missing, 
2294             duplicate,&nbsp;unrecognized or otherwise incorrect parameters) 
2295             <LI>CIM_ERR_INVALID_CLASS (the CIM Class does not exist 
2296             in the specified namespace) 
2297             <LI>CIM_ERR_NOT_FOUND (the CIM Class does exist, but the 
2298             requested CIM&nbsp;Instance does not exist in the specified namespace) 
2299             <LI>CIM_ERR_NO_SUCH_PROPERTY (the CIM Instance does 
2300             exist, but the requested Property does not)&nbsp; 
2301             <LI>CIM_ERR_FAILED (some other unspecified error 
2302             occurred)</LI></UL>
2303           <P><A href="#top" >Back to contents</A></P>
2304           <H3>
2305           </h3>
2306           <H3>2.4.19. <A name=SecSetProperty>SetProperty</A></H3>
2307           <P>This operation is used to&nbsp;set a single property 
2308           value in a CIM Instance in the target Namespace.</P>
2309           <P>
2310           <TABLE border=1 class=Definition>
2311 karl  1.1   <THEAD>
2312             <TR>
2313               <TD><FONT face=Verdana><STRONG 
2314                 >&nbsp;SetProperty</STRONG></FONT></TD></TR></THEAD>
2315             <TBODY>
2316             <TR>
2317               <TD>&nbsp;void&nbsp;<STRONG 
2318                 >SetProperty</STRONG> (<BR 
2319                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
2320                 [IN]&nbsp;<A href="#Def_instanceName" >&lt;instanceName&gt;</A> 
2321                 InstanceName,<BR 
2322                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
2323                 [IN]&nbsp;string&nbsp;PropertyName,<BR 
2324                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
2325                 [IN,OPTIONAL,NULL] <A href="#Def_propertyValue" >&lt;propertyValue&gt;</A> NewValue = 
2326                 NULL<BR>&nbsp;)</TD></TR></TBODY></TABLE>
2327           <P>The <FONT face="Courier New">InstanceName</FONT> input parameter&nbsp;specifies the name 
2328           of the Instance (model path)&nbsp;for which the Property value is to be 
2329           updated.</P>
2330           <P>The <FONT face="Courier New">PropertyName</FONT> input parameter specifies the name of 
2331           the Property whose value is to be updated.</P>
2332 karl  1.1 <P>The <FONT face="Courier New">NewValue</FONT> input parameter specifies the new value for 
2333           the Property (which may be NULL).</P>
2334           <P>If unsuccessful, one of the following status 
2335           codes&nbsp;MUST be returned by this method, where the first applicable error in 
2336           the list (starting with the first element of the list, and working down) 
2337           is&nbsp;the error returned. Any additional method-specific interpretation of the 
2338           error in is given in parentheses.</P>
2339           <UL>
2340             <LI>CIM_ERR_ACCESS_DENIED 
2341             <LI>CIM_ERR_NOT_SUPPORTED 
2342             <LI>CIM_ERR_INVALID_NAMESPACE 
2343             <LI>CIM_ERR_INVALID_PARAMETER (including missing, 
2344             duplicate,&nbsp;unrecognized or otherwise incorrect parameters) 
2345             <LI>CIM_ERR_INVALID_CLASS (the CIM Class does not exist 
2346             in the specified namespace) 
2347             <LI>CIM_ERR_NOT_FOUND (the CIM Class does exist, but the 
2348             requested CIM&nbsp;Instance does not exist in the specified namespace) 
2349             <LI>CIM_ERR_NO_SUCH_PROPERTY (the CIM Instance does 
2350             exist, but the requested Property does not)&nbsp; 
2351             <LI>CIM_ERR_TYPE_MISMATCH (the supplied value is 
2352             incompatible with the type of the Property) 
2353 karl  1.1   <LI>CIM_ERR_FAILED (some other unspecified error 
2354             occurred)</LI></UL>
2355           <P><A href="#top" >Back to contents</A></P>
2356           <H3>
2357           </h3>
2358           <H3>2.4.20. <A name=SecGetQualifier></a><A 
2359           name=SecGetQualifier>GetQualifier</A></H3>
2360           <P>This operation is used to&nbsp;retrieve&nbsp;a single 
2361           Qualifier declaration from the target Namespace.&nbsp; </P>
2362           <P>
2363           <TABLE border=1 class=Definition>
2364             <THEAD>
2365             <TR>
2366               <TD><FONT face=Verdana><STRONG 
2367                 >&nbsp;GetQualifier</STRONG></FONT></TD></TR></THEAD>
2368             <TBODY>
2369             <TR>
2370               <TD>&nbsp;<A href="#Def_qualifierDecl" >&lt;qualifierDecl&gt;</A> <STRONG 
2371                 >GetQualifier</STRONG> (<BR 
2372                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
2373                 [IN]&nbsp;string QualifierName<BR 
2374 karl  1.1   >&nbsp;)</TD></TR></TBODY></TABLE>
2375           <P>The <FONT face="Courier New">QualifierName</FONT> input parameter identifies the 
2376           Qualifier whose declaration to be retrieved.</P>
2377           <P>If successful, the method returns the Qualifier 
2378           declaration for the named Qualifier.</P>
2379           <P>If unsuccessful, one of the following status 
2380           codes&nbsp;MUST be returned by this method, where the first applicable error in 
2381           the list (starting with the first element of the list, and working down) 
2382           is&nbsp;the error returned. Any additional method-specific interpretation of the 
2383           error in is given in parentheses.</P>
2384           <UL>
2385             <LI>CIM_ERR_ACCESS_DENIED 
2386             <LI>CIM_ERR_NOT_SUPPORTED 
2387             <LI>CIM_ERR_INVALID_NAMESPACE 
2388             <LI>CIM_ERR_INVALID_PARAMETER (including missing, 
2389             duplicate,&nbsp;unrecognized or otherwise incorrect parameters) 
2390             <LI>CIM_ERR_NOT_FOUND (the requested Qualifier 
2391             declaration did not exist) 
2392             <LI>CIM_ERR_FAILED (some other unspecified error 
2393             occurred)</LI></UL>
2394           <P><A href="#top" >Back to contents</A></P>
2395 karl  1.1 <H3>
2396           </h3>
2397           <H3>2.4.21. <A name=SecSetQualifier>SetQualifier</A></H3>
2398           <P>This operation is used to&nbsp;create&nbsp;or update a 
2399           single Qualifier declaration in the target Namespace.&nbsp; If the 
2400           Qualifier&nbsp;declaration already exists it is overwritten.</P>
2401           <P>
2402           <TABLE border=1 class=Definition>
2403             <THEAD>
2404             <TR>
2405               <TD><FONT face=Verdana><STRONG 
2406                 >&nbsp;SetQualifier</STRONG></FONT></TD></TR></THEAD>
2407             <TBODY>
2408             <TR>
2409               <TD>&nbsp;void&nbsp;<STRONG 
2410                 >SetQualifier</STRONG> (<BR 
2411                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
2412                 [IN]&nbsp;<A href="#Def_qualifierDecl" >&lt;qualifierDecl&gt;</A> 
2413                 QualifierDeclaration<BR>&nbsp;)</TD></TR></TBODY></TABLE>
2414           <P>The <FONT face="Courier New">QualifierDeclaration</FONT> input parameter defines the 
2415           Qualifier Declaration to be added to the Namespace.</P>
2416 karl  1.1 <P>If successful, the Qualifier declaration MUST have been 
2417           added to the target Namespace.&nbsp; If a Qualifier declaration with the same 
2418           Qualifier name already existed, then it MUST have been replaced by the new 
2419           declaration.</P>
2420           <P>If unsuccessful, one of the following status 
2421           codes&nbsp;MUST be returned by this method, where the first applicable error in 
2422           the list (starting with the first element of the list, and working down) 
2423           is&nbsp;the error returned. Any additional method-specific interpretation of the 
2424           error in is given in parentheses.</P>
2425           <UL>
2426             <LI>CIM_ERR_ACCESS_DENIED 
2427             <LI>CIM_ERR_NOT_SUPPORTED 
2428             <LI>CIM_ERR_INVALID_NAMESPACE 
2429             <LI>CIM_ERR_INVALID_PARAMETER (including missing, 
2430             duplicate,&nbsp;unrecognized or otherwise incorrect parameters) 
2431             <LI>CIM_ERR_FAILED (some other unspecified error 
2432             occurred)</LI></UL>
2433           <P><A href="#top" >Back to contents</A></P>
2434           <H3>2.4.22. <A name=SecDeleteQualifier>DeleteQualifier</A></H3>
2435           <P>This operation is used to&nbsp;delete&nbsp;a single 
2436           Qualifier declaration from the target Namespace.&nbsp; </P>
2437 karl  1.1 <P>
2438           <TABLE border=1 class=Definition>
2439             <THEAD>
2440             <TR>
2441               <TD><FONT face=Verdana><STRONG 
2442                 >&nbsp;DeleteQualifier</STRONG></FONT></TD></TR></THEAD>
2443             <TBODY>
2444             <TR>
2445               <TD>&nbsp;void <STRONG 
2446                 >DeleteQualifier</STRONG> (<BR 
2447                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
2448                 [IN]&nbsp;string QualifierName<BR 
2449             >&nbsp;)</TD></TR></TBODY></TABLE>
2450           <P>The <FONT face="Courier New">QualifierName</FONT> input parameter identifies the 
2451           Qualifier whose declaration to be deleted.</P>
2452           <P>If successful, the specified Qualifier declaration MUST 
2453           have been deleted from the Namespace.</P>
2454           <P>If unsuccessful, one of the following status 
2455           codes&nbsp;MUST be returned by this method, where the first applicable error in 
2456           the list (starting with the first element of the list, and working down) 
2457           is&nbsp;the error returned. Any additional method-specific interpretation of the 
2458 karl  1.1 error in is given in parentheses.</P>
2459           <UL>
2460             <LI>CIM_ERR_ACCESS_DENIED 
2461             <LI>CIM_ERR_NOT_SUPPORTED 
2462             <LI>CIM_ERR_INVALID_NAMESPACE 
2463             <LI>CIM_ERR_INVALID_PARAMETER (including missing, 
2464             duplicate,&nbsp;unrecognized or otherwise incorrect parameters) 
2465             <LI>CIM_ERR_NOT_FOUND (the requested Qualifier 
2466             declaration did not exist) 
2467             <LI>CIM_ERR_FAILED (some other unspecified error 
2468             occurred)</LI></UL>
2469           <P><A href="#top" >Back to contents</A></P>
2470           <H3>2.4.23. <A name=SecEnumerateQualifiers>EnumerateQualifiers</A></H3>
2471           <P>This operation is used to&nbsp;enumerate Qualifier 
2472           declarations from the target Namespace.&nbsp; </P>
2473           <P>
2474           <TABLE border=1 class=Definition>
2475             <THEAD>
2476             <TR>
2477               <TD><FONT face=Verdana><STRONG 
2478                 >&nbsp;EnumerateQualifiers</STRONG></FONT></TD></TR></THEAD>
2479 karl  1.1   <TBODY>
2480             <TR>
2481               <TD>&nbsp;<A href="#Def_qualifierDecl" >&lt;qualifierDecl&gt;*</A> <STRONG 
2482                 >EnumerateQualifiers</STRONG> (<BR 
2483                 >&nbsp;)</TD></TR></TBODY></TABLE>
2484           <P>If successful, the method returns zero or 
2485           more&nbsp;Qualifier declarations.</P>
2486           <P>If unsuccessful, one of the following status 
2487           codes&nbsp;MUST be returned by this method, where the first applicable error in 
2488           the list (starting with the first element of the list, and working down) 
2489           is&nbsp;the error returned. Any additional method-specific interpretation of the 
2490           error in is given in parentheses.</P>
2491           <UL>
2492             <LI>CIM_ERR_ACCESS_DENIED 
2493             <LI>CIM_ERR_NOT_SUPPORTED 
2494             <LI>CIM_ERR_INVALID_NAMESPACE 
2495             <LI>CIM_ERR_INVALID_PARAMETER (including missing, 
2496             duplicate,&nbsp;unrecognized or otherwise incorrect parameters) 
2497             <LI>CIM_ERR_FAILED (some other unspecified error 
2498             occurred)</LI></UL>
2499           <P><A href="#top" >Back to contents</A></P>
2500 karl  1.1 <H2>2.5. <A name=SecNamespaceManipulation>Namespace Manipulation</A></H2>
2501           <P>There are no <A href="#DefIntrinsic" >intrinsic</A> methods defined 
2502           specifically for the purpose of manipulating CIM Namespaces. However, the 
2503           modelling of a CIM Namespace&nbsp;using the class&nbsp;<FONT face="Courier New">__Namespace</FONT>, together with the requirement that the 
2504           <FONT face="Courier New">root</FONT> Namespace MUST be 
2505           supported by all CIM Servers, implies that all Namespace operations can be 
2506           supported.</P>
2507           <P>For example:</P>
2508           <UL style="MARGIN-RIGHT: 0px">
2509             <LI>Enumeration of all child&nbsp;Namespaces of a 
2510             particular Namespace is realized by calling the&nbsp;intrinsic method <A href="#SecEnumerateInstanceNames" >EnumerateInstanceNames</A> against 
2511             the parent Namespace,&nbsp;specifying a value for the ClassName 
2512             parameter&nbsp;of <FONT face="Courier New" 
2513             >__Namespace</FONT>. 
2514             <LI>Creation of a child Namespace is realized by calling 
2515             the intrinsic method <A href="#SecCreateInstance" >CreateInstance</A> against the 
2516             parent&nbsp;Namespace, specifying a value&nbsp;for the NewInstance parameter 
2517             which defines a valid instance of the class <FONT face="Courier New" 
2518             >__Namespace</FONT> and whose <FONT face="Courier New" 
2519             >Name</FONT> property&nbsp;is the desired name of the new 
2520             Namespace.</LI></UL>
2521 karl  1.1 <H2><A name=SecFunctionalProfiles>2.6. 
2522           Functional Profiles</A></H2>
2523           <P>This section partitions the <A href="#SecIntrinsicMethods" >intrinsic methods</A> into 
2524           functional&nbsp;groups for the purpose of establishing conformance.</P>
2525           <P>Support for a particular group does <EM>not</EM> guarantee that all invocations of any method in 
2526           that group will succeed.&nbsp; Rather, the exclusion of a group is a declaration 
2527           that any attempt to call a method in that group will always return <A href="#DefCimErrNotSupported" >CIM_ERR_NOT_SUPPORTED</A>.</P>
2528           <P>Mechanisms by which a <A href="#DefCIMServer" >CIM Server</A> may declare 
2529           the functional groups that it supports are defined in the section on <A href="#SecDeterminingCIMServerCapabilities" >Determining CIM Server 
2530           Capabilities</A>.</P>
2531           <P>In order to limit the number of different profiles that 
2532           may be supported by a CIM Server, each functional group has a dependency on 
2533           another group (with the exception of the Basic Read functional group).&nbsp; If 
2534           functional group G<SUB>1</SUB> has a dependency on 
2535           functional group G<SUB>2</SUB>, then a CIM Server which 
2536           supports G<SUB>1</SUB> MUST also support G<SUB>2</SUB>.&nbsp; </P>
2537           <P>The dependency relation is transitive, so that if G<SUB>1</SUB> depends on G<SUB>2</SUB>, and 
2538           G<SUB>2</SUB> depends on G<SUB>3</SUB>, then G<SUB>1</SUB> depends on 
2539           G<SUB>3</SUB>. It is also anti-symmetric, so that if G<SUB>1</SUB> depends on G<SUB>2</SUB> then 
2540           G<SUB>2</SUB> cannot depend on G<SUB>1</SUB>.</P>
2541           <P>Using these rules, the table below defines a rooted 
2542 karl  1.1 directed tree of dependencies with the Basic Read dependency representing the 
2543           root node.&nbsp; </P>
2544           <P>For example, a CIM Server which supports the Schema 
2545           Manipulation functional group MUST also support the Instance Manipulation, Basic 
2546           Write and Basic Read.</P>
2547           <P>
2548           <TABLE border=1 borderColor=teal cellPadding=5 cellSpacing=1 width="100%">
2549             <TBODY>
2550             <TR>
2551               <TD>
2552                 <P align=center><STRONG><FONT 
2553                 size=3>Functional Group</FONT></STRONG> </P></TD>
2554               <TD>
2555                 <P align=center><FONT size=3 
2556                 ><STRONG 
2557                 >Dependency</STRONG></FONT></P></TD>
2558               <TD>
2559                 <P align=center><FONT size=3 
2560                 ><STRONG 
2561                 >Methods</STRONG></FONT></P></TD></TR>
2562             <TR>
2563 karl  1.1     <TD><FONT size=2><A 
2564                 name=DefBasicRead><FONT size=2 
2565                 >Basic Read</FONT></A></FONT></TD>
2566               <TD><EM><FONT size=2 
2567                 >none</FONT></EM></TD>
2568               <TD><FONT size=2><A href="#SecGetProperty" >GetClass<BR 
2569                 >EnumerateClasses<BR 
2570                 >EnumerateClassNames<BR 
2571                 >GetInstance<BR 
2572                 >EnumerateInstances<BR 
2573                 >EnumerateInstanceNames<BR 
2574                 >GetProperty</A></FONT></TD></TR>
2575             <TR>
2576               <TD><FONT size=2><A 
2577                 name=DefBasicWrite><FONT size=2 
2578                 >Basic Write</FONT></A></FONT></TD>
2579               <TD><FONT size=2>Basic 
2580                 Read</FONT></TD>
2581               <TD><FONT size=2><A href="#SecSetProperty" >SetProperty</A></FONT></TD></TR>
2582             <TR>
2583               <TD><FONT size=2><A 
2584 karl  1.1       name=DefSchemaManipulation><FONT size=2 
2585                 >Schema Manipulation</FONT></A></FONT></TD>
2586               <TD><FONT size=2>Instance 
2587                 Manipulation</FONT></TD>
2588               <TD><A href="#SecDeleteClass" ><FONT size=2 
2589                 >CreateClass<BR>ModifyClass<BR 
2590                 >DeleteClass</FONT></A></TD></TR>
2591             <TR>
2592               <TD><FONT size=2><A 
2593                 name=DefInstanceManipulation><FONT size=2 
2594                 >Instance Manipulation</FONT></A></FONT></TD>
2595               <TD><FONT size=2>Basic 
2596                 Write</FONT></TD>
2597               <TD><A href="#SecModifyInstance" ><FONT size=2 
2598                 >CreateInstance<BR 
2599                 >ModifyInstance<BR 
2600                 >DeleteInstance</FONT></A></TD></TR>
2601             <TR>
2602               <TD><FONT size=2><A 
2603                 name=DefAssociationTraversal><FONT size=2 
2604                 >Association Traversal</FONT></A></FONT></TD>
2605 karl  1.1     <TD><FONT size=2>Basic 
2606                 Read</FONT></TD>
2607               <TD><A href="#SecReferenceNames" ><FONT size=2 
2608                 >Associators<BR 
2609                 >AssociatorNames<BR>References<BR 
2610                 >ReferenceNames</FONT></A></TD></TR>
2611             <TR>
2612               <TD><FONT size=2><A 
2613                 name=DefQueryExecution><FONT size=2 
2614                 >Query Execution</FONT></A></FONT></TD>
2615               <TD><FONT size=2>Basic 
2616                 Read</FONT></TD>
2617               <TD><A href="#SecExecQuery" ><FONT size=2 
2618                 >ExecQuery</FONT></A></TD></TR>
2619             <TR>
2620               <TD><FONT size=2><A 
2621                 name=DefQualifierDeclaration><FONT size=2 
2622                 >Qualifier Declaration</FONT></A></FONT></TD>
2623               <TD><FONT size=2>Schema 
2624                 Manipulation</FONT></TD>
2625               <TD><FONT size=2><A href="#SecEnumerateQualifiers" >GetQualifier<BR 
2626 karl  1.1       >SetQualifier<BR 
2627                 >DeleteQualifier<BR 
2628                 >EnumerateQualifiers</A></FONT></TD></TR></TBODY></TABLE>
2629           <P><A href="#top" >Back to contents</A></P>
2630           <H2><A name=SecExtrinsicMethodInvocation>2.7. Extrinsic Method Invocation</A></H2>
2631           <P>Any&nbsp;<A href="#DefCIMServer" >CIM Server</A> is assumed to support extrinsic 
2632           methods. Extrinsic methods are defined by the Schema supported by the Cim 
2633           Server. If a Cim Server does not support extrinsic method invocations, it MUST 
2634           (subject to the considerations described in the rest of this section) return the 
2635           error code CIM_ERR_NOT_SUPPORTED to any request to execute an extrinsic method. 
2636           This allows a <A href="#DefCIMClient" >CIM client</A> to determine that all attempts to 
2637           execute extrinsic methods will fail.</P>
2638           <P>If the Cim Server is unable to perform the extrinsic 
2639           method invocation, one of the following status codes MUST be returned by the 
2640           CimServer, where the first applicable error in the list (starting with the first 
2641           element of the list, and working down) is the error returned. Any additional 
2642           specific interpretation of the error is given in parentheses. 
2643           <UL>
2644             <LI>CIM_ERR_ACCESS_DENIED 
2645             <LI>CIM_ERR_NOT_SUPPORTED (the CimServer does not support 
2646             extrinsic method invocations) 
2647 karl  1.1   <LI>CIM_ERR_INVALID_NAMESPACE 
2648             <LI>CIM_ERR_INVALID_PARAMETER (including missing, 
2649             duplicate, unrecognized or otherwise incorrect parameters) 
2650             <LI>CIM_ERR_NOT_FOUND (the target CIM Class or instance 
2651             does not exist in the specified namespace) 
2652             <LI>CIM_ERR_METHOD_NOT_FOUND 
2653             <LI>CIM_ERR_METHOD_NOT_AVAILABLE (the CimServer is unable 
2654             to honor the invocation request) 
2655             <LI>CIM_ERR_FAILED (some other unspecified error 
2656             occurred)</LI></UL>
2657           <P><A href="#top" >Back to contents</A></P>
2658           <H1>3. <A name=SecEncapsulationOfCIMOperations></A>Encapsulation of CIM Operations</H1>
2659           <P>All CIM Operation requests MUST be made 
2660           using&nbsp;either an HTTP M-POST or POST message, with the preferred mechanism 
2661           being the use of M-POST. The use of other HTTP Methods to invoke CIM Operations 
2662           is outside the scope of this specification.</P>
2663           <P>All CIM Operation responses are carried in the 
2664           corresponding HTTP Response message to the M-POST or POST request.</P>
2665           <P>In&nbsp;the remainder of&nbsp;this document:</P>
2666           <UL>
2667             <LI><A name=DefCIMOperationRequest 
2668 karl  1.1   ></A>the term <EM>CIM Operation 
2669             Request</EM> is a convenient shorthand for an HTTP M-POST or POST request 
2670             message that includes an XML entity body which defines an <A href="#DefOperationRequestMessage" >Operation Request Message</A>, 
2671             and; 
2672             <LI><A name=DefCIMOperationResponse 
2673             ></A>the term <EM>CIM Operation 
2674             Response</EM> is a convenient shorthand for an HTTP response message, issued 
2675             in response to a CIM Operation Request, that includes an entity body which 
2676             defines an&nbsp;<A href="#DefOperationResponseMessage" >Operation&nbsp;Response 
2677             Message</A>.&nbsp; Note&nbsp;that an HTTP response to a CIM Operation Request 
2678             is <EM>not always</EM> a CIM Operation Response; for 
2679             example a "505 HTTP Version Not Supported" response would not be a CIM 
2680             Operation Response.</LI></UL>
2681           <P>Where it is necessary to distinguish requirements 
2682           between the use of M-POST and POST, these will be explicitly defined.</P>
2683           <P>The extension mechanism used in this document is based 
2684           on the HTTP Extension Framework [9]. A goal of the framework is to allow a 
2685           decentralized naming mechanism whereby parties can introduce additional HTTP 
2686           Headers without fear of conflicting interpretation of a given Header name.</P>
2687           <P>It is not the intention of this document to replicate 
2688           information in that document concerning the required behavior of entities that 
2689 karl  1.1 implement this framework; suffice it to say that conforming CIM implementations 
2690           of this specification protocol MUST abide by all requirements in that 
2691           document.</P>
2692           <P><A href="#top" >Back to contents</A></P>
2693           <H2><A name=SecCIMClientsAndServers>3.1. CIM Clients and Servers</A></H2>
2694           <P>The following definitions are used throughout the 
2695           remainder of this document:</P>
2696           <UL>
2697             <LI><A name=DefCIMClient></A>A <EM 
2698             >CIM client</EM> is an HTTP client that issues <A href="#DefCIMOperationRequest" >CIM Operation Requests</A> and 
2699             receives and processes <A href="#DefCIMOperationResponse" >CIM Operation Responses</A>. 
2700             <LI><A name=DefCIMServer></A>A <EM 
2701             >CIM server</EM> is an an HTTP server that receives and 
2702             processes CIM Operation Requests and issues CIM Operation Responses.</LI></UL>
2703           <P>An HTTP client/server&nbsp;MAY be capable of acting as 
2704           both a CIM client and a CIM server.</P>
2705           <P><A href="#top" >Back to contents</A></P>
2706           <H2><A name=SecUseOfMPOSTAndPOST>3.2. 
2707           Use of M-POST and POST</A></H2>
2708           <P>A <A href="#DefCIMClient" >CIM client</A> attempting a CIM Operation 
2709           invocation conformant to this specification MUST first try the invocation using 
2710 karl  1.1 the HTTP method "M-POST". </P>
2711           <UL>
2712             <LI>If the M-POST invocation fails with an HTTP status of 
2713             "501 Not Implemented" or "510 Not Extended", then the client SHOULD retry the 
2714             request using the HTTP method “POST” with the appropriate modifications 
2715             (described in <A href="#SecNamingOfExtensionHeaders" >Naming of Extension 
2716             Headers</A>).&nbsp; The intention is that POST should only be used as a 
2717             fallback mechanism in environments where firewalls or proxies do not yet have 
2718             the ability to understand M-POST requests. 
2719             <LI>If the M-POST invocation fails with an HTTP status of 
2720             "405 Method Not Allowed", then the client SHOULD fail the request. 
2721             <LI>For all other status codes the client MUST act in 
2722             accordance with standard HTTP [6,7].</LI></UL>
2723           <P>This extended invocation mechanism allows Internet 
2724           proxies &amp; firewalls greater filtering control and administrative flexibility 
2725           over CIM Operation invocations.</P>
2726           <P>In the case of a client receiving a 501 or 510 status in 
2727           response to an M-POST request, then in subsequent invocations to the same HTTP 
2728           server, the client&nbsp;MAY omit the attempt at M-POST invocations for a 
2729           suitable period, thus avoiding the need for an extra round trip on each and 
2730           every method invocation.&nbsp; The details of the caching strategy employed by 
2731 karl  1.1 the client are outside of the scope of this specification.</P>
2732           <P>Given this algorithm, firewalls can if they wish 
2733           effectively force the use of M-POST for&nbsp;CIM Operation invocations by 
2734           prohibiting POST invocations containing the Extension Header <A href="#SecCIMOperation" >CIMOperation</A>. </P>
2735           <H3><A name=SecUseOfTheExtHeader>3.2.1. Use of the Ext Header</A></H3>
2736           <P>If a <A href="#DefCIMServer" >CIM Server</A> receives a valid M-POST request, 
2737           and has fulfilled all mandatory extension header declarations in the request, 
2738           then it MUST include in the response the "Ext" header defined by [9].&nbsp; This 
2739           must be protected by the appropriate <A href="#SecCache-Control" >Cache-Control</A> 
2740           directive.</P>
2741           <P><A href="#top" >Back to contents</A></P>
2742           <H2><A name=SecExtensionHeadersDefinedForCIM>3.3. Extension Headers Defined for CIM Operation Requests 
2743           and Responses</A></H2>
2744           <P>This section describes the extension headers used to 
2745           specify CIM operational semantics in the HTTP Header of an M-POST or POST 
2746           message.</P>
2747           <P>Any <A href="#DefCIMOperationRequest" >CIM Operation 
2748           Request</A> or <A href="#DefCIMOperationResponse" >CIM Operation Response</A> MUST include 
2749           the following CIM extension header:</P>
2750           <UL>
2751             <LI><A href="#SecCIMOperation" >CIMOperation</A> </LI></UL>
2752 karl  1.1 <P>Any <A href="#DefCIMOperationRequest" >CIM Operation 
2753           Request</A> MUST include one and only one of the&nbsp;following CIM extension 
2754           header sets:</P>
2755           <UL style="MARGIN-RIGHT: 0px">
2756             <LI><A href="#SecCIMMethod" >CIMMethod</A> and <A href="#SecCIMObject" >CIMObject</A>, or 
2757             <LI><A href="#SecCIMBatch" >CIMBatch</A></LI></UL>
2758           <P>An HTTP reponse with an error status code to a CIM 
2759           Operation Request MAY include the following CIM extension header:</P>
2760           <UL style="MARGIN-RIGHT: 0px">
2761             <LI><A href="#SecCIMError" >CIMError</A> </LI></UL>
2762           <P>All&nbsp;CIM Operation Requests and Responses MAY 
2763           include the following CIM extension header:</P>
2764           <UL>
2765             <LI><A href="#SecCIMProtocolVersion" >CIMProtocolVersion</A></LI></UL>
2766           <P><A href="#top" >Back to contents</A></P>
2767           <H3><A name=SecNamingOfExtensionHeaders>3.3.1. Naming of Extension Headers</A></H3>
2768           <P>In M-POST request messages (and their responses), CIM 
2769           extension headers MUST be declared using the name space prefix allotted by the 
2770           "Man" extension header (in accordance with [9]) that refers to the name space 
2771           "<A href="http://www.dmtf.org/cim/mapping/http/v1.0peration">http://www.dmtf.org/cim/mapping/http/v1.0</A>". </P>
2772           <P>The full format of the "Man" header declaration for this 
2773 karl  1.1 specification is:</P>
2774           <P>
2775           <TABLE class=Definition id=TABLE2 style="LEFT: 26px; TOP: 4179px">
2776             <TBODY>
2777             <TR>
2778               <TD 
2779                 >Man&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
2780                 = "Man" ":" "<A href="http://www.dmtf.org/cim/mapping/http/v1.0" 
2781                 >http://www.dmtf.org/cim/mapping/http/v1.0</A>"</TD></TR>
2782             <TR>
2783               <TD 
2784                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";" 
2785                 "ns" "=" header-prefix</TD></TR>
2786             <TR>
2787               <TD>header-prefix&nbsp;&nbsp;&nbsp;&nbsp;= 
2788             2*DIGIT</TD></TR></TBODY></TABLE>
2789           <P>This header-prefix SHOULD be generated at random on a 
2790           per-HTTP message basis, and SHOULD NOT necessarily be a specific number.</P>
2791           <P>In accordance with [9], all POST request messages (and 
2792           their responses) MUST NOT include such a mandatory extension declaration. In 
2793           POST request messages (and their responses), name space prefixes MUST NOT be 
2794 karl  1.1 used.</P>
2795           <P><STRONG>Example 1</STRONG> </P>
2796           <P>Using M-POST:</P>
2797           <P>
2798           <TABLE class=Example id=TABLE5>
2799             <TBODY>
2800             <TR>
2801               <TD>M-POST /cimom HTTP/1.1</TD></TR>
2802             <TR>
2803               <TD>Man: <A 
2804                 href="http://www.dmtf.org./cim/mapping/http/v1.0peration" 
2805                 >http://www.dmtf.org./cim/mapping/http/v1.0</A> ; 
2806               ns=23</TD></TR>
2807             <TR>
2808               <TD>23-CIMOperation: MethodCall</TD></TR>
2809             <TR>
2810               <TD>...</TD></TR></TBODY></TABLE>
2811           <P><STRONG>Example 2</STRONG> </P>
2812           <P>Using POST:</P>
2813           <P>
2814           <TABLE class=Example>
2815 karl  1.1   <TBODY>
2816             <TR>
2817               <TD>POST /cimom HTTP/1.1</TD></TR>
2818             <TR>
2819               <TD>CIMOperation: MethodCall</TD></TR>
2820             <TR>
2821               <TD>...</TD></TR></TBODY></TABLE>
2822           <P><A href="#top" >Back to contents</A></P>
2823           <H3>3.3.2. <A name=SecEncodingOfCIMNamesWithinHTTPHeaders></A>Encoding of CIM Element Names within HTTP Headers</H3>
2824           <P><A name=DefCIMIdentifier></A>CIM 
2825           element (class, property, qualifier, method or method parameter) names 
2826           are&nbsp;natively Unicode, and may use UCS-2 characters unsuitable for inclusion 
2827           within an HTTP message header. In order to&nbsp;encode CIM element names 
2828           represented in Unicode to values within HTTP Headers, the following mapping MUST 
2829           be used:</P>
2830           <UL>
2831             <LI>Encode the full Unicode CIM element name using UTF-8 
2832             [15], and then; 
2833             <LI>Apply the standard URI [16, section 2] escaping 
2834             mechanism to the resulting string to escape any characters&nbsp;that&nbsp;are 
2835             unsafe within an HTTP Header, using the ""%" HEX HEX" convention).</LI></UL>
2836 karl  1.1 <P>The token <STRONG>CIMIdentifier</STRONG>, where used in this document, 
2837           represents a CIM element name to which this transformation has been applied.</P>
2838           <P>One characteristic of this mapping is that CIM elements 
2839           that are named with an ASCII representation will appear in ASCII in the 
2840           resultant URL.</P>
2841           <P><STRONG>Examples</STRONG> </P>
2842           <P>
2843           <TABLE border=1 cellPadding=10 class=Example id=TABLE6>
2844             <TBODY>
2845             <TR>
2846               <TD>
2847                 <P>CIM_LogicalElement is unchanged under this 
2848                 transformation</P></TD></TR>
2849             <TR>
2850               <TD>
2851                 <P>The class named using the UCS-2 sequence 
2852                 representing the Hangul characters for the Korean&nbsp;word "hangugo" 
2853                 (D55C, AD6D, C5B4) becomes </P>
2854                 <P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
2855                 %ED%95%9C%EA%B5%AD%EC%96%B4=10</P>
2856                 <P>after UTF-8 transformation and escaping all 
2857 karl  1.1       characters with their % HEX HEX equivalent. </P></TD></TR></TBODY></TABLE>
2858           <P><A href="#top" >Back to contents</A></P>
2859           <H3>3.3.3. <A 
2860           name=SecEncodingOfCIMObjectPathsWithinHTTPHeaders></A>Encoding of CIM Object Paths within HTTP Headers</H3>
2861           <P>This section describes the mapping that MUST be applied 
2862           in order to represent CIM object paths, as described within an <A href="#DefOperationRequestMessage" >Operation Request Message</A> using 
2863           the &lt;LOCALNAMESPACEPATH&gt;, &lt;LOCALCLASSPATH&gt; or 
2864           &lt;LOCALINSTANCEPATH&gt; elements,&nbsp;in&nbsp;a format that is safe for 
2865           representation within an HTTP header. </P>
2866           <P>If the element to be transformed is a 
2867           &lt;LOCALNAMESPACEPATH&gt; element, the algorithm is as follows:</P>
2868           <OL>
2869             <LI>For the first NAMESPACE subelement, output the 
2870             textual content of that element. 
2871             <LI>For each subsequent NAMESPACE subelement, output the 
2872             forward slash character (/) followed by the textual content of that NAMESPACE 
2873             element. </LI></OL>
2874           <P>If the element to be transformed is a 
2875           &lt;LOCALCLASSPATH&gt; element, the algorithm is as follows:</P>
2876           <OL>
2877             <LI>Transform the&nbsp;&lt;LOCALNAMESPACEPATH&gt; 
2878 karl  1.1   subelement using the rules described above, and output a colon character (:). 
2879             <LI>Output the value of the <FONT face="Courier New" 
2880             >NAME</FONT> attribute of the &lt;CLASSNAME&gt; 
2881             subelement.</LI></OL>
2882           <P>If the element to be transformed is an 
2883           &lt;LOCALINSTANCEPATH&gt; element, the algorithm is as follows:</P>
2884           <OL>
2885             <LI>Transform the&nbsp;&lt;LOCALNAMESPACEPATH&gt; 
2886             subelement using the rules described above, and output a colon character (:). 
2887             <LI>Output the value of the <FONT face="Courier New" 
2888             >CLASSNAME</FONT> attribute of the &lt;INSTANCENAME&gt; 
2889             subelement. 
2890             <LI>If there is at least one &lt;KEYBINDING&gt; 
2891             subelement under the &lt;INSTANCENAME&gt; subelement, then for each&nbsp;such 
2892             subelement: 
2893             <UL>
2894               <LI>Output a period character (.) if this is the first 
2895               &lt;KEYBINDING&gt; subelement, and a comma (,) otherwise. 
2896               <LI>Output the value of the <FONT face="Courier New" 
2897               >NAME</FONT> attribute, followed by an equals character 
2898               (=). 
2899 karl  1.1     <LI>If there is&nbsp;a&nbsp;&lt;KEYVALUE&gt; 
2900               subelement, output the textual element content of that element, subject to 
2901               the following transformation: 
2902               <UL>
2903                 <LI>If the <FONT face="Courier New" 
2904                 >VALUETYPE</FONT> attribute is&nbsp;numeric or 
2905                 boolean, the output&nbsp;is identical to the content of the element. 
2906                 <LI>If the <FONT face="Courier New" 
2907                 >VALUETYPE</FONT> attribute is string, the output is 
2908                 obtained by enclosing the content of the element in double quote (") 
2909                 characters, and escaping any double quote characters within the value with 
2910                 a preceding backslash&nbsp;(\) character.&nbsp;</LI></UL>
2911               <LI>If there is&nbsp;a&nbsp;&lt;VALUE.REFERENCE&gt; 
2912               subelement 
2913               <UL>
2914                 <LI>output a double quote character ("). 
2915                 <LI>apply the process recursively to the 
2916                 &lt;CLASSPATH&gt; or &lt;INSTANCEPATH&gt; subelement of the 
2917                 &lt;VALUE.REFERENCE&gt; element, escaping any double quote character or 
2918                 backslash character thereby generated with a preceding backslash (\) 
2919                 character. 
2920 karl  1.1       <LI>output a closing double quote character 
2921               (").</LI></UL></LI></UL>
2922             <LI>If there is no &lt;KEYBINDING&gt; subelement but 
2923             there is a &lt;KEYVALUE&gt; or &lt;VALUE.REFERENCE&gt; subelement under the 
2924             &lt;INSTANCENAME&gt; subelement, then: 
2925             <UL>
2926               <LI>Output an equals character (=). 
2927               <LI>Output the transformed&nbsp;value of the 
2928               &lt;KEYVALUE&gt; or &lt;VALUE.REFERENCE&gt;, using the same rules as 
2929               described above.</LI></UL>
2930             <LI>If there were no &lt;KEYBINDING&gt; subelements, or 
2931             no &lt;KEYVALUE&gt; or &lt;VALUE.REFERENCE&gt; subelement, under the 
2932             &lt;INSTANCENAME&gt; subelement then output the string "=@" to indicate a 
2933             singleton instance.</LI></OL>
2934           <P>Finally, after applying the above rules to the 
2935           &lt;LOCALNAMESPACEPATH&gt;, &lt;LOCALCLASSPATH&gt; or &lt;LOCALINSTANCEPATH&gt; 
2936           element, transform the entire output string into URI-safe format as 
2937           follows:&nbsp;</P>
2938           <OL>
2939             <LI>Encode the&nbsp;string using UTF-8 [15] if it is not 
2940             already in this format, and then; 
2941 karl  1.1   <LI>Apply the standard URI [16, section 2] escaping 
2942             mechanism to the resulting string to escape any characters&nbsp;that&nbsp;are 
2943             unsafe within an HTTP Header, using the ""%" HEX HEX" convention).</LI></OL>
2944           <P><A name=DefCIMObjectPath></A>The 
2945           token <STRONG>CIMObjectPath</STRONG>, where used in this 
2946           document, represents a &lt;LOCALNAMESPACEPATH&gt;, &lt;LOCALCLASSPATH&gt; or 
2947           &lt;LOCALINSTANCEPATH&gt; element to which the above transformation has been 
2948           applied.</P>
2949           <P><A href="#top" >Back to contents</A></P>
2950           <H3>3.3.4. <A name=SecCIMOperation></A>CIMOperation</H3>
2951           <P>This header MUST be present in all <A href="#DefCIMOperationRequest" >CIM Operation&nbsp;Request</A> and <A href="#DefCIMOperationResponse" >CIM Operation Response</A> 
2952           messages.&nbsp;&nbsp;It identifies the HTTP message as carrying a CIM Operation 
2953           request or response.</P>
2954           <P>
2955           <TABLE class=Definition>
2956             <TBODY>
2957             <TR>
2958               <TD>CIMOperation = "CIMOperation"&nbsp;":" 
2959                 ("MethodCall" | "MethodResponse")</TD></TR></TBODY></TABLE>
2960           <P>A <A href="#DefCIMClient" >CIM Client</A> MUST include this header,&nbsp;with 
2961           the value "MethodCall", in all CIM Operation Requests that it issues.&nbsp; A <A href="#DefCIMServer" >CIM 
2962 karl  1.1 Server</A> MUST include this header in all CIM Operation Responses,&nbsp;with 
2963           the value "MethodResponse", that it issues.</P>
2964           <P>If a CIM Server receives CIM Operation request with this 
2965           header, but with a missing value or a value that is not "MethodCall", then it 
2966           MUST fail the request with status "400 Bad Request".&nbsp;The CIM 
2967           Server&nbsp;MUST include a <A href="#SecCIMError" >CIMError</A> header in the response with a value of 
2968           <FONT face="Courier New">unsupported-operation</FONT>.</P>
2969           <P>If a CIM Server receives a CIM Operation request without 
2970           this header, it MUST NOT process it as if it were a CIM Operation Request.&nbsp; 
2971           The status code returned by the CIM Server in response to such a request is 
2972           outside of the scope of this specification.</P>
2973           <P>If a CIM Client receives a response to a CIM Operation 
2974           Request without this header (or if this header has a value which is not 
2975           "MethodResponse"), it SHOULD discard the response, and take appropriate measures 
2976           to publicize the fact that it has received an incorrect response.&nbsp; The 
2977           details as to how this is done are outside of the scope of this 
2978           specification.</P>
2979           <P>This header affords a simple mechanism by which firewall 
2980           or proxy administrators can make global administrative decisions on all CIM 
2981           Operations.</P>
2982           <P><A href="#top" >Back to contents</A></P>
2983 karl  1.1 <H3>3.3.5. <A name=SecCIMProtocolVersion></A>CIMProtocolVersion</H3>
2984           <P>This header MAY be present in any <A href="#DefCIMOperationRequest" >CIM Operation Request</A> or <A href="#DefCIMOperationResponse" >CIM Operation Response</A> 
2985           message.&nbsp; The header identifies the version of the CIM&nbsp;mapping onto 
2986           HTTP being used by the sending entity.</P>
2987           <P>
2988           <TABLE class=Definition id=TABLE3>
2989             <TBODY>
2990             <TR>
2991               <TD>CIMProtocolVersion = "CIMProtocolVersion" ":" 
2992                 1*DIGIT "." 1*DIGIT </TD></TR></TBODY></TABLE>
2993           <P>If the header is omitted, then a value of 1.0&nbsp;MUST 
2994           be assummed.</P>
2995           <P>The major and minor numbers MUST be treated 
2996           as&nbsp;independent integers which MAY be incremented higher than a single 
2997           digit.&nbsp; Therefore version x<SUB>1</SUB>.y<SUB>1</SUB> is lower than x<SUB>2</SUB>.y<SUB>2</SUB> if and only 
2998           if:</P>
2999           <UL>
3000             <LI>x<SUB>1</SUB> is less than x<SUB 
3001             >2</SUB>, or; 
3002             <LI>x<SUB>1</SUB> equals x<SUB 
3003             >2</SUB>, and y<SUB>1</SUB> is less 
3004 karl  1.1   than y<SUB>2</SUB></LI></UL>
3005           <P>If a <A href="#DefCIMServer" >CIM Server</A> receives an CIM Operation Request 
3006           for which the value of this header indicates a version that it does not support, 
3007           then it&nbsp;MUST respond in the manner defined in the section on <A href="#SecErrors" >Errors</A>. 
3008           </P>
3009           <P>Otherwise, if a CIM Server receives an CIM Operation 
3010           Request for which the value of this header does not match the value of the <FONT 
3011           face="Courier New">PROTOCOLVERSION</FONT> attribute&nbsp;of 
3012           the &lt;MESSAGE&gt; element within the Operation Request, then it MUST fail the 
3013           request and return a status of "400 Bad Request" (and&nbsp;MUST include a <A href="#SecCIMError" >CIMError</A> header in the response with a value of 
3014           <FONT face="Courier New">unsupported-protocol-version</FONT>), subject to the 
3015           considerations specified in <A href="#SecErrors" >Errors</A>.</P>
3016           <P><A href="#top" >Back to contents</A></P>
3017           <H3>3.3.6. <A name=SecCIMMethod></A>CIMMethod</H3>
3018           <P>This header MUST be present in any <A href="#DefCIMOperationRequest" >CIM Operation Request</A> message that 
3019           contains a <A href="#DefSimpleOperationRequest" >Simple Operation Request</A>.&nbsp; 
3020           </P>
3021           <P>It MUST NOT be present in any <A href="#DefCIMOperationResponse" >CIM Operation Response</A> message, nor 
3022           in any <A href="#DefCIMOperationRequest" >CIM Operation Request</A> message that 
3023           is not a Simple Operation Request.</P>
3024           <P>The header identifies the name of 
3025 karl  1.1 the&nbsp;CIM&nbsp;method to be invoked, encoded in an <A href="#SecEncodingOfCIMNamesWithinHTTPHeaders" >HTTP-safe 
3026           representation</A>.&nbsp; Firewalls and proxies&nbsp;may use this header to 
3027           carry out routing and forwarding decisions based on the CIM method to be 
3028           invoked.</P>
3029           <P>The name of the CIM method within a Simple Operation 
3030           Request is defined to be the value of the <FONT face="Courier New">NAME</FONT> attribute of the &lt;METHODCALL&gt; or 
3031           &lt;IMETHODCALL&gt; element.</P>
3032           <P>
3033           <TABLE class=Definition id=TABLE4>
3034             <TBODY>
3035             <TR>
3036               <TD>CIMMethod&nbsp; = "CIMMethod" ":" 
3037           MethodName</TD></TR>
3038             <TR>
3039               <TD>MethodName = <A href="#DefCIMIdentifier" >CIMIdentifier</A> 
3040               </TD></TR></TBODY></TABLE>
3041           <P>If a&nbsp;<A href="#DefCIMServer" >CIM Server</A>&nbsp;receives a CIM Operation 
3042           Request for which either:</P>
3043           <UL style="MARGIN-RIGHT: 0px">
3044             <LI>The CIMMethod header is present but has an invalid 
3045             value, or; 
3046 karl  1.1   <LI>The CIMMethod header is not present but the Operation 
3047             Request&nbsp;Message&nbsp;is a <A href="#DefSimpleOperationRequest" >Simple 
3048             Operation Request</A>, or; 
3049             <LI>The CIMMethod header is present but the Operation 
3050             Request&nbsp;Message&nbsp;is not a&nbsp;Simple Operation Request, or; 
3051             <LI>The CIMMethod header is present, the Operation 
3052             Request Message is a Simple Operation Request, but the CIMIdentifier value 
3053             (when unencoded) does not match the unique method name within the Simple 
3054             Operation Request,</LI></UL>
3055           <P>then it MUST fail the request and return a status of 
3056           "400 Bad Request" (and&nbsp;MUST include a <A href="#SecCIMError" >CIMError</A> header in the 
3057           response with a value of <FONT face="Courier New">header-mismatch</FONT>),&nbsp;subject to the considerations 
3058           specified in <A href="#SecErrors" >Errors</A>.</P>
3059           <P>Note that this verification provides a <EM>basic </EM>level of assurance that any intermediate 
3060           firewall or proxy was not acting on misleading information when it decided to 
3061           forward the request based on the content of the CIMMethod header.&nbsp; 
3062           Additional securing of HTTP messages against modification in transit (such as 
3063           the encryption of the payload or appending of a digital signature thereto) would 
3064           be required to provide a higher degree of integrity.</P>
3065           <P><A href="#top" >Back to contents</A></P>
3066           <H3>3.3.7.<A name=SecCIMObject></A> 
3067 karl  1.1 CIMObject</H3>
3068           <P>This header MUST be present in any <A href="#DefCIMOperationRequest" >CIM Operation Request</A> message that 
3069           contains a <A href="#DefSimpleOperationRequest" >Simple Operation Request</A>.&nbsp; 
3070           </P>
3071           <P>It MUST NOT be present in any <A href="#DefCIMOperationResponse" >CIM Operation Response</A> message, nor 
3072           in any <A href="#DefCIMOperationRequest" >CIM Operation Request</A> message that 
3073           that is not a Simple Operation Request.</P>
3074           <P>The header identifies the&nbsp;CIM&nbsp;object (which 
3075           MUST be a Class or Instance for an <A href="#DefExtrinsic" >extrinsic</A> method, or a Namespace for an <A href="#DefIntrinsic" >intrinsic</A> method) on which the method is to be 
3076           invoked, using a CIM object path encoded in an <A href="#SecEncodingOfCIMObjectPathsWithinHTTPHeaders" >HTTP-safe 
3077           representation</A>.&nbsp; Firewalls and proxies&nbsp;may use this header to 
3078           carry out routing and forwarding decisions based on the CIM object that is the 
3079           target of a method invocation.</P>
3080           <P>
3081           <TABLE class=Definition>
3082             <TBODY>
3083             <TR>
3084               <TD>CIMObject&nbsp; = "CIMObject" 
3085               ":"&nbsp;ObjectPath</TD></TR>
3086             <TR>
3087               <TD>ObjectPath = <A href="#DefCIMObjectPath" >CIMObjectPath</A></TD></TR></TBODY></TABLE>
3088 karl  1.1 <P>The ObjectPath value is constructed by applying the 
3089           algorithm defined in&nbsp;<A href="#SecEncodingOfCIMObjectPathsWithinHTTPHeaders" >Encoding CIM 
3090           Object Paths</A> to either:</P>
3091           <UL>
3092             <LI>The &lt;LOCALNAMESPACEPATH&gt; subelement of the 
3093             &lt;IMETHODCALL&gt; element, or; 
3094             <LI>The &lt;LOCALCLASSPATH&gt; or 
3095             &lt;LOCALINSTANCEPATH&gt; subelement of the &lt;METHODCALL&gt; element</LI></UL>
3096           <P>within the CIM Operation Request.</P>
3097           <P>If a&nbsp;<A href="#DefCIMServer" >CIM Server</A>&nbsp;receives a CIM Operation 
3098           Request for which either:</P>
3099           <UL style="MARGIN-RIGHT: 0px">
3100             <LI>The CIMObject header is present but has an invalid 
3101             value, or: 
3102             <LI>The CIMObject header is not present but the Operation 
3103             Request&nbsp;Message&nbsp;is a <A href="#DefSimpleOperationRequest" >Simple 
3104             Operation Request</A>, or; 
3105             <LI>The CIMObject header is present but the Operation 
3106             Request&nbsp;Message&nbsp;is not a&nbsp;Simple Operation Request, or; 
3107             <LI>The CIMObject header is present,&nbsp;Operation 
3108             Request Message is&nbsp;a Simple Operation Request, but the&nbsp;ObjectPath 
3109 karl  1.1   value does not match (where <EM>match </EM>is defined in 
3110             the section on <A href="#SecEncodingOfCIMObjectPathsWithinHTTPHeaders" >Encoding CIM 
3111             Object Paths</A>) the Operation Request Message,</LI></UL>
3112           <P>then it MUST fail the request and return a status of 
3113           "400 Bad Request" (and&nbsp;MUST include a <A href="#SecCIMError" >CIMError</A> header in the 
3114           response with a value of <FONT face="Courier New">header-mismatch</FONT>),&nbsp;subject to the considerations 
3115           specified in <A href="#SecErrors" >Errors</A>.</P>
3116           <P>Note that this verification provides a <EM>basic </EM>level of assurance that any intermediate 
3117           firewall or proxy was not acting on misleading information when it decided to 
3118           forward the request based on the content of the CIMObject header.&nbsp; 
3119           Additional securing of HTTP messages against modification in transit (such as 
3120           the encryption of the payload or appending of a digital signature thereto) would 
3121           be required to provide a higher degree of integrity.</P>
3122           <P><A href="#top" >Back to contents</A></P>
3123           <H3><A name=SecCIMBatch>3.3.8. 
3124           CIMBatch</A></H3>
3125           <P>This header MUST be present in any <A href="#DefCIMOperationRequest" >CIM Operation Request</A> message that 
3126           contains a <A href="#DefMultipleOperationRequest" >Multiple Operation 
3127           Request</A>.&nbsp; </P>
3128           <P>It MUST NOT be present in any <A href="#DefCIMOperationResponse" >CIM Operation Response</A> message, nor 
3129           in any <A href="#DefCIMOperationRequest" >CIM Operation Request</A> message that 
3130 karl  1.1 is not a Multiple Operation Request.</P>
3131           <P>The header identifies the encapsulated Operation Request 
3132           Message as containing multiple method invocations.&nbsp; Firewalls and 
3133           proxies&nbsp;may use this header to carry out routing and forwarding decisions 
3134           for batched CIM method invocations.</P>
3135           <P>
3136           <TABLE class=Definition>
3137             <TBODY>
3138             <TR>
3139               <TD>CIMBatch = "CIMBatch" </TD></TR></TBODY></TABLE>
3140           <P>If a&nbsp;<A href="#DefCIMServer" >CIM Server</A>&nbsp;receives a CIM Operation 
3141           Request for which either:</P>
3142           <UL style="MARGIN-RIGHT: 0px">
3143             <LI>The CIMBatch header is present but has an invalid 
3144             value, or: 
3145             <LI>The CIMBatch header is not present but the Operation 
3146             Request&nbsp;Message&nbsp;is a Multiple Operation Request, or; 
3147             <LI>The CIMBatch header is present but the Operation 
3148             Request Message is not a&nbsp;Multiple Operation Request,</LI></UL>
3149           <P>then it MUST fail the request and return a status of 
3150           "400 Bad Request" (and&nbsp;MUST include a <A href="#SecCIMError" >CIMError</A> header in the 
3151 karl  1.1 response with a value of <FONT face="Courier New">header-mismatch</FONT>),&nbsp;subject to the considerations 
3152           specified in <A href="#SecErrors" >Errors</A>.</P>
3153           <P>Note that this verification provides a <EM>basic </EM>level of assurance that any intermediate 
3154           firewall or proxy was not acting on misleading information when it decided to 
3155           forward the request based on the content of the CIMBatch header.&nbsp; 
3156           Additional securing of HTTP messages against modification in transit (such as 
3157           the encryption of the payload or appending of a digital signature thereto) would 
3158           be required to provide a higher degree of integrity.</P>
3159           <P>If a CIM Server receives a CIM Operation 
3160           Request&nbsp;for which the CIMBatch header is present, but the Server does not 
3161           support&nbsp;Multiple Operations, then&nbsp;it MUST fail the request and return 
3162           a status of "501 Not Implemented".&nbsp; Firewalls or Proxies MAY also employ 
3163           this mechanism to compel a <A href="#DefCIMClient" >CIM Client</A> to use Simple Operation Requests 
3164           rather than Multiple Operation Requests.</P>
3165           <P>A CIM Client that receives a response of "501 Not 
3166           Implemented" to a Multiple Operation Request SHOULD resubmit that request as a 
3167           series of Simple Operation Requests.&nbsp;</P>
3168           <P><A href="#top" >Back to contents</A></P>
3169           <H3><A name=SecCIMError>3.3.9.</A> 
3170           CIMError</H3>
3171           <P>This header&nbsp;MAY be present in any HTTP response to 
3172 karl  1.1 a <A href="#DefCIMOperationRequest" >CIM Operation Request</A> message that 
3173           is not a <A href="#DefCIMOperationResponse" >CIM Operation Response</A>.&nbsp; </P>
3174           <P>It MUST NOT be present in any <A href="#DefCIMOperationResponse" >CIM Operation Response</A> message, nor 
3175           in any <A href="#DefCIMOperationRequest" >CIM Operation Request</A>.</P>
3176           <P>The header provides further CIM specific diagnostic 
3177           information in the case that the <A href="#DefCIMServer" >CIM Server</A> encountered a fundamental error 
3178           during processing of the CIM Operation Request, and is intended to assist 
3179           Clients to further disambiguate errors that have the same HTTP status code.</P>
3180           <P>
3181           <TABLE class=Definition>
3182             <TBODY>
3183             <TR>
3184               <TD>
3185                 <P>CIMError&nbsp; = "CIMError" ":" cim-error</P>
3186                 <P>cim-error = "unsupported-protocol-version" |<BR 
3187                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
3188                 "multiple-requests-unsupported" |<BR 
3189                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"unsupported-cim-version" 
3190                 |<BR 
3191                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
3192                 "unsupported-dtd-version" |<BR 
3193 karl  1.1       >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
3194                 "request-not-valid" |<BR 
3195                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"request-not-well-formed" 
3196                 |<BR 
3197                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
3198                 "request-not-loosely-valid" |<BR 
3199                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
3200                 "header-mismatch" |<BR 
3201                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"unsupported-<FONT 
3202                 face="Courier New">operation"</FONT></P></TD></TR></TBODY></TABLE>
3203           <P><A href="#top" >Back to contents</A></P>
3204           <H1><A name=SecHTTPRequirementsAndUsage>4. HTTP Requirements &amp; Usage</A></H1>
3205           <H2><A name=SecHTTPSupport>4.1. HTTP 
3206           Support</A></H2>
3207           <P>It is RECOMMENDED that <A href="#DefCIMClient" >CIM clients</A> and <A href="#DefCIMServer" >CIM 
3208           servers</A> support HTTP/1.1 [7].&nbsp; CIM clients and servers MAY support 
3209           HTTP/1.0 instead.&nbsp; CIM clients and servers MUST NOT be limited to any 
3210           version of HTTP earlier than 1.0.</P>
3211           <P>It should be noted that the current revised draft [10] 
3212           of RFC 2068 clarifies and corrects ambiguities and errors in that RFC.&nbsp; 
3213           </P>
3214 karl  1.1 <P>CIM Clients and Servers that make use of extension 
3215           headers as defined in this specification MUST conform to the requirements 
3216           defined in [9] for their use.</P>
3217           <P><A href="#top" >Back to contents</A></P>
3218           <H2><A name=SecUseOfStandardHeaders>4.2. Use of Standard Headers</A></H2>
3219           <P>Unless otherwise stated herein, <A href="#DefCIMClient" >CIM clients</A> and <A href="#DefCIMServer" >CIM 
3220           servers</A> MUST comply with the requirements on the use of headers described in 
3221           [6,7]. This section defines only any <EM>additional 
3222           </EM>requirements on CIM clients and servers with respect to the use of standard 
3223           HTTP headers [6,7] within a <A href="#DefCIMOperationRequest" >CIM Operation 
3224           Request</A> or <A href="#DefCIMOperationResponse" >CIM Operation Response</A>.&nbsp; </P>
3225           <P>Note that headers defined in RFC 2068 [7] but deprecated 
3226           from [10] (e.g. Public, Content-Base)&nbsp;SHOULD NOT be used by CIM clients and 
3227           servers.</P>
3228           <P><EM></EM></P>
3229           <H3><A name=SecAccept>4.2.1. 
3230           Accept</A></H3>
3231           <P>If&nbsp;a <A href="#DefCIMClient" >CIM client</A> includes an Accept header in a 
3232           request, it MUST specify a value which allows the Server to return an entity 
3233           body of "text/xml" or "application/xml" in the response.</P>
3234           <P>A <A href="#DefCIMServer" >CIM server</A> MUST accept any value for this 
3235 karl  1.1 header which states that "text/xml" or "application/xml" is an acceptable type 
3236           for an response entity.&nbsp; A server&nbsp;SHOULD return "406 Not Acceptable" 
3237           if the Accept header indicates that neither of these content types are 
3238           acceptable.</P>
3239           <P>If a CIM server decides to accept a request to return an 
3240           entity of type other than "text/xml" or "application/xml", the nature of the 
3241           response is outside of the domain of this specification.</P>
3242           <P><A href="#top" >Back to contents</A> </P>
3243           <H3><A name=SecAccept-Charset>4.2.2. 
3244           Accept-Charset</A></H3>
3245           <P>If a <A href="#DefCIMClient" >CIM client</A> includes an Accept-Charset header 
3246           in a request, it MUST specify a value which allows the Server to return an 
3247           entity body using the character set "utf-8".</P>
3248           <P>A <A href="#DefCIMServer" >CIM server</A> MUST accept any value for this 
3249           header which implies that "utf-8" is an acceptable character set for an response 
3250           entity.&nbsp; A server&nbsp;SHOULD return "406 Not Acceptable" if the 
3251           Accept-Charset header indicates that this character&nbsp;set is not 
3252           acceptable.</P>
3253           <P>If a CIM server decides to accept a request to return an 
3254           entity using a character set&nbsp;other than "utf-8", the nature of the response 
3255           is outside of the domain of this specification.</P>
3256 karl  1.1 <P>See <A href="#SecInternationalizationConsiderations" >Internationalization 
3257           Considerations</A> for more details.</P>
3258           <P><A href="#top" >Back to contents</A> </P>
3259           <H3><A name=SecAccept-Encoding>4.2.3. 
3260           Accept-Encoding</A></H3>
3261           <P>If a <A href="#DefCIMClient" >CIM client</A> includes an Accept-Encoding header 
3262           in a request, it MUST specify a value which allows the Server to use the 
3263           "identity" encoding.</P>
3264           <P>A <A href="#DefCIMServer" >CIM Server</A> MUST accept any value for this 
3265           header which implies that "identity" is an acceptable encoding for the response 
3266           entity.&nbsp; A server&nbsp;MAY return "406 Not Acceptable" if the 
3267           Accept-Encoding header indicates that the this encoding is not acceptable.</P>
3268           <P><A href="#top" >Back to contents</A> </P>
3269           <H3><A name=SecAccept-Language>4.2.4. 
3270           Accept-Language</A></H3>
3271           <P>If a CIM Client includes an Accept-Language header in a 
3272           request, it SHOULD specify a value which allows the Server to return an entity 
3273           in the language of its'&nbsp;own choosing.&nbsp;&nbsp; This is accomplished by 
3274           including in the list of acceptable language ranges the special range "*".</P>
3275           <P>CIM Servers MAY support multiple languages if they so 
3276           choose.</P>
3277 karl  1.1 <P>See <A href="#SecInternationalizationConsiderations" >Internationalization 
3278           Considerations </A>for more details.</P>
3279           <P><A href="#top" >Back to contents</A> </P>
3280           <H3><A name=SecAccept-Ranges>4.2.5. 
3281           Accept-Ranges</A></H3>
3282           <P><A href="#DefCIMClient" >CIM clients</A> MUST NOT include this header in a 
3283           request.&nbsp; A <A href="#DefCIMServer" >CIM Server</A> MUST reject a request that includes 
3284           an Accept-Range header with a status of "406 Not Acceptable".</P>
3285           <P><A href="#top" >Back to contents</A> </P>
3286           <H3><A name=SecAllow>4.2.6. 
3287           Allow</A></H3>
3288           <P>If a&nbsp;<A href="#DefCIMServer" >CIM Server</A> is returning a "405 Method Not 
3289           Allowed" response to a CIM Operations Request then the Allow header MUST include 
3290           either M-POST or POST.&nbsp; Whether it includes any other HTTP methods is 
3291           outside the scope of this specification.</P>
3292           <P><A href="#top" >Back to contents</A> </P>
3293           <H3><A name=SecAuthorization>4.2.7. 
3294           Authorization</A></H3>
3295           <P>See the section on <A href="#SecSecurityConsiderations" >Security 
3296           Considerations</A> for more details.&nbsp; </P>
3297           <P><A href="#top" >Back to contents</A> </P>
3298 karl  1.1 <H3>4.2.8. <A name=SecCache-Control></A>Cache-Control</H3>
3299           <P>In general a <A href="#DefCIMOperationRequest" >CIM Operation 
3300           Request</A> may consist of a mixture of CIM method invocations, some of which 
3301           may be eminently cachable (e.g. the Manufacturer label on a Disk Drive), and 
3302           some of which may be decidedly uncachable (e.g. format a Disk Drive).&nbsp; </P>
3303           <P>Furthermore, the encapsulation of&nbsp;such multiple 
3304           method invocations within an HTTP POST or M-POST means that if a CIM Operation 
3305           Request has any effect on an HTTP cache it is likely to be one of invalidating 
3306           cached responses for the target CIM Server.&nbsp; Indeed HTTP/1.1[7] stipulates 
3307           that by default POST responses are not cachable unless the server indicates 
3308           otherwise using an appropriate Cache-Control or Expires header.</P>
3309           <P>For these reasons, <A href="#DefCIMOperationResponse" >CIM Operation 
3310           Responses</A>&nbsp;SHOULD NOT be considered cachable.&nbsp; A <A href="#DefCIMServer" >CIM 
3311           Server</A>&nbsp;SHOULD NOT include a Cache-Control header in a CIM Operation 
3312           Response which might indicate to a cache that the response could be 
3313           cached.&nbsp; </P>
3314           <P>If the CIM Server is responding to a CIM Operation 
3315           Request coveyed within an M-POST request, then in accordance with [9]&nbsp;the 
3316           Server MUST include a no-cache control directive to prevent inadvertant caching 
3317           of the "Ext" header. For example:</P>
3318           <P>
3319 karl  1.1 <TABLE class=Example id=TABLE2>
3320             <TBODY>
3321             <TR>
3322               <TD>HTTP/1.1 200 OK</TD></TR>
3323             <TR>
3324               <TD>Ext:</TD></TR>
3325             <TR>
3326               <TD>Cache-Control: no-cache</TD>
3327             <TR>
3328               <TD>...</TD></TR></TBODY></TABLE>
3329           <P><A href="#top" >Back to contents</A></P>
3330           <H3><A name=SecConnection>4.2.9. 
3331           Connection</A></H3>
3332           <P>It is&nbsp;RECOMMENDED that </P>
3333           <UL style="MARGIN-RIGHT: 0px">
3334             <LI><A href="#DefCIMClient" >CIM clients</A> should avoid the use of the 
3335             "Connection: close" header unless it is known in advance that this is the only 
3336             request likely to be sent out on that connection. 
3337             <LI><A href="#DefCIMServer" >CIM servers</A> support persistant connections 
3338             wherever possible. </LI></UL>
3339           <P>Timeout mechanisms&nbsp;SHOULD be employed to remove 
3340 karl  1.1 idle connections on both client and server, the details of which are outside the 
3341           domain of this specification. Clients&nbsp;SHOULD be cautious in retrying 
3342           requests, especially if they are not idempotent (e.g. method invocation). </P>
3343           <P>CIM clients and servers SHOULD support pipelining [7, 
3344           section 1.1.2.2] if possible, but be aware of the requirements defined in 
3345           [7].&nbsp; In particular, attention is drawn to the following requirement from 
3346           [7]:</P>
3347           <BLOCKQUOTE style="MARGIN-RIGHT: 0px">
3348             <P><EM>Clients SHOULD NOT pipeline 
3349             requests using non-idempotent methods or non-idempotent sequences of 
3350             methods...A client wishing to send a non-idempotent request SHOULD wait to 
3351             send that request until it has received the response status for the previous 
3352             request. </EM></P></BLOCKQUOTE>
3353           <P><A href="#top" >Back to contents</A></P>
3354           <H3><A name=SecContent-Encoding>4.2.10. Content-Encoding</A></H3>
3355           <P>If&nbsp;a <A href="#DefCIMClient" >CIM client</A> includes a&nbsp;Content-Encoding 
3356           header in a request, it&nbsp;SHOULD specify a value of "identity", unless it has 
3357           good reason to believe that the Server can accept another encoding.</P>
3358           <P><A href="#top" >Back to contents</A> </P>
3359           <H3>4.2.11. <A name=SecContentLanguage>Content-Language</A></H3>
3360           <P>See <A href="#SecInternationalizationConsiderations" >Internationalization 
3361 karl  1.1 Considerations</A> for more details.</P>
3362           <P><A href="#top" >Back to contents</A></P>
3363           <H3><A name=SecContent-Range>4.2.12. 
3364           Content-Range</A></H3>
3365           <P><A href="#DefCIMClient" >CIM clients</A> and <A href="#DefCIMServer" >CIM servers</A> MUST NOT use 
3366           this header.</P>
3367           <P><A href="#top" >Back to contents</A> </P>
3368           <H3><A name=SecContent-Type>4.2.13. 
3369           Content-Type</A></H3>
3370           <P><A href="#DefCIMClient" >CIM clients</A> and <A href="#DefCIMServer" >CIM servers</A> MUST specify 
3371           (and accept) a value for this header of either "text/xml" or "application/xml" 
3372           as defined in [18].&nbsp;</P>
3373           <P><A href="#top" >Back to contents</A> </P>
3374           <H3><A name=SecExpires>4.2.14. 
3375           Expires</A></H3>
3376           <P>For the same reasons described in <A href="#SecCache-Control" >Cache-Control</A>, a <A href="#DefCIMServer" >CIM Server</A> SHOULD NOT 
3377           include an Expires header in a CIM Operation Response which might indicate to a 
3378           cache that the response could be cached.</P>
3379           <P><A href="#top" >Back to contents</A> </P>
3380           <H3><A name=SecIf-Range>4.2.15. 
3381           If-Range</A></H3>
3382 karl  1.1 <P><A href="#DefCIMClient" >CIM clients</A> and <A href="#DefCIMServer" >CIM servers</A> MUST NOT use 
3383           this header.</P>
3384           <P><A href="#top" >Back to contents</A> </P>
3385           <H3><A name=SecProxy-Authenticate>4.2.16. Proxy-Authenticate</A></H3>
3386           <P>See the section on <A href="#SecSecurityConsiderations" >Security 
3387           Considerations</A> for more details.&nbsp; </P>
3388           <P><A href="#top" >Back to contents</A> </P>
3389           <H3><A name=SecRange>4.2.17. 
3390           Range</A></H3>
3391           <P><A href="#DefCIMClient" >CIM clients</A> and <A href="#DefCIMServer" >CIM servers</A> MUST NOT use 
3392           this header.</P>
3393           <P><A href="#top" >Back to contents</A> </P>
3394           <H3><A name=SecWWW-Authenticate>4.2.18. WWW-Authenticate</A></H3>
3395           <P>See the section on <A href="#SecSecurityConsiderations" >Security 
3396           Considerations</A> for more details.&nbsp; </P>
3397           <P><A href="#top" >Back to contents</A></P>
3398           <H2>4.3. <A name=SecErrors></A>Errors 
3399           and Status Codes</H2>
3400           <P>This section defines how <A href="#DefCIMServer" >CIM Servers</A> MUST handle 
3401           errors that occur in the processing of a <A href="#DefCIMOperationRequest" >CIM Operation 
3402           Request</A>. This specification does not introduce any new HTTP response status 
3403 karl  1.1 codes.</P>
3404           <P>If there is an error in&nbsp;processing the HTTP 
3405           Request-Line or standard HTTP Headers then the CIM Server&nbsp;MUST take the 
3406           appropriate action as dictated by its conformance to the relevant version of 
3407           HTTP [6,7].</P>
3408           <P>Otherwise, if there are any mandatory extension 
3409           declarations which the server does not support it MUST respond with a "510 Not 
3410           Extended" status according to [9].</P>
3411           <P>Otherwise, the Server MUST process the request in 
3412           accordance with the relevant version of HTTP [6,7] and the additional rules 
3413           defined in this document.</P>
3414           <P>Assuming that the HTTP request is otherwise correct, the 
3415           CIM Server MUST use the following status codes when processing the CIM Extension 
3416           Headers:</P>
3417           <BLOCKQUOTE style="MARGIN-RIGHT: 0px">
3418             <P><STRONG>501 Not 
3419             Implemented</STRONG> One of the following occured:</P>
3420             <UL>
3421               <LI>The <A href="#SecCIMProtocolVersion" >CIMProtocolVersion</A> extension 
3422               header specified in the request specifies a version of the CIM&nbsp;Mapping 
3423               onto HTTP which is not supported by this CIM Server. The CIM 
3424 karl  1.1     Server&nbsp;MUST include a <A href="#SecCIMError" >CIMError</A> header in the response with a 
3425               value of <FONT face="Courier New" 
3426               >unsupported-protocol-version.</FONT> 
3427               <LI>The Client specified a <A href="#DefMultipleOperationRequest" >Multiple Operation Request</A> 
3428               and the CIM Server does not support such requests. The CIM Server&nbsp;MUST 
3429               include a <A href="#SecCIMError" >CIMError</A> header in the response with a 
3430               value of <FONT face="Courier New" 
3431               >multiple-requests-unsupported.</FONT> 
3432               <LI>The <FONT face="Courier New" 
3433               >CIMVERSION</FONT> attribute in the Operation Request 
3434               was not set to a value of "2.0". The CIM Server&nbsp;MUST include a <A href="#SecCIMError" >CIMError</A> header in the response with a 
3435               value of <FONT face="Courier New" 
3436               >unsupported-cim-version.</FONT> 
3437               <LI>The <FONT face="Courier New" 
3438               >DTDVERSION</FONT> attribute in the Operation Request 
3439               was not set to a value of "2.0". The CIM Server&nbsp;MUST include a <A href="#SecCIMError" >CIMError</A> header in the response with a 
3440               value of <FONT face="Courier New" 
3441               >unsupported-dtd-version.</FONT></LI></UL>
3442             <P><STRONG>401 Unauthorized</STRONG> 
3443             The CIM Server is configured to require that&nbsp;a client authenticate itself 
3444             before it can issue CIM Operation Requests to the Server.</P>
3445 karl  1.1   <P><STRONG>403 Forbidden</STRONG> 
3446             The CIM Server does not allow the client to perform CIM Operations.&nbsp; The 
3447             CIM Server MAY alternatively respond with a "404 Not Found" if it does not 
3448             wish to reveal this information to the client.</P>
3449             <P><STRONG>407 Proxy Authentication 
3450             Required</STRONG> The CIM Server is configured to require that&nbsp;the proxy 
3451             authenticate itself before it can issue CIM Operation Requests on behalf of a 
3452             CIM Client to the Server.</P></BLOCKQUOTE>
3453           <P>Assuming that the CIM Extension Headers are correct, 
3454           then a validating CIM Server (one which is enforcing validity of the Operation 
3455           Request Message with respect to the CIM XML DTD) MUST use the following status 
3456           code when processing the entity body containing the CIM Operation request.</P>
3457           <BLOCKQUOTE style="MARGIN-RIGHT: 0px">
3458             <P><STRONG>400 Bad Request</STRONG> 
3459             The entity body defining the CIM Operation request was not well-formed or not 
3460             valid with respect to the CIM XML DTD. The CIM Server&nbsp;MUST include a <A href="#SecCIMError" >CIMError</A> header in the response with a value 
3461             of <FONT face="Courier New" 
3462             >request-not-well-formed</FONT> or <FONT 
3463             face="Courier New">request-not-valid</FONT> (as 
3464             appropriate).</P></BLOCKQUOTE>
3465           <P>A loosely-validating&nbsp;CIM Server (one that is only 
3466 karl  1.1 enforcing that the CIM Operation Request be <A href="#DefLooselyValid" >loosely valid</A>) MAY 
3467           reject an Operation Request Message&nbsp;that is not loosely valid with an HTTP 
3468           status code of 400 (Bad Request) before further processing, in which case the 
3469           CIM Server&nbsp;MUST include a <A href="#SecCIMError" >CIMError</A> header in the response with a value of 
3470           <FONT face="Courier New">request-not-loosely-valid</FONT>. 
3471           </P>
3472           <P>A loosely-validating&nbsp;CIM Server MUST reject an 
3473           Operation Request Message that is not well-formed with an HTTP status code of 
3474           400 (Bad Request), in which case the CIM Server&nbsp;MUST include a <A href="#SecCIMError" >CIMError</A> header in the response with a value of 
3475           <FONT face="Courier New">request-not-well-formed</FONT>. 
3476           </P>
3477           <P>A loosely-validating&nbsp;CIM Server&nbsp;MUST NOT 
3478           reject an invalid (in the XML sense) Operation Request Message that is loosely 
3479           valid.</P>
3480           <P>A&nbsp;loosely-validating CIM Server MUST ultimately 
3481           signal an error to the CIM Client if the Operation Request Message is not 
3482           loosely valid (i.e. is missing required content, or for which the required 
3483           content is incorrect, such as&nbsp;an attribute with an invalid value according 
3484           to the CIM XML DTD).&nbsp;&nbsp;It is not mandated to reject an&nbsp;Operation 
3485           Request before processing, for to do otherwise would compel the Server into 
3486           checking the complete request before processing could begin and this 
3487 karl  1.1 would&nbsp;be as expensive as&nbsp;requiring that the Server fully validate the 
3488           request.&nbsp;Therefore&nbsp;a&nbsp;loosely-validating&nbsp;Server 
3489           MAY&nbsp;elect to begin processing the request and issuing a response (with an 
3490           HTTP success status code) before checking that the entire request is loosely 
3491           valid.</P>
3492           <P>A CIM Client may determine whether a CIM Server is 
3493           validating or loosely-validating via the <A href="#SecCIMValidation" >CIMValidation</A> header 
3494           mechanism.</P>
3495           <P>Assuming that the CIM operation request was correctly 
3496           formed (in the manner described above), the CIM Server MUST process the request 
3497           accordingly and return a <A href="#DefCIMOperationResponse" >CIM Operation Response</A> 
3498           response.&nbsp; </P>
3499           <P>The entity body MUST be a correct&nbsp;<A href="#DefOperationResponseMessage" >Operation Response Message</A> for 
3500           that request.&nbsp; </P>
3501           <P>If the CIM Operation Response contains an entity which 
3502           is a <A href="#DefSimpleOperationResponse" >Simple Operation Response</A> then 
3503           the response status must be <STRONG>200 OK</STRONG>.&nbsp; 
3504           Otherwise the response status MUST be <STRONG>207 
3505           Multistatus</STRONG> . </P>
3506           <P><A href="#top" >Back to contents</A></P>
3507           <H2>4.4. <A name=SecSecurityConsiderations></A>Security Considerations</H2>
3508 karl  1.1 <P><A href="#DefCIMClient" >CIM Clients</A> and <A href="#DefCIMServer" >CIM Servers</A> MAY elect not 
3509           to use authentication, but only in environments where lack of security is not an 
3510           issue.</P>
3511           <P>Basic Authentication is described in [6,7].&nbsp; Digest 
3512           Authentication is defined in [12].&nbsp; Both authentication schemes 
3513           are&nbsp;covered in a consolidated document [14] which also makes a number of 
3514           improvements to the original specification of Digest Authentication.</P>
3515           <P>Basic Authentication provides a very rudimentary level 
3516           of authentication, with the major weakness that the client password is sent over 
3517           the wire in unencrypted form.&nbsp;</P>
3518           <P>For this reason <A href="#DefCIMClient" >CIM Clients</A> and <A href="#DefCIMServer" >CIM 
3519           Servers</A>&nbsp;MUST NOT&nbsp;use Basic Authentication other than in the 
3520           context of&nbsp;a highly secure environment (for example, if used in conjunction 
3521           with SSL, or in a physically secure private network).&nbsp; CIM Servers MUST NOT 
3522           send Basic Authentication credentials in a WWW-Authenticate header other than in 
3523           the context of a highly secure environment.</P>
3524           <P>Conforming&nbsp;applications SHOULD support the Digest 
3525           authentication scheme. Since Digest authentication verifies that both parties 
3526           share a common secret, without having to send that secret in the clear,&nbsp;it 
3527           is more secure than Basic authentication.&nbsp; However, CIM Clients and CIM 
3528           Servers that require more robust protection SHOULD use encyption mechanisms such 
3529 karl  1.1 as SSL or SHTTP.</P>
3530           <P>CIM Clients and CIM Servers using Basic or Digest 
3531           Authentication MUST comply with the requirements set forth in [6,7,12,14].&nbsp; 
3532           This specification describes only <EM>additional</EM> 
3533           requirements on CIM Clients and CIM Servers when using these authentication 
3534           schemes.</P>
3535           <P>CIM Servers SHOULD require that CIM Clients authenticate 
3536           themselves.&nbsp; This specification does not mandate this as it is recognized 
3537           that in some circumstances the CIM Server may not require or wish the overhead 
3538           of employing authentication.&nbsp; CIM Servers SHOULD consider carefully the 
3539           performance/security tradeoffs in determining how often to issue challenges to 
3540           CIM Clients.</P>
3541           <P>A CIM Server that returns a "401 Unauthorized" response 
3542           to a CIM Operation Request SHOULD include in the&nbsp;WWW-Authenticate 
3543           response-header either the "Basic" or "Digest" authentication values (but not 
3544           both).&nbsp; This specification does not mandate use of Basic or Digest 
3545           Authentication as it is recognized that in some circumstances the CIM Server may 
3546           use bespoke authentication mechanisms not covered by [14].&nbsp; Similar 
3547           considerations apply to the use of the Proxy-Authorization header in&nbsp; "407 
3548           Proxy Authentication Required".</P>
3549           <P><A href="#top" >Back to contents</A></P>
3550 karl  1.1 <H2>4.5.&nbsp;<A name=SecDeterminingCIMServerCapabilities></A>Determining CIM Server Capabilities</H2>
3551           <P>The OPTIONS method&nbsp;MAY be used by a client to 
3552           determine the CIM capabilities (if any) of the target server.&nbsp; A <A href="#DefCIMServer" >CIM 
3553           Server</A> MAY support the OPTIONS method (for example, CIM Servers supporting 
3554           only HTTP/1.0 would not support OPTIONS).</P>
3555           <P>In order to support the ability for a Server 
3556           to&nbsp;declare its CIM capabilities in a manner independent of HTTP, it is the 
3557           intention of the DMTF to publish a CIM Schema (in a separate document) 
3558           describing such capabilities. In particular this mechanism would allow Servers 
3559           that do not support the OPTIONS method to declare their capabilities to a 
3560           Client.</P>
3561           <P>If a CIM Server supports the OPTIONS method, it 
3562           SHOULD:</P>
3563           <UL>
3564             <LI>Return the CIM Extension Header <A href="#SecCIMProtocolVersion" >CIMProtocolVersion</A>&nbsp;in the 
3565             response.&nbsp; This provides a way for a client to discover the version of 
3566             the CIM&nbsp;HTTP&nbsp;mapping supported by the CIM Server. 
3567             <LI>Return the CIM Extension Header <A href="#SecCIMSupportedFunctionalGroups" >CIMSupportedFunctionalGroups</A> 
3568             in the response.&nbsp; This provides a way for a client to discover the CIM 
3569             Operations supported by the CIM Server. 
3570             <LI>Return the CIM Extension Header <A href="#SecCIMSupportsMultipleOperations" >CIMSupportsMultipleOperations</A> 
3571 karl  1.1   in the response.&nbsp; This provides a way for the client to discover whether 
3572             the CIM Server can support <A href="#DefMultipleOperationRequest" >Multiple 
3573             Operation Requests</A>.</LI></UL>
3574           <P>In addition, if the CIM Server supports one or more 
3575           query languages, it SHOULD:</P>
3576           <UL>
3577             <LI>Return the CIM Extension Header <A href="#SecCIMSupportedQueryLanguages" >CIMSupportedQueryLanguages</A> 
3578             in the response.&nbsp; This allows the client to discover the query languages 
3579             supported by the CIM Server.</LI></UL>
3580           <P>In addition, if the CIM Server runs in a&nbsp;fixed 
3581           validation mode, it SHOULD:</P>
3582           <UL>
3583             <LI>Return the CIM Extension Header <A href="#SecCIMValidation" >CIMValidation</A> in the response.&nbsp; 
3584             This allows the client to determine whether the CIM Server is strictly 
3585             validating or loosely validating.</LI></UL>
3586           <P>If the <A href="#SecCIMProtocolVersion" >CIMProtocolVersion</A>,&nbsp;<A href="#SecCIMSupportedFunctionalGroups" >CIMSupportedFunctionalGroups</A>, 
3587           <A href="#SecCIMSupportsMultipleOperations" >CIMSupportsMultipleOperations</A>,&nbsp;<A href="#SecCIMValidation" >CIMValidation</A>&nbsp;or <A href="#SecCIMSupportedQueryLanguages" >CIMSupportedQueryLanguages</A>&nbsp;extension 
3588           headers&nbsp;are included in the response, the CIM Server MUST declare&nbsp;them 
3589           as&nbsp;Optional extension headers using the "Opt" header defined in [9].</P>
3590           <P>The full format of the "Opt" header declaration for this 
3591           specification is:</P>
3592 karl  1.1 <P>
3593           <TABLE class=Definition id=TABLE2 style="LEFT: 26px; TOP: 4180px">
3594             <TBODY>
3595             <TR>
3596               <TD 
3597                 >Opt&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
3598                 = "Opt" ":" "<A href="http://www.dmtf.org/cim/mapping/http/v1.0" 
3599                 >http://www.dmtf.org/cim/mapping/http/v1.0</A>"</TD></TR>
3600             <TR>
3601               <TD 
3602                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";" 
3603                 "ns" "=" header-prefix</TD></TR>
3604             <TR>
3605               <TD>header-prefix&nbsp;&nbsp;&nbsp;&nbsp;= 
3606             2*DIGIT</TD></TR></TBODY></TABLE>
3607           <P>This header-prefix SHOULD be generated at random on a 
3608           per-HTTP message basis, and SHOULD NOT necessarily be a specific number.</P>
3609           <P>For example the following is a fragment of a legitimate 
3610           OPTIONS response from a CIM Server:</P>
3611           <P>
3612           <TABLE class=Example id=TABLE2>
3613 karl  1.1   <TBODY>
3614             <TR>
3615               <TD>HTTP/1.1 200 OK</TD></TR>
3616             <TR>
3617               <TD>Opt: <A 
3618                 href="http://www.dmtf.org/cim/mapping/http/v1.0" 
3619                 >http://www.dmtf.org/cim/mapping/http/v1.0</A> ; 
3620               ns=77</TD></TR>
3621             <TR>
3622               <TD>77-CIMProtocolVersion: 1.0</TD>
3623             <TR>
3624               <TD>77-CIMSupportedFunctionalGroups: basic-read</TD></TR>
3625             <TR>
3626               <TD>77-CIMBatch</TD></TR>
3627             <TR>
3628               <TD>77-CIMSupportedQueryLanguages: wql</TD></TR>
3629             <TR>
3630               <TD>...</TD></TR></TBODY></TABLE>
3631           <P><A href="#top" >Back to contents</A></P>
3632           <H3>4.5.1. <A name=SecCIMSupportedFunctionalGroups>CIMSupportedFunctionalGroups</A></H3>
3633           <P>The CIMSupportedFunctionalGroups extension header SHOULD 
3634 karl  1.1 be returned by a <A href="#DefCIMServer" >CIM Server</A> in any OPTIONS response.&nbsp; It 
3635           MUST NOT be returned in any other scenario.</P>
3636           <P>This header is defined as follows:</P>
3637           <P>
3638           <TABLE class=Definition>
3639             <TBODY>
3640             <TR>
3641               <TD>CIMSupportedFunctionalGroups&nbsp; = 
3642                 "CIMSupportedFunctionalGroups" ":" 1#functional-group<BR 
3643                 ><BR 
3644                 >functional-group&nbsp;&nbsp;&nbsp;&nbsp; = "<A href="#DefBasicRead" >basic-read</A>" |<BR 
3645                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
3646                 "<A href="#DefBasicWrite" >basic-write</A>" |<BR 
3647                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
3648                 "<A href="#DefSchemaManipulation" >schema-manipulation</A>" |<BR 
3649                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"<A href="#DefInstanceManipulation" >instance-manipulation</A>" |<BR 
3650                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"<A href="#DefQualifierDeclaration" >qualifier-declaration</A>" |<BR 
3651                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
3652                 "<A href="#DefAssociationTraversal" >association-traversal</A>" |<BR 
3653                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
3654                 "<A href="#DefQueryExecution" >query-execution</A>"</TD></TR></TBODY></TABLE>
3655 karl  1.1 <P>The functional group definitions correspond directly to 
3656           those listed in <A href="#SecFunctionalProfiles" >Functional Profiles</A>.&nbsp; All CIM 
3657           Servers MUST support the basic-read functional group.&nbsp; All <A href="#DefCIMClient" >CIM 
3658           Clients</A> MAY assume that any CIM Server supports the basic-read functional 
3659           group.</P>
3660           <P>The list of functional groups returned by a CIM Server 
3661           MUST contain the basic-read group, and MUST NOT contain any duplicates.&nbsp; 
3662           CIM Clients MUST ignore any duplicate entries in the functional-group list.</P>
3663           <P>If a functional group is included in the list, then the 
3664           CIM Client MUST assume that all other groups on which it depends (according to 
3665           the rules defined in <A href="#SecFunctionalProfiles" >Functional Profiles</A>) are also 
3666           supported.&nbsp; A CIM Server SHOULD NOT explicitly include a functional group 
3667           in the list whose presence may be inferred implicitly by a dependency.</P>
3668           <P>For example the following HTTP response message 
3669           indicates that&nbsp;the CIM Server supports instance-manipulation, 
3670           association-traversal, basic-write and basic-read.</P>
3671           <P>
3672           <TABLE class=Example id=TABLE2>
3673             <TBODY>
3674             <TR>
3675               <TD>HTTP/1.1 200 OK</TD></TR>
3676 karl  1.1   <TR>
3677               <TD>Opt: <A 
3678                 href="http://www.dmtf.org/cim/mapping/http/v1.0" 
3679                 >http://www.dmtf.org/cim/mapping/http/v1.0</A> ; 
3680               ns=77</TD></TR>
3681             <TR>
3682               <TD>77-CIMProtocolVersion: 1.0</TD>
3683             <TR>
3684               <TD>77-CIMSupportedFunctionalGroups: 
3685                 association-traversal, instance-manipulation</TD></TR>
3686             <TR>
3687               <TD>...</TD></TR></TBODY></TABLE>
3688           <P>Support for a functional group does <EM>not</EM> imply that any method from that group will always 
3689           succeed.&nbsp; Rather, the absence (whether explicit or implied) of the 
3690           functional group from this header is an indication to the CIM Client that 
3691           methods in that group will <EM>never</EM> succeed.</P>
3692           <P><A href="#top" >Back to contents</A></P>
3693           <H3><A name=SecCIMSupportsMultipleOperations>4.5.2. CIMSupportsMultipleOperations</A></H3>
3694           <P>The CIMSupportsMultipleOperations extension 
3695           header&nbsp;MUST be returned in an OPTIONS response by any <A href="#DefCIMServer" >CIM 
3696           Server</A> that supports <A href="#DefMultipleOperationRequest" >Multiple 
3697 karl  1.1 Operation Requests</A>.&nbsp; It MUST NOT be returned in any other 
3698           circumstances.</P>
3699           <P>This header is defined as follows:</P>
3700           <P>
3701           <TABLE class=Definition>
3702             <TBODY>
3703             <TR>
3704               <TD>CIMSupportsMultipleOperations&nbsp; = 
3705                 "CIMSupportsMultipleOperations"</TD></TR></TBODY></TABLE>
3706           <P>The presence of this header indicates that the Server 
3707           can accept and process Multiple Operation Requests.&nbsp; The absence of this 
3708           header indicates that the Server can only accept and process <A href="#DefSimpleOperationRequest" >Simple Operation Requests</A>.</P>
3709           <P><A href="#top" >Back to contents</A></P>
3710           <H3>4.5.3. <A name=SecCIMSupportedQueryLanguages>CIMSupportedQueryLanguages</A></H3>
3711           <P>The CIMSupportedQueryLanguages extension header SHOULD 
3712           be returned by a <A href="#DefCIMServer" >CIM Server</A> that supports at least one query 
3713           language in any OPTIONS response.&nbsp; It MUST NOT be returned in any other 
3714           scenario.</P>
3715           <P>This header is defined as follows (<FONT 
3716           face="Courier New">token</FONT> has the meaning conferred 
3717           by [7, section 2.2]:</P>
3718 karl  1.1 <P>
3719           <TABLE class=Definition>
3720             <TBODY>
3721             <TR>
3722               <TD>CIMSupportedQueryLanguages&nbsp; = 
3723                 "CIMSupportedQueryLanguages" ":" 1#query-language<BR 
3724                 ><BR 
3725                 >query-language&nbsp;&nbsp;&nbsp;&nbsp; 
3726             =&nbsp;token</TD></TR></TBODY></TABLE>
3727           <P>The query-language value MUST be treated as 
3728           case-insensitive.&nbsp;It is anticipated that query languages will be submitted 
3729           for approval to the DMTF, and each submission will define a value for this token 
3730           to enable it to be specified in this header.</P>
3731           <P><A href="#top" >Back to contents</A></P>
3732           <H3><A name=SecCIMValidation>4.5.4. 
3733           CIMValidation</A></H3>
3734           <P>The CIMValidation&nbsp;extension header MAY be returned 
3735           by a <A href="#DefCIMServer" >CIM Server</A> to provide information concerning 
3736           the level of validation of <A href="#DefCIMOperationRequest" >CIM Operation 
3737           Request</A>&nbsp;messages.</P>
3738           <P>This header is defined as follows:</P>
3739 karl  1.1 <P>
3740           <TABLE class=Definition>
3741             <TBODY>
3742             <TR>
3743               <TD>CIMValidation&nbsp;&nbsp;&nbsp; = "CIMValidation" 
3744                 ":" validation-level<BR 
3745                 >validation-level&nbsp;=&nbsp;"validating" |<BR 
3746                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"loosely-validating"</TD></TR></TBODY></TABLE>
3747           <P>A validation-level of <FONT face="Courier New">validating</FONT> indicates that the CIM Server will always 
3748           apply strict validation of each CIM Operation Request. A validation-level of 
3749           <FONT face="Courier New">loosely-validating</FONT> 
3750           indicates that the CIM Server will apply <A href="#DefLooselyValid" >loose 
3751           validation</A>&nbsp;of each CIM Operation Request.</P>
3752           <P>In the absence of this header, a CIM Client SHOULD 
3753           assume that the CIM Server operates in strict validation mode.</P>
3754           <P><A href="#top" >Back to contents</A></P>
3755           <H2><A name=SecOtherHTTPMethods>4.6. 
3756           Other HTTP Methods</A></H2>
3757           <P>This specification does not in any way define or 
3758           constrain the manner in which a CIM Client or Server uses any HTTP Method other 
3759           than those explicitly referred to herein.</P>
3760 karl  1.1 <P><A href="#top" >Back to contents</A></P>
3761           <H2><A name=SecDiscoveryAndAddressing>4.7. Discovery and Addressing</A></H2>
3762           <P>The target URI of the <A href="#DefCIMOperationRequest" >CIM Operation 
3763           Request</A> is defined to be the location of the <A href="#DefCIMServer" >CIM Server</A>.&nbsp; This 
3764           specification does not constrain the format of this URI other than it be a valid 
3765           URI [13] for the purposes of describing an HTTP-addressable resource.</P>
3766           <P>An HTTP Server which supports the CIM&nbsp;Mapping 
3767           defined herein, and which supports the OPTIONS method, SHOULD include the 
3768           following CIM extension header in an OPTIONS response:</P>
3769           <UL>
3770             <LI>CIMOM</LI></UL>
3771           <P>This header is defined as follows:</P>
3772           <P>
3773           <TABLE class=Definition>
3774             <TBODY>
3775             <TR>
3776               <TD>CIMOM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 
3777                 "CIMOM" ":" (absoluteURI | relativeURI)</TD></TR></TBODY></TABLE>
3778           <P>The terms absoluteURI and relativeURI are taken from 
3779           [7]; they indicate the location of the CIM Server for this HTTP Server.</P>
3780           <P>If the CIMOM extension header is included in the 
3781 karl  1.1 response, the CIM Server MUST declare it an Optional extension header in an 
3782           analagous fashion to that described in the section on <A href="#SecDeterminingCIMServerCapabilities" >Determining CIM Server 
3783           Capabilities</A>.</P>
3784           <P>A <A href="#DefCIMClient" >CIM Client</A> that wishes to communicate with a 
3785           CIM Server on&nbsp;an HTTP Server SHOULD try an OPTIONS request to that HTTP 
3786           Server.&nbsp; If the OPTIONS request fails, or the response does not include the 
3787           CIM-CIMOM extension header, then the CIM Client MAY assume that the value of 
3788           CIM-CIMOM is the relative URI <STRONG>cimom</STRONG>.</P>
3789           <P>Other&nbsp;discovery mechanisms are outside the scope of 
3790           this version of the specification.</P>
3791           <P><U>Example 1</U></P>
3792           <P>This example shows&nbsp;an HTTP Server located 
3793           at&nbsp;<A href="http://www.dmtf.org">http://www.dmtf.org</A>&nbsp;issuing an OPTIONS response to 
3794           an HTTP client to indicate that its CIM Server is located at <A 
3795           href="http://www.dmtf.org/access/cimom">http://www.dmtf.org/access/cimom</A>.</P>
3796           <P>
3797           <TABLE class=Example id=TABLE2>
3798             <TBODY>
3799             <TR>
3800               <TD>HTTP/1.1 200 OK</TD></TR>
3801             <TR>
3802 karl  1.1     <TD>Opt: <A 
3803                 href="http://www.dmtf.org/cim/mapping/http/v1.0" 
3804                 >http://www.dmtf.org/cim/mapping/http/v1.0</A> ; 
3805               ns=48</TD></TR>
3806             <TR>
3807               <TD>48-CIMOM: /access/cimom</TD>
3808             <TR>
3809               <TD>...</TD></TR></TBODY></TABLE>
3810           <P><U>Example 2</U></P>
3811           <P>If&nbsp;an HTTP Server located at <A 
3812           href="http://www.dmtf.org">http://www.dmtf.org</A> responds 
3813           with a&nbsp;"501 Not Implemented" to an OPTIONS request from a CIM 
3814           Client,&nbsp;the CIM client&nbsp;may then try to contact the CIM Server at <A 
3815           href="http://www.dmtf.org/cimom">http://www.dmtf.org/cimom</A>.</P>
3816           <P><A href="#top" >Back to contents</A></P>
3817           <H2>4.8. <A name=SecInternationalizationConsiderations></a><A name=SecInternationalizationConsiderations>Internationalization Considerations</A></H2>
3818           <P>This section defines the capabilities of the&nbsp;CIM 
3819           HTTP Mapping with respect to IETF policy guidelines on character sets and 
3820           languages [19].</P>
3821           <P>In this specification, human-readable fields can be 
3822           found within a response or request entity body.&nbsp; In all cases, any 
3823 karl  1.1 human-readable content is encoded using XML (which has explicit provisions for 
3824           character set tagging and encoding) and requires that XML processors read XML 
3825           elements encoded, at minimum, using the UTF-8 [15] encoding of the ISO 10646 
3826           multilingual plane.&nbsp;</P>
3827           <P>XML examples in this specification demonstrate use of 
3828           the charset parameter of the Content-Type header, as defined in [10], as well as 
3829           the XML <FONT face="Courier New">encoding</FONT> attribute 
3830           on the &lt;?xml&gt; processing instruction, which together provide charset 
3831           identification information for MIME and XML processors. This specification 
3832           mandates that conforming applications MUST support at least the "utf-8" charset 
3833           encoding [19] in the Content-Type header, and the "utf-8" value for the XML 
3834           <FONT face="Courier New">encoding</FONT> 
3835           attribute.&nbsp;</P>
3836           <P>XML also provides a language tagging capability for 
3837           specifying the language of the contents of a particular XML element, based on 
3838           use of&nbsp;IANA registered language tags [20] in the <FONT face="Courier New">xml:lang</FONT> attribute of an XML element to identify the 
3839           language of its content and attributes.&nbsp; The XML CIM DTD [2,11] does not 
3840           declare this attribute on any of the XML elements, and therefore conforming 
3841           applications MUST NOT use this attribute as otherwise&nbsp;the XML document 
3842           would not be valid with respect to that DTD.</P>
3843           <P>This&nbsp;specification defines a number of names of 
3844 karl  1.1 HTTP headers and their values.&nbsp; These are constructed using&nbsp;standard 
3845           encoding practices&nbsp;so as to always have an HTTP-safe ASCII 
3846           representation.&nbsp; Since these headers are not in general visible to users 
3847           they do not need to support encoding in multiple character sets.</P>
3848           <P>The XML DTD for CIM [2,11] introduces a number of XML 
3849           element names.&nbsp; Similarly these are not visible to an end user and do not 
3850           need to support multiple character set encodings.</P>
3851           <P>The CIM&nbsp;model [1] defines the subset of the Unicode 
3852           character set that can be used to name CIM elements (Classes, Instances, 
3853           Methods, Properties, Qualifiers and Method Parameters).&nbsp; In general these 
3854           appear as the value of XML attributes or as element content, and in general 
3855           would not be displayed to end users.</P>
3856           <P>Values of CIM Properties and Qualifiers, and error 
3857           message descriptions MAY be localizable, but there is no mandate on CIM Servers 
3858           to support this.&nbsp; Negotiation and notification of language settings is 
3859           effected in&nbsp;this&nbsp;mapping using the standard <A href="#SecAcceptLanguage" >Accept-Language</A> and <A href="#SecContentLanguage" >Content-Language</A> headers defined in 
3860           [7].</P>
3861           <P><A name=SecReferences></A></P>
3862           <H1>5. References</H1>
3863           <OL>
3864             <LI><A name=RefCIM></A>"Common 
3865 karl  1.1   Information Model (CIM) Specification", Version 2.2, DMTF,&nbsp;14th June 1999 (<A 
3866             href="http://dmtf.org/spec/cim_schema_v201.html" 
3867             >http://dmtf.org/spec/cim_schema_v22.pdf</A>) 
3868             <LI>"Specification for the Representation of CIM in XML", 
3869             Version 2.0, DMTF, 20<SUP>th</SUP>&nbsp;July 1999 (<A 
3870             href="http://www.dmtf.org/spec/CIM_XML_Mapping20.htm" 
3871             >http://www.dmtf.org/spec/CIM_XML_Mapping20.htm</A>) 
3872             <LI>"Extensible Markup Language (XML)", Version 1.0, W3C 
3873             Recommendation (<A href="http://www.w3.org/TR/REC-xml" 
3874             >http://www.w3.org/TR/REC-xml</A>) 
3875             <LI><A name=NamespaceRef 
3876             ></A>"Namespaces in XML", 14<SUP 
3877             >th</SUP> January 1999, W3C Recommendation (<A 
3878             href="http://www.w3.org/TR/REC-xml-names" 
3879             >http://www.w3.org/TR/REC-xml-names</A>) 
3880             <LI><A name=RefXMLWP></A>"XML as a 
3881             Representation for Management Information - A White Paper", Version 1.0, 
3882             DMTF,&nbsp;September 15<SUP>th</SUP> 1998 (<A 
3883             href="http://www.dmtf.org/spec/xmlw.html" 
3884             >http://www.dmtf.org/spec/xmlw.html</A>) 
3885             <LI><A name=RefCSS1></A>"Hypertext 
3886 karl  1.1   Transfer Protocol -- HTTP/1.0",&nbsp;IETF RFC 1945,&nbsp;May 1996 (<A 
3887             href="http://www.ietf.org/rfc/rfc1945.txt" 
3888             >http://www.ietf.org/rfc/rfc1945.txt</A>) 
3889             <LI><A name=RefCSS2></A>"Hypertext 
3890             Transfer Protocol -- HTTP/1.1",&nbsp;IETF RFC 2068,&nbsp;January 1997 (<U 
3891             ><FONT color=#0000ff><A 
3892             href="http://www.ietf.org/rfc/rfc2068.txt" 
3893             >http://www.ietf.org/rfc/rfc2068.txt</A></FONT></U>) 
3894             <LI><A name=RefXSL></A>"Key words 
3895             for use in RFCs to Indicate Requirement Levels",&nbsp;IETF RFC 
3896             2119,&nbsp;March 1997 (<A href="http://www.ietf.org/rfc/rfc2119.txt" 
3897             >http://www.ietf.org/rfc/rfc2119.txt</A>) 
3898             <LI><A name=RefDOM></A>"HTTP 
3899             Extension Framework",&nbsp;IETF Internet Draft,&nbsp;March 15<SUP 
3900             >th</SUP> 1999 (<A 
3901             href="http://ietf.org/internet-drafts/draft-frystyk-http-extensions-03.txt" 
3902             >http://ietf.org/internet-drafts/draft-frystyk-http-extensions-03.txt</A>) 
3903           
3904             <LI><A name=RefCSS2></A>"Hypertext 
3905             Transfer Protocol -- HTTP/1.1",&nbsp;IETF Internet Draft, 18<SUP 
3906             >th</SUP>&nbsp;November 1998 (<U 
3907 karl  1.1   ><FONT color=#0000ff><A 
3908             href="http://ietf.org/internet-drafts/draft-ietf-http-v11-spec-rev-06.txt" 
3909             >http://ietf.org/internet-drafts/draft-ietf-http-v11-spec-rev-06.txt</A></FONT></U> 
3910             <A href="http://ietf.org/internet-drafts/draft-ietf-http-v11-spec-rev-06.txt" 
3911             ></A>) 
3912             <LI>"CIM XML DTD", Version 2.0, DMTF, 20<SUP 
3913             >th</SUP>&nbsp;July 1999 ( <A 
3914             href="http://www.dmtf.org/spec/cim_dtd_V20.txt" 
3915             >http://www.dmtf.org/spec/cim_dtd_V20.txt</A>) 
3916             <LI>"An Extension to HTTP : Digest Access 
3917             Authentication", IETF RFC 2069,&nbsp;January 1997 (<U 
3918             ><FONT color=#0000ff><A 
3919             href="http://www.ietf.org/rfc/rfc1945.txt" 
3920             >http://www.ietf.org/rfc/rfc1945.txt</A></FONT></U>) 
3921             <LI>"Uniform Resource Identifiers (URI): Generic Syntax", 
3922             IETF RFC 2396, 12<SUP>th</SUP> August 1998 (<A 
3923             href="http://www.ietf.org/rfc/rfc2396.txt" 
3924             >http://www.ietf.org/rfc/rfc2396.txt</A>) 
3925             <LI>"HTTP Authentication: Basic and Digest Access 
3926             Authentication", IETF Internet Draft, September 2<SUP 
3927             >nd</SUP> 1998 (<U><FONT 
3928 karl  1.1   color=#0000ff><A 
3929             href="http://ietf.org/internet-drafts/draft-ietf-http-authentication-03.txt" 
3930             >http://ietf.org/internet-drafts/draft-ietf-http-authentication-03.txt</A></FONT></U>) 
3931           
3932             <LI>"UTF-8, a transformation format of Unicode and ISO 
3933             10646", RFC 2279, January 1998 (<A href="http://www.ietf.org/rfc/rfc2279.txt" 
3934             >http://www.ietf.org/rfc/rfc2279.txt</A>) 
3935             <LI>"Uniform Resource Identifiers (URI): Generic Syntax", 
3936             IETF RFC 2396, 12<SUP>th</SUP> August 1998 (<A 
3937             href="http://www.ietf.org/rfc/rfc2396.txt" 
3938             >http://www.ietf.org/rfc/rfc2396.txt</A>) 
3939             <LI>"XSL Transformations&nbsp;(XSLT)", Version 1.0, 
3940             W3C&nbsp;Working Draft, 21<SUP>st</SUP> April 1999 (<A 
3941             href="http://www.w3.org/TR/WD-xsltl" 
3942             >http://www.w3.org/TR/WD-xslt</A>) 
3943             <LI>"XML Media Types", IETF Informational RFC 2376, July 
3944             1998 (<A href="http://www.ietf.org/rfc/rfc2376.txt" 
3945             >http://www.ietf.org/rfc/rfc2376.txt</A>) 
3946             <LI>"IETF Policy on Character Sets and Languages", IETF 
3947             Best Current Practice RFC 2277, January 1998 (<A 
3948             href="http://www.ietf.org/rfc/rfc2277.txt" 
3949 karl  1.1   >http://www.ietf.org/rfc/rfc2277.txt</A>) 
3950             <LI>"Tags for the Identification of Languages", IETF 
3951             Standards Track RFC 1766, March 1995 (<A 
3952             href="http://www.ietf.org/rfc/rfc1766.txt" 
3953             >http://www.ietf.org/rfc/rfc1766.txt</A>) 
3954             <LI>"XML Schema Part 1: Structures", W3C Working Draft 
3955             6<SUP>th</SUP> May 1999 (<A 
3956             href="http://www.w3.org/TR/xmlschema-1/" 
3957             >http://www.w3.org/TR/xmlschema-1/</A>)</LI></OL>
3958           <P><A href="#top" >Back to contents</A></P>
3959           <H1><A name=SecAppendixA>Appendix A 
3960           </A>- Examples of Message Exchanges</H1>
3961           <P>This section illustrates the protocol defined in this 
3962           document by providing examples of valid HTTP request/response exchanges.</P>
3963           <P>For the purposes of clarity additional white space has 
3964           been included in the examples, but such white space is not an intrinsic part of 
3965           such XML documents.&nbsp;</P>
3966           <H2><A name=SecRetrievalOfASingleClassDefinition>A.1. Retrieval of a Single Class Definition</A></H2>
3967           <P>The following HTTP request illustrates how a client 
3968           would request the class CIM_VideoBIOSElement.</P>
3969           <P>
3970 karl  1.1 <TABLE class=Example id=TABLE2>
3971             <TBODY>
3972             <TR>
3973               <TD>M-POST /cimom HTTP/1.1</TD></TR>
3974             <TR>
3975               <TD>HOST: <A href="http://www.erewhon.com" 
3976                 >www.erewhon.com</A></TD></TR>
3977             <TR>
3978               <TD>Content-Type: application/xml; 
3979             charset="utf-8"</TD></TR>
3980             <TR>
3981               <TD>Content-Length: xxxx</TD></TR>
3982             <TR>
3983               <TD>Man: <A 
3984                 href="http://www.dmtf.org/cim/mapping/http/v1.0" 
3985                 >http://www.dmtf.org/cim/mapping/http/v1.0</A> ; 
3986               ns=73</TD></TR>
3987             <TR>
3988               <TD>73-CIMOperation: MethodCall</TD>
3989             <TR>
3990               <TD>73-CIMMethod: GetClass</TD></TR>
3991 karl  1.1   <TR>
3992               <TD>73-CIMObject: root/cimv2</TD></TR>
3993             <TR>
3994               <TD></TD></TR>
3995             <TR>
3996               <TD>&lt;?xml version="1.0" encoding="utf-8" 
3997             ?&gt;</TD></TR>
3998             <TR>
3999               <TD>&lt;CIM CIMVERSION="2.0" 
4000             DTDVERSION="2.0"&gt;</TD></TR>
4001             <TR>
4002               <TD>&nbsp;&lt;MESSAGE ID="87872" 
4003                 PROTOCOLVERSION="1.0"&gt;</TD></TR>
4004             <TR>
4005               <TD>&nbsp; &lt;SIMPLEREQ&gt;</TD></TR>
4006             <TR>
4007               <TD>&nbsp;&nbsp; &lt;IMETHODCALL 
4008               NAME="GetClass"&gt;</TD></TR>
4009             <TR>
4010               <TD>&nbsp;&nbsp;&nbsp; 
4011             &lt;LOCALNAMESPACEPATH&gt;</TD></TR>
4012 karl  1.1   <TR>
4013               <TD>&nbsp;&nbsp;&nbsp;&nbsp; &lt;NAMESPACE 
4014                 NAME="root"/&gt;</TD></TR>
4015             <TR>
4016               <TD>&nbsp;&nbsp;&nbsp;&nbsp; &lt;NAMESPACE 
4017                 NAME="cimv20"/&gt;</TD></TR>
4018             <TR>
4019               <TD>&nbsp;&nbsp;&nbsp; 
4020             &lt;/LOCALNAMESPACEPATH&gt;</TD></TR>
4021             <TR>
4022               <TD>&nbsp;&nbsp;&nbsp; &lt;IPARAMVALUE 
4023                 NAME="ClassName"&gt;&lt;CLASSNAME 
4024                 NAME="CIM_VideoBIOSElement"/&gt;&lt;/IPARAMVALUE&gt;</TD></TR>
4025             <TR>
4026               <TD>&nbsp;&nbsp;&nbsp; &lt;IPARAMVALUE 
4027                 NAME="LocalOnly"&gt;&lt;VALUE&gt;FALSE&lt;/VALUE&gt;&lt;/IPARAMVALUE&gt;</TD></TR>
4028             <TR>
4029               <TD>&nbsp;&nbsp; &lt;/IMETHODCALL&gt;</TD></TR>
4030             <TR>
4031               <TD>&nbsp; &lt;/SIMPLEREQ&gt;</TD></TR>
4032             <TR>
4033 karl  1.1     <TD>&nbsp;&lt;/MESSAGE&gt;</TD></TR>
4034             <TR>
4035               <TD>&lt;/CIM&gt;</TD></TR></TBODY></TABLE>
4036           <P>The following is an HTTP response to the above request 
4037           indicating success of the requested operation.&nbsp; For clarity of exposition 
4038           the complete definition of the returned &lt;CLASS&gt; element has not been 
4039           shown.</P>
4040           <P>
4041           <TABLE class=Example id=TABLE2>
4042             <TBODY>
4043             <TR>
4044               <TD>HTTP/1.1 200 OK</TD></TR>
4045             <TR>
4046               <TD>Content-Type: application/xml; 
4047             charset="utf-8"</TD></TR>
4048             <TR>
4049               <TD>Content-Length: xxxx</TD></TR>
4050             <TR>
4051               <TD>Ext:</TD></TR>
4052             <TR>
4053               <TD>Cache-Control: no-cache</TD></TR>
4054 karl  1.1   <TR>
4055               <TD>Man: <A 
4056                 href="http://www.dmtf.org/cim/mapping/http/v1.0" 
4057                 >http://www.dmtf.org/cim/mapping/http/v1.0</A> ; 
4058               ns=73</TD></TR>
4059             <TR>
4060               <TD>73-CIMOperation: MethodResponse</TD>
4061             <TR>
4062               <TD></TD></TR>
4063             <TR>
4064               <TD>&lt;?xml version="1.0" encoding="utf-8" 
4065             ?&gt;</TD></TR>
4066             <TR>
4067               <TD>&lt;CIM CIMVERSION="2.0" 
4068             DTDVERSION="2.0"&gt;</TD></TR>
4069             <TR>
4070               <TD>&nbsp;&lt;MESSAGE ID="87872" 
4071                 PROTOCOLVERSION="1.0"&gt;</TD></TR>
4072             <TR>
4073               <TD>&nbsp; &lt;SIMPLERSP&gt;</TD></TR>
4074             <TR>
4075 karl  1.1     <TD>&nbsp;&nbsp; &lt;IMETHODRESPONSE 
4076               NAME="GetClass"&gt;</TD></TR>
4077             <TR>
4078               <TD>&nbsp;&nbsp;&nbsp; &lt;IRETURNVALUE&gt;</TD></TR>
4079             <TR>
4080               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;CLASS 
4081                 NAME="CIM_VideoBIOSElement" SUPERCLASS="CIM_SoftwareElement"&gt;</TD></TR>
4082             <TR>
4083               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...</TD></TR>
4084             <TR>
4085               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
4086             &lt;/CLASS&gt;</TD></TR>
4087             <TR>
4088               <TD>&nbsp;&nbsp;&nbsp; &lt;/IRETURNVALUE&gt;</TD></TR>
4089             <TR>
4090               <TD>&nbsp;&nbsp; &lt;/IMETHODRESPONSE&gt;</TD></TR>
4091             <TR>
4092               <TD>&nbsp; &lt;/SIMPLERSP&gt;</TD></TR>
4093             <TR>
4094               <TD>&nbsp;&lt;/MESSAGE&gt;</TD></TR>
4095             <TR>
4096 karl  1.1     <TD>&lt;/CIM&gt;</TD></TR></TBODY></TABLE>
4097           <P><A href="#top" >Back to contents</A></P>
4098           <H2><A name=SecRetrievalOfASingleInstanceDefinition>A.2. Retrieval of a Single&nbsp;Instance 
4099           Definition</A></H2>
4100           <P>The following HTTP request illustrates how a client 
4101           would request the&nbsp;instance MyClass.MyKey="S3".</P>
4102           <P>
4103           <TABLE class=Example id=TABLE2>
4104             <TBODY>
4105             <TR>
4106               <TD>M-POST /cimom HTTP/1.1</TD></TR>
4107             <TR>
4108               <TD>HOST: <A href="http://www.erewhon.com" 
4109                 >www.erewhon.com</A></TD></TR>
4110             <TR>
4111               <TD>Content-Type: application/xml; 
4112             charset="utf-8"</TD></TR>
4113             <TR>
4114               <TD>Content-Length: xxxx</TD></TR>
4115             <TR>
4116               <TD>Man: <A 
4117 karl  1.1       href="http://www.dmtf.org/cim/mapping/http/v1.0" 
4118                 >http://www.dmtf.org/cim/mapping/http/v1.0</A> ; 
4119               ns=73</TD></TR>
4120             <TR>
4121               <TD>73-CIMOperation: MethodCall</TD>
4122             <TR>
4123               <TD>73-CIMMethod: GetInstance</TD></TR>
4124             <TR>
4125               <TD>73-CIMObject: root/cimv2</TD></TR>
4126             <TR>
4127               <TD></TD></TR>
4128             <TR>
4129               <TD>&lt;?xml version="1.0" encoding="utf-8" 
4130             ?&gt;</TD></TR>
4131             <TR>
4132               <TD>&lt;CIM CIMVERSION="2.0" 
4133             DTDVERSION="1.1"&gt;</TD></TR>
4134             <TR>
4135               <TD>&nbsp;&lt;MESSAGE ID="87855" 
4136                 PROTOCOLVERSION="1.0"&gt;</TD></TR>
4137             <TR>
4138 karl  1.1     <TD>&nbsp; &lt;SIMPLEREQ&gt;</TD></TR>
4139             <TR>
4140               <TD>&nbsp;&nbsp; &lt;IMETHODCALL 
4141               NAME="GetInstance"&gt;</TD></TR>
4142             <TR>
4143               <TD>&nbsp;&nbsp;&nbsp; 
4144             &lt;LOCALNAMESPACEPATH&gt;</TD></TR>
4145             <TR>
4146               <TD>&nbsp;&nbsp;&nbsp;&nbsp; &lt;NAMESPACE 
4147                 NAME="root"/&gt;</TD></TR>
4148             <TR>
4149               <TD>&nbsp;&nbsp;&nbsp;&nbsp; &lt;NAMESPACE 
4150                 NAME="myNamespace"/&gt;</TD></TR>
4151             <TR>
4152               <TD>&nbsp;&nbsp;&nbsp; 
4153             &lt;/LOCALNAMESPACEPATH&gt;</TD></TR>
4154             <TR>
4155               <TD>&nbsp;&nbsp;&nbsp; &lt;IPARAMVALUE 
4156                 NAME="InstanceName"&gt;</TD></TR>
4157             <TR>
4158               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;INSTANCENAME 
4159 karl  1.1       CLASSNAME="MyClass"&gt;</TD></TR>
4160             <TR>
4161               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
4162                 &lt;KEYBINDING 
4163                 NAME="MyKey"&gt;&lt;KEYVALUE&gt;S3&lt;/KEYVALUE&gt;&lt;/KEYBINDING&gt;</TD></TR>
4164             <TR>
4165               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
4166               &lt;/INSTANCENAME&gt;</TD></TR>
4167             <TR>
4168               <TD>&nbsp;&nbsp;&nbsp; &lt;/IPARAMVALUE&gt;</TD></TR>
4169             <TR>
4170               <TD>&nbsp;&nbsp;&nbsp; &lt;IPARAMVALUE 
4171                 NAME="LocalOnly"&gt;&lt;VALUE&gt;FALSE&lt;/VALUE&gt;&lt;/IPARAMVALUE&gt;</TD></TR>
4172             <TR>
4173               <TD>&nbsp;&nbsp; &lt;/IMETHODCALL&gt;</TD></TR>
4174             <TR>
4175               <TD>&nbsp; &lt;/SIMPLEREQ&gt;</TD></TR>
4176             <TR>
4177               <TD>&nbsp;&lt;/MESSAGE&gt;</TD></TR>
4178             <TR>
4179               <TD>&lt;/CIM&gt;</TD></TR></TBODY></TABLE>
4180 karl  1.1 <P>The following is an HTTP response to the above request 
4181           indicating&nbsp;an error due to the&nbsp;specified instance not being found.</P>
4182           <P>
4183           <TABLE class=Example id=TABLE2>
4184             <TBODY>
4185             <TR>
4186               <TD>HTTP/1.1 200 OK</TD></TR>
4187             <TR>
4188               <TD>Content-Type: application/xml; 
4189             charset="utf-8"</TD></TR>
4190             <TR>
4191               <TD>Content-Length: xxxx</TD></TR>
4192             <TR>
4193               <TD>Ext:</TD></TR>
4194             <TR>
4195               <TD>Cache-Control: no-cache</TD></TR>
4196             <TR>
4197               <TD>Man: <A 
4198                 href="http://www.dmtf.org/cim/mapping/http/v1.0" 
4199                 >http://www.dmtf.org/cim/mapping/http/v1.0</A> ; 
4200               ns=73</TD></TR>
4201 karl  1.1   <TR>
4202               <TD>73-CIMOperation: MethodResponse</TD>
4203             <TR>
4204               <TD></TD></TR>
4205             <TR>
4206               <TD>&lt;?xml version="1.0" encoding="utf-8" 
4207             ?&gt;</TD></TR>
4208             <TR>
4209               <TD>&lt;CIM CIMVERSION="2.0" 
4210             DTDVERSION="2.0"&gt;</TD></TR>
4211             <TR>
4212               <TD>&nbsp;&lt;MESSAGE ID="87885" 
4213                 PROTOCOLVERSION="1.0"&gt;</TD></TR>
4214             <TR>
4215               <TD>&nbsp; &lt;SIMPLERSP&gt;</TD></TR>
4216             <TR>
4217               <TD>&nbsp;&nbsp; &lt;IMETHODRESPONSE 
4218                 NAME="GetInstance"&gt;</TD></TR>
4219             <TR>
4220               <TD>&nbsp;&nbsp;&nbsp; &lt;ERROR CODE="6" 
4221                 DESCRIPTION="Instance of MyClass not found"/&gt;</TD></TR>
4222 karl  1.1   <TR>
4223               <TD>&nbsp;&nbsp; &lt;/IMETHODRESPONSE&gt;</TD></TR>
4224             <TR>
4225               <TD>&nbsp; &lt;/SIMPLERSP&gt;</TD></TR>
4226             <TR>
4227               <TD>&nbsp;&lt;/MESSAGE&gt;</TD></TR>
4228             <TR>
4229               <TD>&lt;/CIM&gt;</TD></TR></TBODY></TABLE>
4230           <P><A href="#top" >Back to contents</A></P>
4231           <H2><A name=SecDeletionOfASingleClassDefinition>A.3.&nbsp;Deletion of a Single Class Definition</A></H2>
4232           <P>The following HTTP request illustrates how a client 
4233           would&nbsp;delete the class CIM_VideoBIOSElement.</P>
4234           <P>
4235           <TABLE class=Example id=TABLE2>
4236             <TBODY>
4237             <TR>
4238               <TD>M-POST /cimom HTTP/1.1</TD></TR>
4239             <TR>
4240               <TD>HOST: <A href="http://www.erewhon.com" 
4241                 >www.erewhon.com</A></TD></TR>
4242             <TR>
4243 karl  1.1     <TD>Content-Type: application/xml; 
4244             charset="utf-8"</TD></TR>
4245             <TR>
4246               <TD>Content-Length: xxxx</TD></TR>
4247             <TR>
4248               <TD>Man: <A 
4249                 href="http://www.dmtf.org/cim/mapping/http/v1.0" 
4250                 >http://www.dmtf.org/cim/mapping/http/v1.0</A> ; 
4251               ns=73</TD></TR>
4252             <TR>
4253               <TD>73-CIMOperation: MethodCall</TD>
4254             <TR>
4255               <TD>73-CIMMethod: DeleteClass</TD></TR>
4256             <TR>
4257               <TD>73-CIMObject: root/cimv2</TD></TR>
4258             <TR>
4259               <TD></TD></TR>
4260             <TR>
4261               <TD>&lt;?xml version="1.0" encoding="utf-8" 
4262             ?&gt;</TD></TR>
4263             <TR>
4264 karl  1.1     <TD>&lt;CIM CIMVERSION="2.0" 
4265             DTDVERSION="2.0"&gt;</TD></TR>
4266             <TR>
4267               <TD>&nbsp;&lt;MESSAGE ID="87872" 
4268                 PROTOCOLVERSION="1.0"&gt;</TD></TR>
4269             <TR>
4270               <TD>&nbsp; &lt;SIMPLEREQ&gt;</TD></TR>
4271             <TR>
4272               <TD>&nbsp;&nbsp; &lt;IMETHODCALL 
4273               NAME="DeleteClass"&gt;</TD></TR>
4274             <TR>
4275               <TD 
4276               >&nbsp;&nbsp;&nbsp;&nbsp;&lt;LOCALNAMESPACEPATH&gt;</TD></TR>
4277             <TR>
4278               <TD>&nbsp;&nbsp;&nbsp;&nbsp; &lt;NAMESPACE 
4279                 NAME="root"/&gt;</TD></TR>
4280             <TR>
4281               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;NAMESPACE 
4282                 NAME="cimv20"/&gt;</TD></TR>
4283             <TR>
4284               <TD>&nbsp;&nbsp;&nbsp; 
4285 karl  1.1   &lt;/LOCALNAMESPACEPATH&gt;</TD></TR>
4286             <TR>
4287               <TD>&nbsp;&nbsp;&nbsp; &lt;IPARAMVALUE 
4288                 NAME="ClassName"&gt;&lt;CLASSNAME 
4289                 NAME="CIM_VideoBIOSElement"/&gt;&lt;/IPARAMVALUE&gt;</TD></TR>
4290             <TR>
4291               <TD>&nbsp;&nbsp; &lt;/IMETHODCALL&gt;</TD></TR>
4292             <TR>
4293               <TD>&nbsp; &lt;/SIMPLEREQ&gt;</TD></TR>
4294             <TR>
4295               <TD>&nbsp;&lt;/MESSAGE&gt;</TD></TR>
4296             <TR>
4297               <TD>&lt;/CIM&gt;</TD></TR></TBODY></TABLE>
4298           <P>The following is an HTTP response to the above request 
4299           indicating failure of the above operation due to the inability to delete 
4300           instances of the Class.</P>
4301           <P>
4302           <TABLE class=Example id=TABLE2>
4303             <TBODY>
4304             <TR>
4305               <TD>HTTP/1.1 200 OK</TD></TR>
4306 karl  1.1   <TR>
4307               <TD>Content-Type: application/xml; 
4308             charset="utf-8"</TD></TR>
4309             <TR>
4310               <TD>Content-Length: xxxx</TD></TR>
4311             <TR>
4312               <TD>Ext:</TD></TR>
4313             <TR>
4314               <TD>Cache-Control: no-cache</TD></TR>
4315             <TR>
4316               <TD>Man: <A 
4317                 href="http://www.dmtf.org/cim/mapping/http/v1.0" 
4318                 >http://www.dmtf.org/cim/mapping/http/v1.0</A> ; 
4319               ns=73</TD></TR>
4320             <TR>
4321               <TD>73-CIMOperation: MethodResponse</TD>
4322             <TR>
4323               <TD></TD></TR>
4324             <TR>
4325               <TD>&lt;?xml version="1.0" encoding="utf-8" 
4326             ?&gt;</TD></TR>
4327 karl  1.1   <TR>
4328               <TD>&lt;CIM CIMVERSION="2.0" 
4329             DTDVERSION="2.0"&gt;</TD></TR>
4330             <TR>
4331               <TD>&nbsp;&lt;MESSAGE 
4332                 ID="87872"&nbsp;PROTOCOLVERSION="1.0"&gt;</TD></TR>
4333             <TR>
4334               <TD>&nbsp; &lt;SIMPLERSP&gt;</TD></TR>
4335             <TR>
4336               <TD>&nbsp;&nbsp;&nbsp;&lt;IMETHODRESPONSE 
4337                 NAME="DeleteClass"&gt;</TD></TR>
4338             <TR>
4339               <TD>&nbsp;&nbsp;&nbsp; &lt;ERROR CODE="9" 
4340                 DESCRIPTION="Class has non-deletable instances"/&gt;</TD></TR>
4341             <TR>
4342               <TD>&nbsp;&nbsp; &lt;/IMETHODRESPONSE&gt;</TD></TR>
4343             <TR>
4344               <TD>&nbsp; &lt;/SIMPLERSP&gt;</TD></TR>
4345             <TR>
4346               <TD>&nbsp;&lt;/MESSAGE&gt;</TD></TR>
4347             <TR>
4348 karl  1.1     <TD>&lt;/CIM&gt;</TD></TR></TBODY></TABLE>
4349           <P><A href="#top" >Back to contents</A></P>
4350           <H2><A name=SecDeletionOfASingleInstanceDefinition>A.4.&nbsp;Deletion of a Single&nbsp;Instance 
4351           Definition</A></H2>
4352           <P>The following HTTP request illustrates how a client 
4353           would&nbsp;delete the&nbsp;instance MyClass.MyKey="S3".</P>
4354           <P>
4355           <TABLE class=Example id=TABLE2>
4356             <TBODY>
4357             <TR>
4358               <TD>M-POST /cimom HTTP/1.1</TD></TR>
4359             <TR>
4360               <TD>HOST: <A href="http://www.erewhon.com" 
4361                 >www.erewhon.com</A></TD></TR>
4362             <TR>
4363               <TD>Content-Type: application/xml; 
4364             charset="utf-8"</TD></TR>
4365             <TR>
4366               <TD>Content-Length: xxxx</TD></TR>
4367             <TR>
4368               <TD>Man: <A 
4369 karl  1.1       href="http://www.dmtf.org/cim/mapping/http/v1.0" 
4370                 >http://www.dmtf.org/cim/mapping/http/v1.0</A> ; 
4371               ns=73</TD></TR>
4372             <TR>
4373               <TD>73-CIMOperation: MethodCall</TD>
4374             <TR>
4375               <TD>73-CIMMethod: DeleteInstance</TD></TR>
4376             <TR>
4377               <TD>73-CIMObject: root/cimv2</TD></TR>
4378             <TR>
4379               <TD></TD></TR>
4380             <TR>
4381               <TD>&lt;?xml version="1.0" encoding="utf-8" 
4382             ?&gt;</TD></TR>
4383             <TR>
4384               <TD>&lt;CIM CIMVERSION="2.0" 
4385             DTDVERSION="2.0"&gt;</TD></TR>
4386             <TR>
4387               <TD>&nbsp;&lt;MESSAGE ID="87872" 
4388                 PROTOCOLVERSION="1.0"&gt;</TD></TR>
4389             <TR>
4390 karl  1.1     <TD>&nbsp; &lt;SIMPLEREQ&gt;</TD></TR>
4391             <TR>
4392               <TD>&nbsp;&nbsp; &lt;IMETHODCALL 
4393                 NAME="DeleteInstance"&gt;</TD></TR>
4394             <TR>
4395               <TD>&nbsp;&nbsp;&nbsp; 
4396             &lt;LOCALNAMESPACEPATH&gt;</TD></TR>
4397             <TR>
4398               <TD>&nbsp;&nbsp;&nbsp;&nbsp; &lt;NAMESPACE 
4399                 NAME="root"/&gt;</TD></TR>
4400             <TR>
4401               <TD>&nbsp;&nbsp;&nbsp;&nbsp; &lt;NAMESPACE 
4402                 NAME="myNamespace"/&gt;</TD></TR>
4403             <TR>
4404               <TD>&nbsp;&nbsp;&nbsp; 
4405             &lt;/LOCALNAMESPACEPATH&gt;</TD></TR>
4406             <TR>
4407               <TD>&nbsp;&nbsp;&nbsp; &lt;IPARAMVALUE 
4408                 NAME="InstancePath"&gt;</TD></TR>
4409             <TR>
4410               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;INSTANCENAME 
4411 karl  1.1       CLASSNAME="MyClass"&gt;</TD></TR>
4412             <TR>
4413               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
4414                 &lt;KEYBINDING NAME="MyKey"&gt;</TD></TR>
4415             <TR>
4416               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
4417                 &lt;KEYVALUE&gt;S3&lt;/KEYVALUE&gt;</TD></TR>
4418             <TR>
4419               <TD 
4420                 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/KEYBINDING&gt;</TD></TR>
4421             <TR>
4422               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
4423               &lt;/INSTANCENAME&gt;</TD></TR>
4424             <TR>
4425               <TD>&nbsp;&nbsp;&nbsp; &lt;/IPARAMVALUE&gt;</TD></TR>
4426             <TR>
4427               <TD>&nbsp;&nbsp; &lt;/IMETHODCALL&gt;</TD></TR>
4428             <TR>
4429               <TD>&nbsp; &lt;/SIMPLEREQ&gt;</TD></TR>
4430             <TR>
4431               <TD>&nbsp;&lt;/MESSAGE&gt;</TD></TR>
4432 karl  1.1   <TR>
4433               <TD>&lt;/CIM&gt;</TD></TR></TBODY></TABLE>
4434           <P>The following is an HTTP response to the above request 
4435           indicating&nbsp;success of the above operation.</P>
4436           <P>
4437           <TABLE class=Example id=TABLE2>
4438             <TBODY>
4439             <TR>
4440               <TD>HTTP/1.1 200 OK</TD></TR>
4441             <TR>
4442               <TD>Content-Type: application/xml; 
4443             charset="utf-8"</TD></TR>
4444             <TR>
4445               <TD>Content-Length: xxxx</TD></TR>
4446             <TR>
4447               <TD>Ext:</TD></TR>
4448             <TR>
4449               <TD>Cache-Control: no-cache</TD></TR>
4450             <TR>
4451               <TD>Man: <A href="http://www.dmtf.org/cim/operation" 
4452                 >http://www.dmtf.org/cim/operation</A> ; ns=73</TD></TR>
4453 karl  1.1   <TR>
4454               <TD>73-CIMOperation: MethodResponse</TD>
4455             <TR>
4456               <TD></TD></TR>
4457             <TR>
4458               <TD>&lt;?xml version="1.0" encoding="utf-8" 
4459             ?&gt;</TD></TR>
4460             <TR>
4461               <TD>&lt;CIM CIMVERSION="2.0" 
4462             DTDVERSION="2.0"&gt;</TD></TR>
4463             <TR>
4464               <TD>&nbsp;&lt;MESSAGE ID="87872" 
4465                 PROTOCOLVERSION="1.0"&gt;</TD></TR>
4466             <TR>
4467               <TD>&nbsp; &lt;SIMPLERSP&gt;</TD></TR>
4468             <TR>
4469               <TD>&nbsp;&nbsp; &lt;IMETHODRESPONSE 
4470                 NAME="DeleteInstance"/&gt;</TD></TR>
4471             <TR>
4472               <TD>&nbsp; &lt;/SIMPLERSP&gt;</TD></TR>
4473             <TR>
4474 karl  1.1     <TD>&nbsp;&lt;/MESSAGE&gt;</TD></TR>
4475             <TR>
4476               <TD>&lt;/CIM&gt;</TD></TR></TBODY></TABLE>
4477           <P><A href="#top" >Back to contents</A></P>
4478           <H2><A name=SecCreationOfASingleClassDefinition>A.5.&nbsp;Creation of a Single Class Definition</A></H2>
4479           <P>The following HTTP request illustrates how a client 
4480           would&nbsp;create the class MySchema_VideoBIOSElement as a subclass of 
4481           CIM_VideoBIOSElement.&nbsp; For clarity of exposition most of the submitted 
4482           &lt;CLASS&gt; element is omitted from the example.</P>
4483           <P>
4484           <TABLE class=Example id=TABLE2>
4485             <TBODY>
4486             <TR>
4487               <TD>M-POST /cimom HTTP/1.1</TD></TR>
4488             <TR>
4489               <TD>HOST: <A href="http://www.erewhon.com" 
4490                 >www.erewhon.com</A></TD></TR>
4491             <TR>
4492               <TD>Content-Type: application/xml; 
4493             charset="utf-8"</TD></TR>
4494             <TR>
4495 karl  1.1     <TD>Content-Length: xxxx</TD></TR>
4496             <TR>
4497               <TD>Man: <A 
4498                 href="http://www.dmtf.org/cim/mapping/http/v1.0" 
4499                 >http://www.dmtf.org/cim/mapping/http/v1.0</A> ; 
4500               ns=73</TD></TR>
4501             <TR>
4502               <TD>73-CIMOperation: MethodCall</TD>
4503             <TR>
4504               <TD>73-CIMMethod: CreateClass</TD></TR>
4505             <TR>
4506               <TD>73-CIMObject: root/cimv2</TD></TR>
4507             <TR>
4508               <TD></TD></TR>
4509             <TR>
4510               <TD>&lt;?xml version="1.0" encoding="utf-8" 
4511             ?&gt;</TD></TR>
4512             <TR>
4513               <TD>&lt;CIM CIMVERSION="2.0" 
4514             DTDVERSION="2.0"&gt;</TD></TR>
4515             <TR>
4516 karl  1.1     <TD>&nbsp;&lt;MESSAGE ID="87872" 
4517                 PROTOCOLVERSION="1.0"&gt;</TD></TR>
4518             <TR>
4519               <TD>&nbsp; &lt;SIMPLEREQ&gt;</TD></TR>
4520             <TR>
4521               <TD>&nbsp;&nbsp; &lt;IMETHODCALL 
4522               NAME="CreateClass"&gt;</TD></TR>
4523             <TR>
4524               <TD>&nbsp;&nbsp;&nbsp; 
4525             &lt;LOCALNAMESPACEPATH&gt;</TD></TR>
4526             <TR>
4527               <TD>&nbsp;&nbsp;&nbsp;&nbsp; &lt;NAMESPACE 
4528                 NAME="root"/&gt;</TD></TR>
4529             <TR>
4530               <TD>&nbsp;&nbsp;&nbsp;&nbsp; &lt;NAMESPACE 
4531                 NAME="cimv2"/&gt;</TD></TR>
4532             <TR>
4533               <TD>&nbsp;&nbsp;&nbsp; 
4534             &lt;/LOCALNAMESPACEPATH&gt;</TD></TR>
4535             <TR>
4536               <TD>&nbsp;&nbsp;&nbsp; &lt;IPARAMVALUE 
4537 karl  1.1       NAME="NewClass"&gt;</TD></TR>
4538             <TR>
4539               <TD>&nbsp;&nbsp;&nbsp;&nbsp; &lt;CLASS 
4540                 NAME="MySchema_VideoBIOSElement" 
4541             SUPERCLASS="CIM_VideoBIOSElement"&gt;</TD></TR>
4542             <TR>
4543               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...</TD></TR>
4544             <TR>
4545               <TD>&nbsp;&nbsp;&nbsp;&nbsp; &lt;/CLASS&gt;</TD></TR>
4546             <TR>
4547               <TD>&nbsp;&nbsp;&nbsp; &lt;/IPARAMVALUE&gt;</TD></TR>
4548             <TR>
4549               <TD>&nbsp;&nbsp; &lt;/IMETHODCALL&gt;</TD></TR>
4550             <TR>
4551               <TD>&nbsp; &lt;/SIMPLEREQ&gt;</TD></TR>
4552             <TR>
4553               <TD>&nbsp;&lt;/MESSAGE&gt;</TD></TR>
4554             <TR>
4555               <TD>&lt;/CIM&gt;</TD></TR></TBODY></TABLE>
4556           <P>The following is an HTTP response to the above request 
4557           indicating&nbsp;success of the above operation.</P>
4558 karl  1.1 <P>
4559           <TABLE class=Example id=TABLE2>
4560             <TBODY>
4561             <TR>
4562               <TD>HTTP/1.1 200 OK</TD></TR>
4563             <TR>
4564               <TD>Content-Type: application/xml; 
4565             charset="utf-8"</TD></TR>
4566             <TR>
4567               <TD>Content-Length: xxxx</TD></TR>
4568             <TR>
4569               <TD>Ext:</TD></TR>
4570             <TR>
4571               <TD>Cache-Control: no-cache</TD></TR>
4572             <TR>
4573               <TD>Man: <A 
4574                 href="http://www.dmtf.org/cim/mapping/http/v1.0" 
4575                 >http://www.dmtf.org/cim/mapping/http/v1.0</A> ; 
4576               ns=73</TD></TR>
4577             <TR>
4578               <TD>73-CIMOperation: MethodResponse</TD>
4579 karl  1.1   <TR>
4580               <TD></TD></TR>
4581             <TR>
4582               <TD>&lt;?xml version="1.0" encoding="utf-8" 
4583             ?&gt;</TD></TR>
4584             <TR>
4585               <TD>&lt;CIM CIMVERSION="2.0" 
4586             DTDVERSION="2.0"&gt;</TD></TR>
4587             <TR>
4588               <TD>&nbsp;&lt;MESSAGE ID="87872" 
4589                 PROTOCOLVERSION="1.0"&gt;</TD></TR>
4590             <TR>
4591               <TD>&nbsp; &lt;SIMPLERSP&gt;</TD></TR>
4592             <TR>
4593               <TD>&nbsp;&nbsp; &lt;IMETHODRESPONSE 
4594                 NAME="CreateClass"/&gt;</TD></TR>
4595             <TR>
4596               <TD>&nbsp; &lt;/SIMPLERSP&gt;</TD></TR>
4597             <TR>
4598               <TD>&nbsp;&lt;/MESSAGE&gt;</TD></TR>
4599             <TR>
4600 karl  1.1     <TD>&lt;/CIM&gt;</TD></TR></TBODY></TABLE>
4601           <P><A href="#top" >Back to contents</A></P>
4602           <H2><A name=SecCreationOfASingleInstanceDefinition>A.6.&nbsp;Creation of a Single&nbsp;Instance 
4603           Definition</A></H2>
4604           <P>The following HTTP request illustrates how a client 
4605           would&nbsp;create an instance of the class MySchema_VideoBIOSElement. For 
4606           clarity of exposition most of the submitted &lt;INSTANCE&gt; element is omitted 
4607           from the example.</P>
4608           <P>
4609           <TABLE class=Example id=TABLE2>
4610             <TBODY>
4611             <TR>
4612               <TD>M-POST /cimom HTTP/1.1</TD></TR>
4613             <TR>
4614               <TD>HOST: <A href="http://www.erewhon.com" 
4615                 >www.erewhon.com</A></TD></TR>
4616             <TR>
4617               <TD>Content-Type: application/xml; 
4618             charset="utf-8"</TD></TR>
4619             <TR>
4620               <TD>Content-Length: xxxx</TD></TR>
4621 karl  1.1   <TR>
4622               <TD>Man: <A 
4623                 href="http://www.dmtf.org/cim/mapping/http/v1.0" 
4624                 >http://www.dmtf.org/cim/mapping/http/v1.0</A> ; 
4625               ns=73</TD></TR>
4626             <TR>
4627               <TD>73-CIMOperation: MethodCall</TD>
4628             <TR>
4629               <TD>73-CIMMethod: CreateInstance</TD></TR>
4630             <TR>
4631               <TD>73-CIMObject: root/cimv2</TD></TR>
4632             <TR>
4633               <TD></TD></TR>
4634             <TR>
4635               <TD>&lt;?xml version="1.0" encoding="utf-8" 
4636             ?&gt;</TD></TR>
4637             <TR>
4638               <TD>&lt;CIM CIMVERSION="2.0" 
4639             DTDVERSION="2.0"&gt;</TD></TR>
4640             <TR>
4641               <TD>&nbsp;&lt;MESSAGE ID="87872" 
4642 karl  1.1       PROTOCOLVERSION="1.0"&gt;</TD></TR>
4643             <TR>
4644               <TD>&nbsp; &lt;SIMPLEREQ&gt;</TD></TR>
4645             <TR>
4646               <TD>&nbsp;&nbsp;&nbsp;&lt;IMETHODCALL 
4647                 NAME="CreateInstance"&gt;</TD></TR>
4648             <TR>
4649               <TD>&nbsp;&nbsp; 
4650             &nbsp;&lt;LOCALNAMESPACEPATH&gt;</TD></TR>
4651             <TR>
4652               <TD>&nbsp;&nbsp;&nbsp;&nbsp; &lt;NAMESPACE 
4653                 NAME="root"/&gt;</TD></TR>
4654             <TR>
4655               <TD>&nbsp;&nbsp;&nbsp; &nbsp;&lt;NAMESPACE 
4656                 NAME="cimv20"/&gt;</TD></TR>
4657             <TR>
4658               <TD>&nbsp; &nbsp; &lt;/LOCALNAMESPACEPATH&gt;</TD></TR>
4659             <TR>
4660               <TD>&nbsp;&nbsp;&nbsp; &lt;IPARAMVALUE 
4661                 NAME="NewInstance"&gt;</TD></TR>
4662             <TR>
4663 karl  1.1     <TD>&nbsp;&nbsp;&nbsp;&nbsp; &lt;INSTANCE 
4664                 CLASSNAME="CIM_VideoBIOSElement"&gt;</TD></TR>
4665             <TR>
4666               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...</TD></TR>
4667             <TR>
4668               <TD>&nbsp;&nbsp;&nbsp;&nbsp; &lt;/INSTANCE&gt;</TD></TR>
4669             <TR>
4670               <TD>&nbsp;&nbsp;&nbsp; &lt;/IPARAMVALUE&gt;</TD></TR>
4671             <TR>
4672               <TD>&nbsp;&nbsp; &lt;/IMETHODCALL&gt;</TD></TR>
4673             <TR>
4674               <TD>&nbsp; &lt;/SIMPLEREQ&gt;</TD></TR>
4675             <TR>
4676               <TD>&nbsp;&lt;/MESSAGE&gt;</TD></TR>
4677             <TR>
4678               <TD>&lt;/CIM&gt;</TD></TR></TBODY></TABLE>
4679           <P>The following is an HTTP response to the above request 
4680           indicating&nbsp;success of the above operation.</P>
4681           <P>
4682           <TABLE class=Example id=TABLE2>
4683             <TBODY>
4684 karl  1.1   <TR>
4685               <TD>HTTP/1.1 200 OK</TD></TR>
4686             <TR>
4687               <TD>Content-Type: application/xml; 
4688             charset="utf-8"</TD></TR>
4689             <TR>
4690               <TD>Content-Length: xxxx</TD></TR>
4691             <TR>
4692               <TD>Ext:</TD></TR>
4693             <TR>
4694               <TD>Cache-Control: no-cache</TD></TR>
4695             <TR>
4696               <TD>Man: <A 
4697                 href="http://www.dmtf.org/cim/mapping/http/v1.0" 
4698                 >http://www.dmtf.org/cim/mapping/http/v1.0</A> ; 
4699               ns=73</TD></TR>
4700             <TR>
4701               <TD>73-CIMOperation: MethodResponse</TD>
4702             <TR>
4703               <TD></TD></TR>
4704             <TR>
4705 karl  1.1     <TD>&lt;?xml version="1.0" encoding="utf-8" 
4706             ?&gt;</TD></TR>
4707             <TR>
4708               <TD>&lt;CIM CIMVERSION="2.0" 
4709             DTDVERSION="2.0"&gt;</TD></TR>
4710             <TR>
4711               <TD>&nbsp;&lt;MESSAGE ID="87872" 
4712                 PROTOCOLVERSION="1.0"&gt;</TD></TR>
4713             <TR>
4714               <TD>&nbsp; &lt;SIMPLERSP&gt;</TD></TR>
4715             <TR>
4716               <TD>&nbsp;&nbsp; &lt;IMETHODRESPONSE 
4717                 NAME="CreateInstance"&gt;</TD></TR>
4718             <TR>
4719               <TD>&nbsp;&nbsp;&nbsp; &lt;IRETURNVALUE&gt;</TD></TR>
4720             <TR>
4721               <TD>&nbsp;&nbsp;&nbsp;&nbsp; &lt;INSTANCENAME 
4722                 CLASSNAME="MySchema_VideoBIOSElement"&gt;</TD></TR>
4723             <TR>
4724               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
4725                 &lt;KEYBINDING NAME="Name"&gt;</TD></TR>
4726 karl  1.1   <TR>
4727               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
4728                 &nbsp;&lt;KEYVALUE&gt;S4&lt;/KEYVALUE&gt;</TD></TR>
4729             <TR>
4730               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
4731                 &lt;/KEYBINDING&gt;</TD></TR>
4732             <TR>
4733               <TD>&nbsp;&nbsp;&nbsp;&nbsp; 
4734             &lt;/INSTANCENAME&gt;</TD></TR>
4735             <TR>
4736               <TD>&nbsp;&nbsp;&nbsp; &lt;/IRETURNVALUE&gt;</TD></TR>
4737             <TR>
4738               <TD>&nbsp;&nbsp; &lt;/IRETURNVALUE&gt;</TD></TR>
4739             <TR>
4740               <TD>&nbsp; &lt;/SIMPLERSP&gt;</TD></TR>
4741             <TR>
4742               <TD>&nbsp;&lt;/MESSAGE&gt;</TD></TR>
4743             <TR>
4744               <TD>&lt;/CIM&gt;</TD></TR></TBODY></TABLE>
4745           <P><A href="#top" >Back to contents</A></P>
4746           <H2><A name=SecCreationOfASingleInstanceDefinition>A.7.&nbsp;</A><A name=#SecEnumerationOfClasses>Enumeration of Class Names</A></H2>
4747 karl  1.1 <P>The following HTTP request illustrates how a client 
4748           would&nbsp;enumerate the names of all subclasses of the class 
4749           CIM_SoftwareElement. </P>
4750           <P>
4751           <TABLE class=Example id=TABLE2>
4752             <TBODY>
4753             <TR>
4754               <TD>M-POST /cimom HTTP/1.1</TD></TR>
4755             <TR>
4756               <TD>HOST: <A href="http://www.erewhon.com" 
4757                 >www.erewhon.com</A></TD></TR>
4758             <TR>
4759               <TD>Content-Type: application/xml; 
4760             charset="utf-8"</TD></TR>
4761             <TR>
4762               <TD>Content-Length: xxxx</TD></TR>
4763             <TR>
4764               <TD>Man: <A 
4765                 href="http://www.dmtf.org/cim/mapping/http/v1.0" 
4766                 >http://www.dmtf.org/cim/mapping/http/v1.0</A> ; 
4767               ns=73</TD></TR>
4768 karl  1.1   <TR>
4769               <TD>73-CIMOperation: MethodCall</TD>
4770             <TR>
4771               <TD>73-CIMMethod: EnumerateClassNames</TD></TR>
4772             <TR>
4773               <TD>73-CIMObject: root/cimv2</TD></TR>
4774             <TR>
4775               <TD></TD></TR>
4776             <TR>
4777               <TD>&lt;?xml version="1.0" encoding="utf-8" 
4778             ?&gt;</TD></TR>
4779             <TR>
4780               <TD>&lt;CIM CIMVERSION="2.0" 
4781             DTDVERSION="2.0"&gt;</TD></TR>
4782             <TR>
4783               <TD>&nbsp;&lt;MESSAGE ID="87872" 
4784                 PROTOCOLVERSION="1.0"&gt;</TD></TR>
4785             <TR>
4786               <TD>&nbsp; &lt;SIMPLEREQ&gt;</TD></TR>
4787             <TR>
4788               <TD>&nbsp;&nbsp;&nbsp;&lt;IMETHODCALL 
4789 karl  1.1       NAME="EnumerateClassNames"&gt;</TD></TR>
4790             <TR>
4791               <TD>&nbsp;&nbsp; 
4792             &nbsp;&lt;LOCALNAMESPACEPATH&gt;</TD></TR>
4793             <TR>
4794               <TD>&nbsp;&nbsp;&nbsp;&nbsp; &lt;NAMESPACE 
4795                 NAME="root"/&gt;</TD></TR>
4796             <TR>
4797               <TD>&nbsp;&nbsp;&nbsp; &nbsp;&lt;NAMESPACE 
4798                 NAME="cimv20"/&gt;</TD></TR>
4799             <TR>
4800               <TD>&nbsp; &nbsp; &lt;/LOCALNAMESPACEPATH&gt;</TD></TR>
4801             <TR>
4802               <TD>&nbsp;&nbsp;&nbsp; &lt;IPARAMVALUE 
4803                 NAME="ClassName"&gt;&lt;CLASSNAME 
4804                 NAME="CIM_SoftwareElement"/&gt;&lt;/IPARAMVALUE&gt;</TD></TR>
4805             <TR>
4806               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&lt;IPARAMVALUE 
4807                 NAME="DeepInheritance"&gt;&lt;VALUE&gt;FALSE&lt;/VALUE&gt;&lt;/IPARAMVALUE&gt;</TD></TR>
4808             <TR>
4809               <TD>&nbsp;&nbsp; &lt;/IMETHODCALL&gt;</TD></TR>
4810 karl  1.1   <TR>
4811               <TD>&nbsp; &lt;/SIMPLEREQ&gt;</TD></TR>
4812             <TR>
4813               <TD>&nbsp;&lt;/MESSAGE&gt;</TD></TR>
4814             <TR>
4815               <TD>&lt;/CIM&gt;</TD></TR></TBODY></TABLE>
4816           <P>The following is an HTTP response to the above request 
4817           indicating&nbsp;success of the above operation, and returning the names of the 
4818           requested subclasses.</P>
4819           <P>
4820           <TABLE class=Example id=TABLE2>
4821             <TBODY>
4822             <TR>
4823               <TD>HTTP/1.1 200 OK</TD></TR>
4824             <TR>
4825               <TD>Content-Type: application/xml; 
4826             charset="utf-8"</TD></TR>
4827             <TR>
4828               <TD>Content-Length: xxxx</TD></TR>
4829             <TR>
4830               <TD>Ext:</TD></TR>
4831 karl  1.1   <TR>
4832               <TD>Cache-Control: no-cache</TD></TR>
4833             <TR>
4834               <TD>Man: <A 
4835                 href="http://www.dmtf.org/cim/mapping/http/v1.0" 
4836                 >http://www.dmtf.org/cim/mapping/http/v1.0</A> ; 
4837               ns=73</TD></TR>
4838             <TR>
4839               <TD>73-CIMOperation: MethodResponse</TD>
4840             <TR>
4841               <TD></TD></TR>
4842             <TR>
4843               <TD>&lt;?xml version="1.0" encoding="utf-8" 
4844             ?&gt;</TD></TR>
4845             <TR>
4846               <TD>&lt;CIM CIMVERSION="2.0" 
4847             DTDVERSION="2.0"&gt;</TD></TR>
4848             <TR>
4849               <TD>&nbsp;&lt;MESSAGE ID="87872" 
4850                 PROTOCOLVERSION="1.0"&gt;</TD></TR>
4851             <TR>
4852 karl  1.1     <TD>&nbsp; &lt;SIMPLERSP&gt;</TD></TR>
4853             <TR>
4854               <TD>&nbsp;&nbsp; &lt;IMETHODRESPONSE 
4855                 NAME="EnumerateClassNames"&gt;</TD></TR>
4856             <TR>
4857               <TD>&nbsp;&nbsp;&nbsp; &lt;IRETURNVALUE&gt;</TD></TR>
4858             <TR>
4859               <TD>&nbsp;&nbsp;&nbsp;&nbsp; &lt;CLASSNAME 
4860                 NAME="CIM_BIOSElement"/&gt;</TD></TR>
4861             <TR>
4862               <TD>&nbsp;&nbsp;&nbsp;&nbsp; &lt;CLASSNAME 
4863                 NAME="CIM_VideoBOISElement"/&gt;</TD></TR>
4864             <TR>
4865               <TD>&nbsp;&nbsp;&nbsp; &lt;/IRETURNVALUE&gt;</TD></TR>
4866             <TR>
4867               <TD>&nbsp;&nbsp; &lt;/IMETHODRESPONSE&gt;</TD></TR>
4868             <TR>
4869               <TD>&nbsp; &lt;/SIMPLERSP&gt;</TD></TR>
4870             <TR>
4871               <TD>&nbsp;&lt;/MESSAGE&gt;</TD></TR>
4872             <TR>
4873 karl  1.1     <TD>&lt;/CIM&gt;</TD></TR></TBODY></TABLE>
4874           <P><A href="#top" >Back to contents</A></P>
4875           <H2><A name=SecCreationOfASingleInstanceDefinition>A.8.&nbsp;</A><A name=SecEnumerationOfInstances>Enumeration of Instances</A></H2>
4876           <P>The following HTTP request illustrates how a client 
4877           would&nbsp;enumerate all instances of the class CIM_LogicalDisk. For clarity of 
4878           exposition most of the&nbsp;returned&nbsp;Instances&nbsp;are omitted from the 
4879           example.</P>
4880           <P>
4881           <TABLE class=Example id=TABLE2>
4882             <TBODY>
4883             <TR>
4884               <TD>M-POST /cimom HTTP/1.1</TD></TR>
4885             <TR>
4886               <TD>HOST: <A href="http://www.erewhon.com" 
4887                 >www.erewhon.com</A></TD></TR>
4888             <TR>
4889               <TD>Content-Type: application/xml; 
4890             charset="utf-8"</TD></TR>
4891             <TR>
4892               <TD>Content-Length: xxxx</TD></TR>
4893             <TR>
4894 karl  1.1     <TD>Man: <A href="http://www.dmtf.org/cim/operation" 
4895                 >http://www.dmtf.org/cim/operation</A> ; ns=73</TD></TR>
4896             <TR>
4897               <TD>73-CIMOperation: MethodCall</TD>
4898             <TR>
4899               <TD>73-CIMMethod: EnumerateInstances</TD></TR>
4900             <TR>
4901               <TD>73-CIMObject: root/cimv2</TD></TR>
4902             <TR>
4903               <TD></TD></TR>
4904             <TR>
4905               <TD>&lt;?xml version="1.0" encoding="utf-8" 
4906             ?&gt;</TD></TR>
4907             <TR>
4908               <TD>&lt;CIM CIMVERSION="2.0" 
4909             DTDVERSION="2.0"&gt;</TD></TR>
4910             <TR>
4911               <TD>&nbsp;&lt;MESSAGE ID="87872" 
4912                 PROTOCOLVERSION="1.0"&gt;</TD></TR>
4913             <TR>
4914               <TD>&nbsp; &lt;SIMPLEREQ&gt;</TD></TR>
4915 karl  1.1   <TR>
4916               <TD>&nbsp;&nbsp;&nbsp;&lt;IMETHODCALL 
4917                 NAME="EnumerateInstances"&gt;</TD></TR>
4918             <TR>
4919               <TD>&nbsp;&nbsp; 
4920             &nbsp;&lt;LOCALNAMESPACEPATH&gt;</TD></TR>
4921             <TR>
4922               <TD>&nbsp;&nbsp;&nbsp;&nbsp; &lt;NAMESPACE 
4923                 NAME="root"/&gt;</TD></TR>
4924             <TR>
4925               <TD>&nbsp;&nbsp;&nbsp; &nbsp;&lt;NAMESPACE 
4926                 NAME="cimv20"/&gt;</TD></TR>
4927             <TR>
4928               <TD>&nbsp; &nbsp; &lt;/LOCALNAMESPACEPATH&gt;</TD></TR>
4929             <TR>
4930               <TD>&nbsp;&nbsp;&nbsp; &lt;IPARAMVALUE 
4931                 NAME="ClassName"&gt;&lt;CLASSNAME 
4932                 NAME="CIM_LogicalDisk"/&gt;&lt;/IPARAMVALUE&gt;</TD></TR>
4933             <TR>
4934               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&lt;IPARAMVALUE 
4935                 NAME="LocalOnly"&gt;&lt;VALUE&gt;TRUE&lt;/VALUE&gt;&lt;/IPARAMVALUE&gt;</TD></TR>
4936 karl  1.1   <TR>
4937               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&lt;IPARAMVALUE 
4938                 NAME="DeepInheritance"&gt;&lt;VALUE&gt;TRUE&lt;/VALUE&gt;&lt;/IPARAMVALUE&gt;</TD></TR>
4939             <TR>
4940               <TD>&nbsp;&nbsp; &lt;/IMETHODCALL&gt;</TD></TR>
4941             <TR>
4942               <TD>&nbsp; &lt;/SIMPLEREQ&gt;</TD></TR>
4943             <TR>
4944               <TD>&nbsp;&lt;/MESSAGE&gt;</TD></TR>
4945             <TR>
4946               <TD>&lt;/CIM&gt;</TD></TR></TBODY></TABLE>
4947           <P>The following is an HTTP response to the above request 
4948           indicating&nbsp;success of the above operation, returning the requested 
4949           instances.</P>
4950           <P>
4951           <TABLE class=Example id=TABLE2>
4952             <TBODY>
4953             <TR>
4954               <TD>HTTP/1.1 200 OK</TD></TR>
4955             <TR>
4956               <TD>Content-Type: application/xml; 
4957 karl  1.1   charset="utf-8"</TD></TR>
4958             <TR>
4959               <TD>Content-Length: xxxx</TD></TR>
4960             <TR>
4961               <TD>Ext:</TD></TR>
4962             <TR>
4963               <TD>Cache-Control: no-cache</TD></TR>
4964             <TR>
4965               <TD>Man: <A 
4966                 href="http://www.dmtf.org/cim/mapping/http/v1.0" 
4967                 >http://www.dmtf.org/cim/mapping/http/v1.0</A> ; 
4968               ns=73</TD></TR>
4969             <TR>
4970               <TD>73-CIMOperation: MethodResponse</TD>
4971             <TR>
4972               <TD></TD></TR>
4973             <TR>
4974               <TD>&lt;?xml version="1.0" encoding="utf-8" 
4975             ?&gt;</TD></TR>
4976             <TR>
4977               <TD>&lt;CIM CIMVERSION="2.0" 
4978 karl  1.1   DTDVERSION="2.0"&gt;</TD></TR>
4979             <TR>
4980               <TD>&nbsp;&lt;MESSAGE ID="87872" 
4981                 PROTOCOLVERSION="1.0"&gt;</TD></TR>
4982             <TR>
4983               <TD>&nbsp; &lt;SIMPLERSP&gt;</TD></TR>
4984             <TR>
4985               <TD>&nbsp;&nbsp; &lt;IMETHODRESPONSE 
4986                 NAME="EnumerateInstances"&gt;</TD></TR>
4987             <TR>
4988               <TD>&nbsp;&nbsp;&nbsp; &lt;IRETURNVALUE&gt;</TD></TR>
4989             <TR>
4990               <TD>&nbsp;&nbsp;&nbsp;&nbsp; 
4991               &lt;VALUE.NAMEDINSTANCE&gt;</TD></TR>
4992             <TR>
4993               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;INSTANCENAME 
4994                 CLASSNAME="Erewhon_LogicalDisk"&gt;</TD></TR>
4995             <TR>
4996               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...</TD></TR>
4997             <TR>
4998               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
4999 karl  1.1     &lt;/INSTANCENAME&gt;</TD></TR>
5000             <TR>
5001               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;INSTANCE 
5002                 CLASSNAME="Erewhon_LogicalDisk"&gt;</TD></TR>
5003             <TR>
5004               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...</TD></TR>
5005             <TR>
5006               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
5007               &lt;/INSTANCE&gt;</TD></TR>
5008             <TR>
5009               <TD>&nbsp;&nbsp;&nbsp;&nbsp; 
5010               &lt;/VALUE.NAMEDINSTANCE&gt;</TD></TR>
5011             <TR>
5012               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...</TD></TR>
5013             <TR>
5014               <TD>&nbsp;&nbsp;&nbsp;&nbsp; 
5015               &lt;VALUE.NAMEDINSTANCE&gt;</TD></TR>
5016             <TR>
5017               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;INSTANCENAME 
5018                 CLASSNAME="Foobar_LogicalDisk"&gt;</TD></TR>
5019             <TR>
5020 karl  1.1     <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...</TD></TR>
5021             <TR>
5022               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
5023               &lt;/INSTANCENAME&gt;</TD></TR>
5024             <TR>
5025               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;INSTANCE 
5026                 CLASSNAME="Foobar_LogicalDisk"&gt;</TD></TR>
5027             <TR>
5028               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...</TD></TR>
5029             <TR>
5030               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
5031               &lt;/INSTANCE&gt;</TD></TR>
5032             <TR>
5033               <TD>&nbsp;&nbsp;&nbsp;&nbsp; 
5034               &lt;/VALUE.NAMEINSTANCE&gt;</TD></TR>
5035             <TR>
5036               <TD>&nbsp;&nbsp;&nbsp; &lt;/IRETURNVALUE&gt;</TD></TR>
5037             <TR>
5038               <TD>&nbsp;&nbsp; &lt;/IMETHODRESPONSE&gt;</TD></TR>
5039             <TR>
5040               <TD>&nbsp; &lt;/SIMPLERSP&gt;</TD></TR>
5041 karl  1.1   <TR>
5042               <TD>&nbsp;&lt;/MESSAGE&gt;</TD></TR>
5043             <TR>
5044               <TD>&lt;/CIM&gt;</TD></TR></TBODY></TABLE>
5045           <P><A href="#top" >Back to contents</A></P>
5046           <H2><A name=SecCreationOfASingleInstanceDefinition>A.9.&nbsp;</A><A name=SecRetrievalOfASingleProperty></a><A name=SecEnumerationOfInstances>Retrieval of a Single Property</A></H2>
5047           <P>The following HTTP request illustrates how a client 
5048           would&nbsp;retrieve the FreeSpace property from the Instance 
5049           MyDisk.DeviceID="C:".</P>
5050           <P>
5051           <TABLE class=Example id=TABLE2>
5052             <TBODY>
5053             <TR>
5054               <TD>M-POST /cimom HTTP/1.1</TD></TR>
5055             <TR>
5056               <TD>HOST: <A href="http://www.erewhon.com" 
5057                 >www.erewhon.com</A></TD></TR>
5058             <TR>
5059               <TD>Content-Type: application/xml; 
5060             charset="utf-8"</TD></TR>
5061             <TR>
5062 karl  1.1     <TD>Content-Length: xxxx</TD></TR>
5063             <TR>
5064               <TD>Man: <A href="http://www.dmtf.org/cim/operation" 
5065                 >http://www.dmtf.org/cim/operation</A> ; ns=73</TD></TR>
5066             <TR>
5067               <TD>73-CIMOperation: MethodCall</TD>
5068             <TR>
5069               <TD>73-CIMMethod: GetProperty</TD></TR>
5070             <TR>
5071               <TD>73-CIMObject: root/cimv2</TD></TR>
5072             <TR>
5073               <TD></TD></TR>
5074             <TR>
5075               <TD>&lt;?xml version="1.0" encoding="utf-8" 
5076             ?&gt;</TD></TR>
5077             <TR>
5078               <TD>&lt;CIM CIMVERSION="2.0" 
5079             DTDVERSION="2.0"&gt;</TD></TR>
5080             <TR>
5081               <TD>&nbsp;&lt;MESSAGE ID="87872" 
5082                 PROTOCOLVERSION="1.0"&gt;</TD></TR>
5083 karl  1.1   <TR>
5084               <TD>&nbsp; &lt;SIMPLEREQ&gt;</TD></TR>
5085             <TR>
5086               <TD>&nbsp;&nbsp;&nbsp;&lt;IMETHODCALL 
5087                 NAME="GetProperty"&gt;</TD></TR>
5088             <TR>
5089               <TD>&nbsp;&nbsp; 
5090             &nbsp;&lt;LOCALNAMESPACEPATH&gt;</TD></TR>
5091             <TR>
5092               <TD>&nbsp;&nbsp;&nbsp;&nbsp; &lt;NAMESPACE 
5093                 NAME="root"/&gt;</TD></TR>
5094             <TR>
5095               <TD>&nbsp;&nbsp;&nbsp; &nbsp;&lt;NAMESPACE 
5096                 NAME="myNamespace"/&gt;</TD></TR>
5097             <TR>
5098               <TD>&nbsp; &nbsp; &lt;/LOCALNAMESPACEPATH&gt;</TD></TR>
5099             <TR>
5100               <TD>&nbsp;&nbsp;&nbsp; &lt;IPARAMVALUE 
5101                 NAME="InstanceName"&gt;</TD></TR>
5102             <TR>
5103               <TD>&nbsp;&nbsp;&nbsp;&nbsp; &lt;INSTANCENAME 
5104 karl  1.1       CLASSNAME="MyDisk"&gt;</TD></TR>
5105             <TR>
5106               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;KEYBINDING 
5107                 NAME="DeviceID"&gt;&lt;KEYVALUE&gt;C:&lt;/KEYVALUE&gt;&lt;/KEYBINDING&gt;</TD></TR>
5108             <TR>
5109               <TD 
5110               >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/INSTANCENAME&gt;</TD></TR>
5111             <TR>
5112               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/IPARAMVALUE&gt;</TD></TR>
5113             <TR>
5114               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&lt;IPARAMVALUE 
5115                 NAME="PropertyName"&gt;&lt;VALUE&gt;FreeSpace&lt;/VALUE&gt;&lt;/IPARAMVALUE&gt;</TD></TR>
5116             <TR>
5117               <TD>&nbsp;&nbsp; &lt;/IMETHODCALL&gt;</TD></TR>
5118             <TR>
5119               <TD>&nbsp; &lt;/SIMPLEREQ&gt;</TD></TR>
5120             <TR>
5121               <TD>&nbsp;&lt;/MESSAGE&gt;</TD></TR>
5122             <TR>
5123               <TD>&lt;/CIM&gt;</TD></TR></TBODY></TABLE>
5124           <P>The following is an HTTP response to the above request 
5125 karl  1.1 indicating&nbsp;success of the above operation, returning the requested 
5126           value.</P>
5127           <P>
5128           <TABLE class=Example id=TABLE2>
5129             <TBODY>
5130             <TR>
5131               <TD>HTTP/1.1 200 OK</TD></TR>
5132             <TR>
5133               <TD>Content-Type: application/xml; 
5134             charset="utf-8"</TD></TR>
5135             <TR>
5136               <TD>Content-Length: xxxx</TD></TR>
5137             <TR>
5138               <TD>Ext:</TD></TR>
5139             <TR>
5140               <TD>Cache-Control: no-cache</TD></TR>
5141             <TR>
5142               <TD>Man: <A 
5143                 href="http://www.dmtf.org/cim/mapping/http/v1.0" 
5144                 >http://www.dmtf.org/cim/mapping/http/v1.0</A> ; 
5145               ns=73</TD></TR>
5146 karl  1.1   <TR>
5147               <TD>73-CIMOperation: MethodResponse</TD>
5148             <TR>
5149               <TD></TD></TR>
5150             <TR>
5151               <TD>&lt;?xml version="1.0" encoding="utf-8" 
5152             ?&gt;</TD></TR>
5153             <TR>
5154               <TD>&lt;CIM CIMVERSION="2.0" 
5155             DTDVERSION="2.0"&gt;</TD></TR>
5156             <TR>
5157               <TD>&nbsp;&lt;MESSAGE ID="87872" 
5158                 PROTOCOLVERSION="1.0"&gt;</TD></TR>
5159             <TR>
5160               <TD>&nbsp; &lt;SIMPLERSP&gt;</TD></TR>
5161             <TR>
5162               <TD>&nbsp;&nbsp; &lt;IMETHODRESPONSE 
5163                 NAME="GetProperty"&gt;</TD></TR>
5164             <TR>
5165               <TD>&nbsp;&nbsp;&nbsp; &lt;IRETURNVALUE&gt;</TD></TR>
5166             <TR>
5167 karl  1.1     <TD>&nbsp;&nbsp;&nbsp;&nbsp; 
5168                 &lt;VALUE&gt;6752332&lt;/VALUE&gt;</TD></TR>
5169             <TR>
5170               <TD>&nbsp;&nbsp;&nbsp; &lt;/IRETURNVALUE&gt;</TD></TR>
5171             <TR>
5172               <TD>&nbsp;&nbsp; &lt;/IMETHODRESPONSE&gt;</TD></TR>
5173             <TR>
5174               <TD>&nbsp; &lt;/SIMPLERSP&gt;</TD></TR>
5175             <TR>
5176               <TD>&nbsp;&lt;/MESSAGE&gt;</TD></TR>
5177             <TR>
5178               <TD>&lt;/CIM&gt;</TD></TR></TBODY></TABLE>
5179           <P><A href="#top" >Back to contents</A></P>
5180           <H2><A name=SecCreationOfASingleInstanceDefinition>A.10.&nbsp;</A><A name=SecExecutionOfAnExtrinsicMethod>Execution of an Extrinsic Method</A></A></H2>
5181           <P>The following HTTP request illustrates how a client 
5182           would&nbsp;execute the&nbsp;SetPowerState&nbsp;method&nbsp;on the Instance 
5183           MyDisk.DeviceID="C:".</P>
5184           <P>
5185           <TABLE class=Example id=TABLE2>
5186             <TBODY>
5187             <TR>
5188 karl  1.1     <TD>M-POST /cimom HTTP/1.1</TD></TR>
5189             <TR>
5190               <TD>HOST: <A href="http://www.erewhon.com" 
5191                 >www.erewhon.com</A></TD></TR>
5192             <TR>
5193               <TD>Content-Type: application/xml; 
5194             charset="utf-8"</TD></TR>
5195             <TR>
5196               <TD>Content-Length: xxxx</TD></TR>
5197             <TR>
5198               <TD>Man: <A 
5199                 href="http://www.dmtf.org/cim/mapping/http/v1.0" 
5200                 >http://www.dmtf.org/cim/mapping/http/v1.0</A> ; 
5201               ns=73</TD></TR>
5202             <TR>
5203               <TD>73-CIMOperation: MethodCall</TD>
5204             <TR>
5205               <TD>73-CIMMethod: SetPowerState</TD></TR>
5206             <TR>
5207               <TD>73-CIMObject: 
5208             root/cimv2:Win32_LogicalDisk="C:"</TD></TR>
5209 karl  1.1   <TR>
5210               <TD></TD></TR>
5211             <TR>
5212               <TD>&lt;?xml version="1.0" encoding="utf-8" 
5213             ?&gt;</TD></TR>
5214             <TR>
5215               <TD>&lt;CIM CIMVERSION="2.0" 
5216             DTDVERSION="2.0"&gt;</TD></TR>
5217             <TR>
5218               <TD>&nbsp;&lt;MESSAGE ID="87872" 
5219                 PROTOCOLVERSION="1.0"&gt;</TD></TR>
5220             <TR>
5221               <TD>&nbsp; &lt;SIMPLEREQ&gt;</TD></TR>
5222             <TR>
5223               <TD>&nbsp;&nbsp;&nbsp;&lt;METHODCALL 
5224                 NAME="SetPowerState"&gt;</TD></TR>
5225             <TR>
5226               <TD>&nbsp;&nbsp;&nbsp; 
5227           &lt;LOCALINSTANCEPATH&gt;</TD></TR>
5228             <TR>
5229               <TD>&nbsp;&nbsp; &nbsp; 
5230 karl  1.1   &lt;LOCALNAMESPACEPATH&gt;</TD></TR>
5231             <TR>
5232               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;NAMESPACE 
5233                 NAME="root"/&gt;</TD></TR>
5234             <TR>
5235               <TD>&nbsp;&nbsp;&nbsp; &nbsp; &lt;NAMESPACE 
5236                 NAME="myNamespace"/&gt;</TD></TR>
5237             <TR>
5238               <TD>&nbsp; &nbsp;&nbsp; 
5239             &lt;/LOCALNAMESPACEPATH&gt;</TD></TR>
5240             <TR>
5241               <TD>&nbsp;&nbsp;&nbsp;&nbsp; &lt;INSTANCENAME 
5242                 CLASSNAME="MyDisk"&gt;</TD></TR>
5243             <TR>
5244               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;KEYBINDING 
5245                 NAME="C:"&gt;&lt;KEYVALUE&gt;C:&lt;/KEYVALUE&gt;&lt;/KEYBINDING&gt;</TD></TR>
5246             <TR>
5247               <TD 
5248               >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/INSTANCENAME&gt;</TD></TR>
5249             <TR>
5250               <TD>&nbsp;&nbsp;&nbsp; 
5251 karl  1.1   &lt;/LOCALINSTANCEPATH&gt;</TD></TR>
5252             <TR>
5253               <TD>&nbsp;&nbsp;&nbsp; &lt;PARAMVALUE 
5254                 NAME="PowerState"&gt;&lt;VALUE&gt;1&lt;/VALUE&gt;&lt;/PARAMVALUE&gt;</TD></TR>
5255             <TR>
5256               <TD>&nbsp;&nbsp;&nbsp;&nbsp;&lt;PARAMVALUE 
5257                 NAME="Time"&gt;&lt;VALUE&gt;00000001132312.000000:000&lt;/VALUE&gt;&lt;/PARAMVALUE&gt;</TD></TR>
5258             <TR>
5259               <TD>&nbsp;&nbsp;&nbsp;&lt;/METHODCALL&gt;&nbsp;&nbsp; 
5260               </TD></TR>
5261             <TR>
5262               <TD>&nbsp; &lt;/SIMPLEREQ&gt;</TD></TR>
5263             <TR>
5264               <TD>&nbsp;&lt;/MESSAGE&gt;</TD></TR>
5265             <TR>
5266               <TD>&lt;/CIM&gt;</TD></TR></TBODY></TABLE>
5267           <P>The following is an HTTP response to the above request 
5268           indicating&nbsp;success of the above operation.</P>
5269           <P>
5270           <TABLE class=Example id=TABLE2>
5271             <TBODY>
5272 karl  1.1   <TR>
5273               <TD>HTTP/1.1 200 OK</TD></TR>
5274             <TR>
5275               <TD>Content-Type: application/xml; 
5276             charset="utf-8"</TD></TR>
5277             <TR>
5278               <TD>Content-Length: xxxx</TD></TR>
5279             <TR>
5280               <TD>Ext:</TD></TR>
5281             <TR>
5282               <TD>Cache-Control: no-cache</TD></TR>
5283             <TR>
5284               <TD>Man: <A 
5285                 href="http://www.dmtf.org/cim/mapping/http/v1.0" 
5286                 >http://www.dmtf.org/cim/mapping/http/v1.0</A> ; 
5287               ns=73</TD></TR>
5288             <TR>
5289               <TD>73-CIMOperation: MethodResponse</TD>
5290             <TR>
5291               <TD></TD></TR>
5292             <TR>
5293 karl  1.1     <TD>&lt;?xml version="1.0" encoding="utf-8" 
5294             ?&gt;</TD></TR>
5295             <TR>
5296               <TD>&lt;CIM CIMVERSION="2.0" 
5297             DTDVERSION="2.0"&gt;</TD></TR>
5298             <TR>
5299               <TD>&nbsp;&lt;MESSAGE ID="87872" 
5300                 PROTOCOLVERSION="1.0"&gt;</TD></TR>
5301             <TR>
5302               <TD>&nbsp; &lt;SIMPLERSP&gt;</TD></TR>
5303             <TR>
5304               <TD>&nbsp;&nbsp; &lt;METHODRESPONSE 
5305                 NAME="SetPowerState"&gt;</TD></TR>
5306             <TR>
5307               <TD>&nbsp;&nbsp;&nbsp; &lt;RETURNVALUE&gt;</TD></TR>
5308             <TR>
5309               <TD>&nbsp;&nbsp;&nbsp;&nbsp; 
5310               &lt;VALUE&gt;0&lt;/VALUE&gt;</TD></TR>
5311             <TR>
5312               <TD>&nbsp;&nbsp;&nbsp; &lt;/RETURNVALUE&gt;</TD></TR>
5313             <TR>
5314 karl  1.1     <TD>&nbsp;&nbsp; &lt;/METHODRESPONSE&gt;</TD></TR>
5315             <TR>
5316               <TD>&nbsp; &lt;/SIMPLERSP&gt;</TD></TR>
5317             <TR>
5318               <TD>&nbsp;&lt;/MESSAGE&gt;</TD></TR>
5319             <TR>
5320               <TD>&lt;/CIM&gt;</TD></TR></TBODY></TABLE>
5321           <P><A href="#top" >Back to contents</A></P></BODY></HTML>

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2