2.2.3.5 Response

For each Request element that is part of a cell storage service request, there MUST be a corresponding Response element in a cell storage service response. Each Response element MUST contain one or more SubResponse elements.

 <xs:element name="Response">
   <!--Allows for the numbers to be displayed between the SubResponse elements-->
   <xs:complexType mixed="true">
     <xs:sequence minOccurs="1" maxOccurs="unbounded">
       <xs:element name="SubResponse" type="tns:SubResponseElementGenericType" /> 
     </xs:sequence>
     <xs:attribute name="Url" type="xs:string" use="required"/>
     <xs:attribute name="UrlIsEncoded" type="tns:TRUEFALSE" use="required"/>
     <xs:attribute name="RequestToken" type="xs:nonNegativeInteger" use="optional" />
     <xs:attribute name="HealthScore" type="xs:integer" use="required"/>
     <xs:attribute name="ErrorCode" type="tns:GenericErrorCodeTypes" use="optional" />
     <xs:attribute name="ErrorMessage" type="xs:string" use="optional"/>
     <xs:attribute name="SuggestedFileName" type="xs:string" use="optional" />
     <xs:attribute name="ResourceID" type="xs:string" use="optional"/>
  
     <xs:attribute name="IntervalOverride" type="xs:nonNegativeInteger" use="optional"/>
   </xs:complexType>
 </xs:element>

SubResponse: A SubResponseElementGenericType that specifies the response given by the protocol server for the corresponding subrequest requested as part of the SubRequest element. The SubResponseElementGenericType is defined in section 2.2.4.7. The SubResponse element is defined in section 2.2.3.10. The SubRequest element is defined in section 2.2.3.8.

Url: A string that specifies the URL for the file that uniquely identifies the file whose response is being generated. The Url attribute MUST be specified for each Response element.

UrlIsEncoded: A TRUEFALSE value that specifies whether Url is encoded. Set to true if yes; Else false.

RequestToken: A nonnegative integer that specifies the request token that uniquely identifies the Request element whose response is being generated. The Request element is defined in section 2.2.3.2. The one-to-one mapping between the Response element and the Request element MUST be maintained by using the request token. The RequestToken SHOULD be specified for each Response element<11>.

HealthScore: An integer that specifies the server performance health, expressed as an integer ranging from 0 through 10, where a score of 0 specifies excellent server health and a score of 10 specifies very poor server health. The health score provides hints that help the protocol client throttle the sending of cell storage service requests, depending on the server health.

ErrorCode: A GenericErrorCodeTypes that specifies an error code value indicating the type of error that occurred during the processing of the mapping Request element. GenericErrorCodeTypes is defined in section 2.2.5.6. This attribute MUST be present only if any of the following is true:

  • The Url attribute of the corresponding Request element does not exist or is an empty string.<12> (The Url attribute and the Request element are defined in section 2.2.3.2.)

  • An exception occurred during the processing of a subrequest that was not entirely handled by the subrequest processing logic.

ErrorCode attribute MAY<13> be present if the RequestToken attribute of the corresponding Request element is an empty string. (The RequestToken attribute and the Request element are defined in section 2.2.3.2.)

ErrorMessage: A string that specifies a description of the error message and also specifies information about what was expected by the server. This attribute MUST be present when the ErrorCode attribute is present and does not equal "Success".

SuggestedFileName: The suggested filename that the host returns if the ShouldReturnDisambiguatedFileName flag is set on the Request<14>.

ResourceID: A string that represents a GUID which specifies the invariant ResourceID for a file, which uniquely identifies the file whose response is being generated.<15> A ResourceID MUST NOT change over the lifetime of a file, even if the URL of the file changes. The ResourceID attribute SHOULD be present when the UseResourceID attribute is set to true in the corresponding Request element, and SHOULD NOT be present otherwise. If present, the string value MUST NOT be an empty string.

IntervalOverride An unsigned integer that if different than 0 specifies the value that the client MAY use as its request interval.