MessagePartCollection Class
Represents a collection of instances of the MessagePart class. This class cannot be inherited.
For a list of all members of this type, see MessagePartCollection Members.
System.Object
System.Collections.CollectionBase
System.Web.Services.Description.ServiceDescriptionBaseCollection
System.Web.Services.Description.MessagePartCollection
[Visual Basic] NotInheritable Public Class MessagePartCollection Inherits ServiceDescriptionBaseCollection [C#] public sealed class MessagePartCollection : ServiceDescriptionBaseCollection [C++] public __gc __sealed class MessagePartCollection : public ServiceDescriptionBaseCollection [JScript] public class MessagePartCollection extends ServiceDescriptionBaseCollection
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Remarks
The MessagePart class corresponds to a Web Services Description Language (WSDL) <part> element enclosed by the <message> element, which is in turn enclosed by the <definitions> root element. For more information about WSDL, see the specification at http://www.w3.org/TR/wsdl/.
Example
[Visual Basic, C#, C++] The following example demonstrates the use of the methods and properties exposed by the MessagePartCollection class.
[Visual Basic] Imports System Imports System.Web.Services.Description Imports System.Collections Imports System.Xml Imports Microsoft.VisualBasic Class MyClass1 Public Shared Sub Main() Console.WriteLine("") Console.WriteLine("MessagePartCollection Sample") Console.WriteLine("============================") Console.WriteLine("") Dim myServiceDescription As ServiceDescription = _ ServiceDescription.Read("MathService.wsdl") ' Get the message collection. Dim myMessageCollection As MessageCollection = _ myServiceDescription.Messages Console.WriteLine("Total Messages in the document = " & _ myServiceDescription.Messages.Count.ToString) Console.WriteLine("") Console.WriteLine("Enumerating PartCollection for each message...") Console.WriteLine("") ' Get the message part collection for each message. Dim i As Integer For i =0 to myMessageCollection.Count-1 Console.WriteLine("Message : " & myMessageCollection(i).Name) ' Get the message part collection. Dim myMessagePartCollection As MessagePartCollection = _ myMessageCollection(i).Parts ' Display the part collection. Dim k As Integer For k = 0 To myMessagePartCollection.Count - 1 Console.WriteLine(ControlChars.Tab & " Part Name : " & _ myMessagePartCollection(k).Name) Console.WriteLine(ControlChars.Tab & " Message Name : " & _ myMessagePartCollection(k).Message.Name) Next k Console.WriteLine("") Next Console.WriteLine("Displaying the array copied from the " & _ "MessagePartCollection for the message AddHttpGetIn.") Dim myLocalMessage As Message = _ myServiceDescription.Messages("AddHttpPostOut") If myMessageCollection.Contains(myLocalMessage) Then Console.WriteLine("Message : " & myLocalMessage.Name) ' Get the message part collection. Dim myMessagePartCollection As MessagePartCollection = _ myLocalMessage.Parts Dim myMessagePart(myMessagePartCollection.Count) As MessagePart ' Copy the MessagePartCollection to an array. myMessagePartCollection.CopyTo(myMessagePart, 0) Dim k As Integer For k = 0 To myMessagePart.Length - 2 Console.WriteLine(ControlChars.Tab & " Part Name : " & _ myMessagePartCollection(k).Name) Next k Console.WriteLine("") End If Console.WriteLine("Checking if message is AddHttpPostOut...") Dim myMessage As Message = myServiceDescription.Messages("AddHttpPostOut") If myMessageCollection.Contains(myMessage) Then ' Get the message part collection. Dim myMessagePartCollection As MessagePartCollection = myMessage.Parts ' Get the part named Body. Dim myMessagePart As MessagePart = myMessage.Parts("Body") If myMessagePartCollection.Contains(myMessagePart) Then ' Get the index of the part named Body. Console.WriteLine("Index of Body in MessagePart collection = " & _ myMessagePartCollection.IndexOf(myMessagePart).ToString) Console.WriteLine("Deleting Body from MessagePart Collection...") myMessagePartCollection.Remove(myMessagePart) If myMessagePartCollection.IndexOf(myMessagePart) = -1 Then Console.WriteLine("MessagePart Body successfully deleted " & _ "from the message AddHttpPostOut.") End If End If End If End Sub 'Main End Class '[MyClass1] [C#] using System; using System.Web.Services.Description; using System.Collections; using System.Xml; class MyClass1 { public static void Main() { Console.WriteLine(""); Console.WriteLine("MessagePartCollection Sample"); Console.WriteLine("============================"); Console.WriteLine(""); ServiceDescription myServiceDescription = ServiceDescription.Read("MathService.wsdl"); // Get the message collection. MessageCollection myMessageCollection = myServiceDescription.Messages; Console.WriteLine("Total Messages in the document = " + myServiceDescription.Messages.Count); Console.WriteLine(""); Console.WriteLine("Enumerating PartCollection for each message..."); Console.WriteLine(""); // Get the message part collection for each message. for(int i =0; i < myMessageCollection.Count; ++i) { Console.WriteLine("Message : " + myMessageCollection[i].Name); // Get the message part collection. MessagePartCollection myMessagePartCollection = myMessageCollection[i].Parts; // Display the part collection. for(int k = 0; k < myMessagePartCollection.Count;k++) { Console.WriteLine("\t Part Name : " + myMessagePartCollection[k].Name); Console.WriteLine("\t Message Name : " + myMessagePartCollection[k].Message.Name); } Console.WriteLine(""); } Console.WriteLine("Displaying the array copied from the " + "MessagePartCollection for the message AddHttpGetIn."); Message myLocalMessage = myServiceDescription.Messages["AddHttpPostOut"]; if (myMessageCollection.Contains(myLocalMessage)) { Console.WriteLine("Message : " + myLocalMessage.Name); // Get the message part collection. MessagePartCollection myMessagePartCollection = myLocalMessage.Parts; MessagePart[] myMessagePart = new MessagePart[myMessagePartCollection.Count]; // Copy the MessagePartCollection to an array. myMessagePartCollection.CopyTo(myMessagePart,0); for(int k = 0; k < myMessagePart.Length; k++) { Console.WriteLine("\t Part Name : " + myMessagePartCollection[k].Name); } Console.WriteLine(""); } Console.WriteLine("Checking if message is AddHttpPostOut..."); Message myMessage = myServiceDescription.Messages["AddHttpPostOut"]; if (myMessageCollection.Contains(myMessage)) { // Get the message part collection. MessagePartCollection myMessagePartCollection = myMessage.Parts; // Get the part named Body. MessagePart myMessagePart = myMessage.Parts["Body"]; if (myMessagePartCollection.Contains(myMessagePart)) { // Get the index of the part named Body. Console.WriteLine("Index of Body in MessagePart collection = " + myMessagePartCollection.IndexOf(myMessagePart)); Console.WriteLine("Deleting Body from MessagePart collection..."); myMessagePartCollection.Remove(myMessagePart); if(myMessagePartCollection.IndexOf(myMessagePart)== -1) { Console.WriteLine("MessagePart Body successfully deleted " + "from the message AddHttpPostOut."); } } } } } [C++] #using <mscorlib.dll> #using <System.Xml.dll> #using <System.Web.Services.dll> using namespace System; using namespace System::Web::Services::Description; using namespace System::Collections; using namespace System::Xml; int main() { Console::WriteLine(S""); Console::WriteLine(S"MessagePartCollection Sample"); Console::WriteLine(S"============================"); Console::WriteLine(S""); ServiceDescription* myServiceDescription = ServiceDescription::Read(S"MathService.wsdl"); // Get the message collection. MessageCollection* myMessageCollection = myServiceDescription->Messages; Console::WriteLine(S"Total Messages in the document = {0}", __box( myServiceDescription->Messages->Count)); Console::WriteLine(S""); Console::WriteLine(S"Enumerating PartCollection for each message..."); Console::WriteLine(S""); // Get the message part collection for each message. for (int i =0; i < myMessageCollection->Count; ++i) { Console::WriteLine(S"Message : {0}", myMessageCollection->Item[i]->Name); // Get the message part collection. MessagePartCollection* myMessagePartCollection = myMessageCollection->Item[i]->Parts; // Display the part collection. for (int k = 0; k < myMessagePartCollection->Count;k++) { Console::WriteLine(S"\t Part Name : {0}", myMessagePartCollection->Item[k]->Name); Console::WriteLine(S"\t Message Name : {0}", myMessagePartCollection->Item[k]->Message->Name); } Console::WriteLine(S""); } Console::WriteLine(S"Displaying the array copied from the "\ S"MessagePartCollection for the message AddHttpGetIn."); Message* myLocalMessage = myServiceDescription->Messages->Item[S"AddHttpPostOut"]; if (myMessageCollection->Contains(myLocalMessage)) { Console::WriteLine(S"Message : {0}", myLocalMessage->Name); // Get the message part collection. MessagePartCollection* myMessagePartCollection = myLocalMessage->Parts; MessagePart* myMessagePart[] = new MessagePart*[myMessagePartCollection->Count]; // Copy the MessagePartCollection to an array. myMessagePartCollection->CopyTo(myMessagePart, 0); for (int k = 0; k < myMessagePart->Length; k++) Console::WriteLine(S"\t Part Name : {0}", myMessagePartCollection->Item[k]->Name); Console::WriteLine(S""); } Console::WriteLine(S"Checking if message is AddHttpPostOut..."); Message* myMessage = myServiceDescription->Messages->Item[S"AddHttpPostOut"]; if (myMessageCollection->Contains(myMessage)) { // Get the mssage part collection. MessagePartCollection* myMessagePartCollection = myMessage->Parts; // Get the part named Body. MessagePart* myMessagePart = myMessage->Parts->Item[S"Body"]; if (myMessagePartCollection->Contains(myMessagePart)) { // Get the part named Body. Console::WriteLine(S"Index of Body in MessagePart collection = {0}", __box( myMessagePartCollection->IndexOf(myMessagePart))); Console::WriteLine(S"Deleting Body from MessagePart collection..."); myMessagePartCollection->Remove(myMessagePart); if (myMessagePartCollection->IndexOf(myMessagePart)== -1) Console::WriteLine(S"MessagePart Body successfully deleted "\ S"from the message AddHttpPostOut."); } } }
[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Namespace: System.Web.Services.Description
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
Assembly: System.Web.Services (in System.Web.Services.dll)
See Also
MessagePartCollection Members | System.Web.Services.Description Namespace | Message