MessagePartCollection クラス
MessagePart クラスのインスタンスのコレクションを表します。このクラスは継承できません。
この型のすべてのメンバの一覧については、MessagePartCollection メンバ を参照してください。
System.Object
System.Collections.CollectionBase
System.Web.Services.Description.ServiceDescriptionBaseCollection
System.Web.Services.Description.MessagePartCollection
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
スレッドセーフ
この型の public static (Visual Basicでは Shared) のすべてのメンバは、マルチスレッド操作で安全に使用できます。インスタンスのメンバの場合は、スレッドセーフであるとは限りません。
解説
MessagePart クラスは、 <message> 要素で囲まれた WSDL (Web Services Description Language) <part> 要素に対応しています。さらに、この要素は <definitions> ルート要素によって囲まれます。WSDL の詳細については、http://www.w3.org/TR/wsdl/ の仕様を参照してください。
使用例
[Visual Basic, C#, C++] MessagePartCollection クラスによって公開されるメソッドとプロパティを使用する例を次に示します。
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] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
名前空間: System.Web.Services.Description
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
アセンブリ: System.Web.Services (System.Web.Services.dll 内)
参照
MessagePartCollection メンバ | System.Web.Services.Description 名前空間 | Message