/// <summary> /// The MarkAsJunk operation marks an item as junk. /// </summary> /// <param name="markAsJunkRequest">Specify a request for a MarkAsJunk operation.</param> /// <returns>A response to MarkAsJunk operation request.</returns> public MarkAsJunkResponseType MarkAsJunk(MarkAsJunkType markAsJunkRequest) { MarkAsJunkResponseType markAsJunkReponse = this.exchangeServiceBinding.MarkAsJunk(markAsJunkRequest); Site.Assert.IsNotNull(markAsJunkReponse, "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.VerifyMarkAsJunkResponse(markAsJunkReponse, this.exchangeServiceBinding.IsSchemaValidated); return(markAsJunkReponse); }
/// <summary> /// Verify the MarkAsJunkResponseType structure. /// </summary> /// <param name="markAsJunkReponse">A MarkAsJunkResponseType instance</param> /// <param name="isSchemaValidated">Indicate whether schema is verified.</param> private void VerifyMarkAsJunkResponse(MarkAsJunkResponseType markAsJunkReponse, bool isSchemaValidated) { Site.Assert.IsTrue(isSchemaValidated, "The schema should be validated."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R1791"); // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R1791 Site.CaptureRequirementIfIsNotNull( markAsJunkReponse, 1791, @"[In MarkAsJunk Operation] The following is the WSDL port type specification of the MarkAsJunk operation. <wsdl:operation name=""MarkAsJunk""> <wsdl:input message=""tns:MarkAsJunkSoapIn""/> <wsdl:output message=""tns:MarkAsJunkSoapOut""/> </wsdl:operation>"); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R1792"); // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R1792 Site.CaptureRequirementIfIsNotNull( markAsJunkReponse, 1792, @"[In MarkAsJunk Operation] The following is the WSDL binding specification of the MarkAsJunk operation <wsdl:operation name=""MarkAsJunk""> <soap:operation soapAction=""http://schemas.microsoft.com/exchange/services/2006/messages/MarkAsJunk""/> <wsdl:input> <soap:header message=""tns:MarkAsJunkSoapIn"" part=""Impersonation"" use=""literal""/> <soap:header message=""tns:MarkAsJunkSoapIn"" part=""MailboxCulture"" use=""literal""/> <soap:header message=""tns:MarkAsJunkSoapIn"" part=""RequestVersion"" use=""literal""/> <soap:body parts=""request"" use=""literal""/> </wsdl:input> <wsdl:output> <soap:body parts=""MarkAsJunkResult"" use=""literal""/> <soap:header message=""tns:MarkAsJunkSoapOut"" part=""ServerVersion"" use=""literal""/> </wsdl:output> </wsdl:operation>"); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R1809"); // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R1809 Site.CaptureRequirementIfIsNotNull( markAsJunkReponse, 1809, @"[In tns:MarkAsJunkSoapOut Message] [The MarkAsJunkSoapOut WSDL message is defined as:] <wsdl:message name=""MarkAsJunkSoapOut""> <wsdl:part name=""MarkAsJunkResult"" element=""tns:MarkAsJunkResponse""/> <wsdl:part name=""ServerVersion"" element=""t:ServerVersionInfo""/> </wsdl:message>"); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R1812"); // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R1812 Site.CaptureRequirementIfIsNotNull( markAsJunkReponse, 1812, @"[In tns:MarkAsJunkSoapOut Message] The type of MarkAsJunkResult is tns:MarkAsJunkResponse (section 3.1.4.6.2.2)."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R1813"); // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R1813 // According to the schema, markAsJunkReponse is the SOAP body of a response message returned by server, this requirement can be verified directly. Site.CaptureRequirement( 1813, @"[In tns:MarkAsJunkSoapOut Message] [The part ""MarkAsJunkResult""] Specifies the SOAP body of the response to a MarkAsJunk operation request."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R1814"); // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R1814 Site.CaptureRequirementIfIsNotNull( this.exchangeServiceBinding.ServerVersionInfoValue, 1814, @"[In tns:MarkAsJunkSoapOut 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_R1815"); // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R1815 // According to the schema, ServerVersion is the SOAP header that contains the server version information, this requirement can be verified directly. Site.CaptureRequirement( 1815, @"[In tns:MarkAsJunkSoapOut Message] [The part ""ServerVersion""] Specifies a SOAP header that identifies the server version for the response to a MarkAsJunk operation request."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R1818"); // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R1818 // MarkAsJunkResponse is the response of MarkAsJunk operation, this requirement can be captured directly. Site.CaptureRequirement( 1818, @"[In Elements] [The element ""MarkAsJunkResponse"" is] The result data for the MarkAsJunk WSDL operation."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R1821"); // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R1821 // MarkAsJunkResponse is the response of MarkAsJunk operation, this requirement can be captured directly. Site.CaptureRequirement( 1821, @"[In m:MarkAsJunkResponse Element] The MarkAsJunkResponse element specifies the response for a MarkAsJunk operation, as specified in section 3.1.4.6."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R1822"); // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R1822 Site.CaptureRequirementIfIsNotNull( markAsJunkReponse, 1822, @"[In m:MarkAsJunkResponse Element] [The MarkAsJunkResponse element is defined as:] <xs:element name=""MarkAsJunkResponse"" type=""m:MarkAsJunkResponseType"" />"); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R1845"); // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R1845 Site.CaptureRequirementIfIsNotNull( markAsJunkReponse, 1845, @"[In m:MarkAsJunkResponseType Complex Type] [The MarkAsJunkResponseType Complex Type is defined as:] <xs:complexType name=""MarkAsJunkResponseType""> <xs:complexContent> <xs:extension base=""m:BaseResponseMessageType"" /> </xs:complexContent> </xs:complexType"); // Verify the BaseResponseMessageType schema. this.VerifyBaseResponseMessageType(markAsJunkReponse); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCORE_R1848"); // Verify MS-OXWSCORE requirement: MS-OXWSCORE_R1848 Site.CaptureRequirementIfIsNotNull( markAsJunkReponse, 1848, @"[In m:MarkAsJunkResponseMessageType Complex Type] [The MarkAsJunkResponseMessageType Complex Type is defined as:] <xs:complexType name=""MarkAsJunkResponseMessageType""> <xs:complexContent> <xs:extension base=""m:ResponseMessageType""> <xs:sequence> <xs:sequence> <xs:element name=""MovedItemId"" type=""t:ItemIdType"" minOccurs=""0"" maxOccurs=""1""/> </xs:sequence> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>"); }