OperationMessageCollection-Klasse
Stellt eine Auflistung von OperationInput-Meldungen und OperationOutput-Meldungen dar, die sich auf einen XML-Webdienst beziehen. Diese Klasse kann nicht geerbt werden.
Namespace: System.Web.Services.Description
Assembly: System.Web.Services (in system.web.services.dll)
Syntax
'Declaration
Public NotInheritable Class OperationMessageCollection
Inherits ServiceDescriptionBaseCollection
'Usage
Dim instance As OperationMessageCollection
public sealed class OperationMessageCollection : ServiceDescriptionBaseCollection
public ref class OperationMessageCollection sealed : public ServiceDescriptionBaseCollection
public final class OperationMessageCollection extends ServiceDescriptionBaseCollection
public final class OperationMessageCollection extends ServiceDescriptionBaseCollection
Hinweise
Eine Instanz dieser Klasse wird durch die Messages-Eigenschaft der übergeordneten Operation zurückgegeben. Als solche kann sie über genau zwei Member verfügen, von denen einer ein OperationInput und der andere ein OperationOutput ist.
Beispiel
Imports System
Imports System.Xml
Imports System.Web.Services
Imports System.Web.Services.Description
Class MyOperationMessageCollectionSample
Shared Sub Main()
Try
Dim myDescription As ServiceDescription = _
ServiceDescription.Read("MathService_input_vb.wsdl")
Dim myPortTypeCollection As PortTypeCollection = _
myDescription.PortTypes
' Get the OperationCollection for the SOAP protocol.
Dim myOperationCollection As OperationCollection = _
myPortTypeCollection(0).Operations
' Get the OperationMessageCollection for the Add operation.
Dim myOperationMessageCollection As OperationMessageCollection = _
myOperationCollection(0).Messages
' Display the Flow, Input, and Output properties.
DisplayFlowInputOutput(myOperationMessageCollection, "Start")
' Get the operation message for the Add operation.
Dim myOperationMessage As OperationMessage = _
myOperationMessageCollection.Item(0)
Dim myInputOperationMessage As OperationMessage = _
CType(New OperationInput(), OperationMessage)
Dim myXmlQualifiedName As _
New XmlQualifiedName("AddSoapIn", myDescription.TargetNamespace)
myInputOperationMessage.Message = myXmlQualifiedName
Dim myCollection(myOperationMessageCollection.Count -1 ) _
As OperationMessage
myOperationMessageCollection.CopyTo(myCollection, 0)
Console.WriteLine("Operation name(s) :")
Dim i As Integer
For i = 0 To myCollection.Length - 1
Console.WriteLine(" " & myCollection(i).Operation.Name)
Next i
' Add the OperationMessage to the collection.
myOperationMessageCollection.Add(myInputOperationMessage)
DisplayFlowInputOutput(myOperationMessageCollection, "Add")
If myOperationMessageCollection.Contains(myOperationMessage) _
= True Then
Dim myIndex As Integer = _
myOperationMessageCollection.IndexOf(myOperationMessage)
Console.WriteLine(" The index of the Add operation " & _
"message in the collection is : " & myIndex.ToString())
End If
myOperationMessageCollection.Remove(myInputOperationMessage)
' Display Flow, Input, and Output after removing.
DisplayFlowInputOutput(myOperationMessageCollection, "Remove")
' Insert the message at index 0 in the collection.
myOperationMessageCollection.Insert(0, myInputOperationMessage)
' Display Flow, Input, and Output after inserting.
DisplayFlowInputOutput(myOperationMessageCollection, "Insert")
myDescription.Write("MathService_new_vb.wsdl")
Catch e As Exception
Console.WriteLine("Exception caught!!!")
Console.WriteLine("Source : " & e.Source.ToString())
Console.WriteLine("Message : " & e.Message.ToString())
End Try
End Sub 'Main
' Displays the properties of the OperationMessageCollection.
Public Shared Sub DisplayFlowInputOutput(myOperationMessageCollection As _
OperationMessageCollection, myOperation As String)
Console.WriteLine("After " & myOperation.ToString() & ":")
Console.WriteLine("Flow : " & _
myOperationMessageCollection.Flow.ToString())
Console.WriteLine("The first occurrence of operation Input " & _
"in the collection {0}" , myOperationMessageCollection.Input)
Console.WriteLine("The first occurrence of operation Output " & _
"in the collection " & myOperationMessageCollection.Output.ToString())
Console.WriteLine()
End Sub 'DisplayFlowInputOutput
End Class 'MyOperationMessageCollectionSample
using System;
using System.Xml;
using System.Web.Services;
using System.Web.Services.Description;
class MyOperationMessageCollectionSample
{
static void Main()
{
try
{
ServiceDescription myDescription =
ServiceDescription.Read("MathService_input_cs.wsdl");
PortTypeCollection myPortTypeCollection =
myDescription.PortTypes;
// Get the OperationCollection for the SOAP protocol.
OperationCollection myOperationCollection =
myPortTypeCollection[0].Operations;
// Get the OperationMessageCollection for the Add operation.
OperationMessageCollection myOperationMessageCollection =
myOperationCollection[0].Messages;
// Display the Flow, Input, and Output properties.
DisplayFlowInputOutput(myOperationMessageCollection, "Start");
// Get the operation message for the Add operation.
OperationMessage myOperationMessage =
myOperationMessageCollection[0];
OperationMessage myInputOperationMessage =
(OperationMessage) new OperationInput();
XmlQualifiedName myXmlQualifiedName = new XmlQualifiedName(
"AddSoapIn", myDescription.TargetNamespace);
myInputOperationMessage.Message = myXmlQualifiedName;
OperationMessage[] myCollection =
new OperationMessage[myOperationMessageCollection.Count];
myOperationMessageCollection.CopyTo(myCollection, 0);
Console.WriteLine("Operation name(s) :");
for (int i = 0; i < myCollection.Length ; i++)
{
Console.WriteLine(" " + myCollection[i].Operation.Name);
}
// Add the OperationMessage to the collection.
myOperationMessageCollection.Add(myInputOperationMessage);
DisplayFlowInputOutput(myOperationMessageCollection, "Add");
if(myOperationMessageCollection.Contains(myOperationMessage)
== true )
{
int myIndex =
myOperationMessageCollection.IndexOf(myOperationMessage);
Console.WriteLine(" The index of the Add operation " +
"message in the collection is : " + myIndex);
}
myOperationMessageCollection.Remove(myInputOperationMessage);
// Display Flow, Input, and Output after removing.
DisplayFlowInputOutput(myOperationMessageCollection, "Remove");
// Insert the message at index 0 in the collection.
myOperationMessageCollection.Insert(0, myInputOperationMessage);
// Display Flow, Input, and Output after inserting.
DisplayFlowInputOutput(myOperationMessageCollection, "Insert");
myDescription.Write("MathService_new_cs.wsdl");
}
catch(Exception e)
{
Console.WriteLine("Exception caught!!!");
Console.WriteLine("Source : " + e.Source);
Console.WriteLine("Message : " + e.Message);
}
}
// Displays the properties of the OperationMessageCollection.
public static void DisplayFlowInputOutput( OperationMessageCollection
myOperationMessageCollection, string myOperation)
{
Console.WriteLine("After " + myOperation + ":");
Console.WriteLine("Flow : " + myOperationMessageCollection.Flow);
Console.WriteLine("The first occurrence of operation Input " +
"in the collection " + myOperationMessageCollection.Input);
Console.WriteLine("The first occurrence of operation Output " +
"in the collection " + myOperationMessageCollection.Output);
Console.WriteLine();
}
}
#using <System.dll>
#using <System.Web.Services.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::Xml;
using namespace System::Web::Services;
using namespace System::Web::Services::Description;
// Displays the properties of the OperationMessageCollection.
void DisplayFlowInputOutput( OperationMessageCollection^ myOperationMessageCollection, String^ myOperation )
{
Console::WriteLine( "After {0}:", myOperation );
Console::WriteLine( "Flow : {0}", myOperationMessageCollection->Flow );
Console::WriteLine( "The first occurrence of operation Input in the collection {0}", myOperationMessageCollection->Input );
Console::WriteLine( "The first occurrence of operation Output in the collection {0}", myOperationMessageCollection->Output );
Console::WriteLine();
}
int main()
{
try
{
ServiceDescription^ myDescription = ServiceDescription::Read( "MathService_input_cs.wsdl" );
PortTypeCollection^ myPortTypeCollection = myDescription->PortTypes;
// Get the OperationCollection for the SOAP protocol.
OperationCollection^ myOperationCollection = myPortTypeCollection[ 0 ]->Operations;
// Get the OperationMessageCollection for the Add operation.
OperationMessageCollection^ myOperationMessageCollection = myOperationCollection[ 0 ]->Messages;
// Display the Flow, Input, and Output properties.
DisplayFlowInputOutput( myOperationMessageCollection, "Start" );
// Get the operation message for the Add operation.
OperationMessage^ myOperationMessage = myOperationMessageCollection[ 0 ];
OperationMessage^ myInputOperationMessage = dynamic_cast<OperationMessage^>(gcnew OperationInput);
XmlQualifiedName^ myXmlQualifiedName = gcnew XmlQualifiedName( "AddSoapIn",myDescription->TargetNamespace );
myInputOperationMessage->Message = myXmlQualifiedName;
array<OperationMessage^>^myCollection = gcnew array<OperationMessage^>(myOperationMessageCollection->Count);
myOperationMessageCollection->CopyTo( myCollection, 0 );
Console::WriteLine( "Operation name(s) :" );
for ( int i = 0; i < myCollection->Length; i++ )
{
Console::WriteLine( " {0}", myCollection[ i ]->Operation->Name );
}
// Add the OperationMessage to the collection.
myOperationMessageCollection->Add( myInputOperationMessage );
DisplayFlowInputOutput( myOperationMessageCollection, "Add" );
if ( myOperationMessageCollection->Contains( myOperationMessage ) == true )
{
int myIndex = myOperationMessageCollection->IndexOf( myOperationMessage );
Console::WriteLine( " The index of the Add operation message in the collection is : {0}", myIndex );
}
myOperationMessageCollection->Remove( myInputOperationMessage );
// Display Flow, Input, and Output after removing.
DisplayFlowInputOutput( myOperationMessageCollection, "Remove" );
// Insert the message at index 0 in the collection.
myOperationMessageCollection->Insert( 0, myInputOperationMessage );
// Display Flow, Input, and Output after inserting.
DisplayFlowInputOutput( myOperationMessageCollection, "Insert" );
myDescription->Write( "MathService_new_cs.wsdl" );
}
catch ( Exception^ e )
{
Console::WriteLine( "Exception caught!!!" );
Console::WriteLine( "Source : {0}", e->Source );
Console::WriteLine( "Message : {0}", e->Message );
}
}
import System.*;
import System.Xml.*;
import System.Web.Services.*;
import System.Web.Services.Description.*;
class MyOperationMessageCollectionSample
{
public static void main(String[] args)
{
try {
ServiceDescription myDescription = ServiceDescription.
Read("MathService_input_jsl.wsdl");
PortTypeCollection myPortTypeCollection = myDescription.
get_PortTypes();
// Get the OperationCollection for the SOAP protocol.
OperationCollection myOperationCollection = myPortTypeCollection.
get_Item(0).get_Operations();
// Get the OperationMessageCollection for the Add operation.
OperationMessageCollection myOperationMessageCollection =
myOperationCollection.get_Item(0).get_Messages();
// Display the Flow, Input, and Output properties.
DisplayFlowInputOutput(myOperationMessageCollection, "Start");
// Get the operation message for the Add operation.
OperationMessage myOperationMessage = myOperationMessageCollection.
get_Item(0);
OperationMessage myInputOperationMessage = (OperationMessage)
new OperationInput();
XmlQualifiedName myXmlQualifiedName = new XmlQualifiedName(
"AddSoapIn", myDescription.get_TargetNamespace());
myInputOperationMessage.set_Message(myXmlQualifiedName);
OperationMessage myCollection[] =
new OperationMessage[myOperationMessageCollection.get_Count()];
myOperationMessageCollection.CopyTo(myCollection, 0);
Console.WriteLine("Operation name(s) :");
for (int i = 0; i < myCollection.get_Length(); i++) {
Console.WriteLine(" " + myCollection[i].get_Operation().
get_Name());
}
// Add the OperationMessage to the collection.
myOperationMessageCollection.Add(myInputOperationMessage);
DisplayFlowInputOutput(myOperationMessageCollection, "Add");
if (myOperationMessageCollection.Contains(myOperationMessage)
== true) {
int myIndex = myOperationMessageCollection.
IndexOf(myOperationMessage);
Console.WriteLine(" The index of the Add operation "
+ "message in the collection is : " + myIndex);
}
myOperationMessageCollection.Remove(myInputOperationMessage);
// Display Flow, Input, and Output after removing.
DisplayFlowInputOutput(myOperationMessageCollection, "Remove");
// Insert the message at index 0 in the collection.
myOperationMessageCollection.Insert(0, myInputOperationMessage);
// Display Flow, Input, and Output after inserting.
DisplayFlowInputOutput(myOperationMessageCollection, "Insert");
myDescription.Write("MathService_new_jsl.wsdl");
}
catch (System.Exception e) {
Console.WriteLine("Exception caught!!!");
Console.WriteLine("Source : " + e.get_Source());
Console.WriteLine("Message : " + e.get_Message());
}
} //main
// Displays the properties of the OperationMessageCollection.
public static void DisplayFlowInputOutput(
OperationMessageCollection myOperationMessageCollection,
String myOperation)
{
Console.WriteLine("After " + myOperation + ":");
Console.WriteLine("Flow : " + myOperationMessageCollection.get_Flow());
Console.WriteLine("The first occurrence of operation Input "
+ "in the collection " + myOperationMessageCollection.get_Input());
Console.WriteLine("The first occurrence of operation Output "
+ "in the collection " + myOperationMessageCollection.get_Output());
Console.WriteLine();
} //DisplayFlowInputOutput
} //MyOperationMessageCollectionSample
Vererbungshierarchie
System.Object
System.Collections.CollectionBase
System.Web.Services.Description.ServiceDescriptionBaseCollection
System.Web.Services.Description.OperationMessageCollection
Threadsicherheit
Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Plattformen
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
OperationMessageCollection-Member
System.Web.Services.Description-Namespace