/// <summary> /// Mark all items in a folder as read. /// </summary> /// <param name="markAllItemAsReadRequest">Specify a request to mark all items as read.</param> /// <returns>A response to MarkAllItemsAsRead operation request.</returns> public MarkAllItemsAsReadResponseType MarkAllItemsAsRead(MarkAllItemsAsReadType markAllItemAsReadRequest) { MarkAllItemsAsReadResponseType markAllItemsAsReadResponse = this.exchangeServiceBinding.MarkAllItemsAsRead(markAllItemAsReadRequest); Site.Assert.IsNotNull(markAllItemsAsReadResponse, "If the operation is successful, the response should not be null."); // SOAP version is set to 1.1, if a response can be received from server, then it means SOAP 1.1 is supported. this.VerifySoapVersion(); // Verify transport type related requirement. this.VerifyTransportType(); this.VerifyServerVersionInfo(this.exchangeServiceBinding.ServerVersionInfoValue, this.exchangeServiceBinding.IsSchemaValidated); this.VerifyMarkAllItemsAsReadResponse(markAllItemsAsReadResponse, this.exchangeServiceBinding.IsSchemaValidated); return(markAllItemsAsReadResponse); }
/// <summary> /// Verify the MarkAllItemsAsReadResponseTypes structure. /// </summary> /// <param name="markAllItemsAsReadResponseType">A MarkAllItemsAsReadResponseType instance.</param> /// <param name="isSchemaValidated">Indicate whether schema is verified.</param> private void VerifyMarkAllItemsAsReadResponse(MarkAllItemsAsReadResponseType markAllItemsAsReadResponseType, bool isSchemaValidated) { Site.Assert.IsTrue(isSchemaValidated, "The schema should be validated."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R1168"); // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R1168 Site.CaptureRequirementIfIsNotNull( markAllItemsAsReadResponseType, 1168, @"[In MarkAllItemsAsRead Operation] The following is the WSDL port type specification for the MarkAllItemsAsRead operation: <wsdl:operation name=""MarkAllItemsAsRead""> <wsdl:input message=""tns:MarkAllItemsAsReadSoapIn""/> <wsdl:output message=""tns:MarkAllItemsAsReadSoapOut""/> </wsdl:operation>"); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R1170"); // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R1170 Site.CaptureRequirementIfIsNotNull( markAllItemsAsReadResponseType, 1170, @"[In MarkAllItemsAsRead Operation] The following is the WSDL binding specification for the MarkAllItemsAsRead operation: <wsdl:operation name=""MarkAllItemsAsRead""> <soap:operation soapAction=""http://schemas.microsoft.com/exchange/services/2006/messages/MarkAllItemsAsRead""/> <wsdl:input> <soap:header message=""tns:MarkAllItemsAsReadSoapIn"" part=""Impersonation"" use=""literal""/> <soap:header message=""tns:MarkAllItemsAsReadSoapIn"" part=""MailboxCulture"" use=""literal""/> <soap:header message=""tns:MarkAllItemsAsReadSoapIn"" part=""RequestVersion"" use=""literal""/> <soap:body parts=""request"" use=""literal""/> </wsdl:input> <wsdl:output> <soap:body parts=""MarkAllItemsAsReadResult"" use=""literal""/> <soap:header message=""tns:MarkAllItemsAsReadSoapOut"" part=""ServerVersion"" use=""literal""/> </wsdl:output> </wsdl:operation>"); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R1187"); // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R1187 Site.CaptureRequirementIfIsNotNull( markAllItemsAsReadResponseType, 1187, @"[In tns:MarkAllItemsAsReadSoapOut Message] The message [MarkAllItemsAsReadSoapOut] is defined as follow: <wsdl:message name=""MarkAllItemsAsReadSoapOut""> <wsdl:part name=""MarkAllItemsAsReadResult"" element=""tns:MarkAllItemsAsReadResponse""/> <wsdl:part name=""ServerVersion"" element=""t:ServerVersionInfo""/> </wsdl:message>"); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R1201"); // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R1201 Site.CaptureRequirementIfIsNotNull( markAllItemsAsReadResponseType, 1201, @"[In m:MarkAllItemsAsReadResponse Element] The element [MarkAllItemsAsReadResponse] is defined as follow: <xs:element name=""MarkAllItemsAsReadResponse"" type=""m:MarkAllItemsAsReadResponseType""/>"); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R1213"); // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R1213 Site.CaptureRequirementIfIsNotNull( markAllItemsAsReadResponseType, 1213, @"[In m:MarkAllItemsAsReadResponseType Complex Type] The complex type [MarkAllItemsAsReadResponseType] is defined as follow: <xs:complexType name=""MarkAllItemsAsReadResponseType""> <xs:complexContent> <xs:extension base=""m:BaseResponseMessageType""/> </xs:complexContent> </xs:complexType>"); // Verify the BaseResponseMessageType schema. this.VerifyBaseResponseMessageType(markAllItemsAsReadResponseType); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R1442"); // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R1442 Site.CaptureRequirementIfIsNotNull( markAllItemsAsReadResponseType, 1442, @"[In tns:MarkAllItemsAsReadSoapOut Message] The type of MarkAllItemsAsReadResult is tns:MarkAllItemsAsReadResponse (section 3.1.4.5.2.2)."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R1190"); // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R1190 // According to the schema, markAllItemsAsReadResponseType is the SOAP body of a response message returned by server, // this requirement can be verified directly. Site.CaptureRequirement( 1190, @"[In tns:MarkAllItemsAsReadSoapOut Message] [The part name ""MarkAllItemsAsReadResult""] Specifies the SOAP body of a response message."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R1443"); // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R1443 Site.CaptureRequirementIfIsNotNull( this.exchangeServiceBinding.ServerVersionInfoValue, 1443, @"[In tns:MarkAllItemsAsReadSoapOut Message] The type of ServerVersion is t:ServerVersionInfo ([MS-OXWSCDATA] section 2.2.5.10)."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R1191"); // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R1191 // According to the schema, ServerVersion is the SOAP header that contains the server version information, // this requirement can be verified directly. Site.CaptureRequirement( 1191, @"[In tns:MarkAllItemsAsReadSoapOut Message] [The part name ""ServerVersion""] Specifies a SOAP header that identifies the server version for the response to a MarkAllItemsAsRead operation request."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R1195"); // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R1195 // This requirement can be captured directly, since MarkAllItemsAsReadResponse is the response of a MarkAllItemsAsRead operation request. Site.CaptureRequirement( 1195, @"[In Elements] [The element ""MarkAllItemsAsReadResponse""] Specifies a response to a MarkAllItemsAsRead operation request."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R1200"); // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R1200 // The request of MarkAllItemsAsRead operation is formed according to schema // And the response of MarkAllItemsAsRead operation is returned by server according to schema // This requirement can be verified directly. Site.CaptureRequirement( 1200, @"[In m:MarkAllItemsAsReadResponse Element] The MarkAllItemsAsReadResponse element specifies a response to a MarkAllItemsAsRead operation request."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R1157"); // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R1157 // The request of MarkAllItemsAsRead operation is formed according to schema // And the response of MarkAllItemsAsRead operation is returned by server according to schema // This requirement can be verified directly. Site.CaptureRequirement( 1157, @"[In Message Processing Events and Sequencing Rules] [The operation ""MarkAllItemsAsRead""] Marks all the items in a folder as read."); }