Operation-Klasse
Stellt eine abstrakte Definition einer durch den XML-Webdienst unterstützten Aktion bereit. 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 Operation
Inherits NamedItem
'Usage
Dim instance As Operation
public sealed class Operation : NamedItem
public ref class Operation sealed : public NamedItem
public final class Operation extends NamedItem
public final class Operation extends NamedItem
Hinweise
Die Operation-Klasse entspricht dem WSDL-operation-Element (Web Services Description Language), das vom portType-Element eingeschlossen wird. Weitere Informationen über WSDL finden Sie in der Spezifikation unter http://www.w3.org/TR/wsdl/.
Beispiel
Im folgenden Beispiel wird eine typische Verwendung der Operation-Klasse veranschaulicht. Im Beispiel wird eine ServiceDescription akzeptiert, die keinen PortType besitzt, der das HTTP-POST-Protokoll unterstützt. Es wird eine PortType-Instanz hinzugefügt, die POST unterstützt, und ein neuer WSDL-Vertrag geschrieben.
Imports System
Imports System.Web.Services.Description
Imports System.Collections
Imports System.Xml
Class MyOperationClass
Public Shared Sub Main()
Dim myDescription As ServiceDescription = ServiceDescription.Read("Operation_5_Input_VB.wsdl")
' Create a 'PortType' object.
Dim myPortType As New PortType()
myPortType.Name = "OperationServiceHttpPost"
Dim myOperation As Operation = CreateOperation("AddNumbers", "s0:AddNumbersHttpPostIn", _
"s0:AddNumbersHttpPostOut")
myPortType.Operations.Add(myOperation)
' Get the PortType of the Operation.
Dim myPort As PortType = myOperation.PortType
Console.WriteLine( _
"The port type of the operation is: " & myPort.Name)
' Add the 'PortType's to 'PortTypeCollection' of 'ServiceDescription'.
myDescription.PortTypes.Add(myPortType)
' Write the 'ServiceDescription' as a WSDL file.
myDescription.Write("Operation_5_Output_VB.wsdl")
Console.WriteLine("WSDL file with name 'Operation_5_Output_VB.wsdl'" + _
"file created Successfully")
End Sub 'Main
Public Shared Function CreateOperation(myOperationName As String, myInputMesg As String, _
myOutputMesg As String) As Operation
' Create an Operation.
Dim myOperation As New Operation()
myOperation.Name = myOperationName
Dim myInput As OperationMessage = _
CType(New OperationInput(), OperationMessage)
myInput.Message = New XmlQualifiedName(myInputMesg)
Dim myOutput As OperationMessage = _
CType(New OperationOutput(), OperationMessage)
myOutput.Message = New XmlQualifiedName(myOutputMesg)
' Add messages to the OperationMessageCollection.
myOperation.Messages.Add(myInput)
myOperation.Messages.Add(myOutput)
Console.WriteLine("Operation name is: " & myOperation.Name)
Return myOperation
End Function 'CreateOperation
End Class 'MyOperationClass
using System;
using System.Web.Services.Description;
using System.Collections;
using System.Xml;
class MyOperationClass
{
public static void Main()
{
ServiceDescription myDescription = ServiceDescription.Read("Operation_5_Input_CS.wsdl");
// Create a 'PortType' object.
PortType myPortType = new PortType();
myPortType.Name = "OperationServiceHttpPost";
Operation myOperation = CreateOperation
("AddNumbers","s0:AddNumbersHttpPostIn","s0:AddNumbersHttpPostOut");
myPortType.Operations.Add(myOperation);
// Get the PortType of the Operation.
PortType myPort = myOperation.PortType;
Console.WriteLine(
"The port type of the operation is: " + myPort.Name);
// Add the 'PortType's to 'PortTypeCollection' of 'ServiceDescription'.
myDescription.PortTypes.Add(myPortType);
// Write the 'ServiceDescription' as a WSDL file.
myDescription.Write("Operation_5_Output_CS.wsdl");
Console.WriteLine("WSDL file with name 'Operation_5_Output_CS.wsdl' file created Successfully");
}
public static Operation CreateOperation(string myOperationName,string myInputMesg,string myOutputMesg)
{
// Create an Operation.
Operation myOperation = new Operation();
myOperation.Name = myOperationName;
OperationMessage myInput = (OperationMessage)new OperationInput();
myInput.Message = new XmlQualifiedName(myInputMesg);
OperationMessage myOutput = (OperationMessage)new OperationOutput();
myOutput.Message = new XmlQualifiedName(myOutputMesg);
// Add messages to the OperationMessageCollection.
myOperation.Messages.Add(myInput);
myOperation.Messages.Add(myOutput);
Console.WriteLine("Operation name is: " + myOperation.Name);
return myOperation;
}
}
#using <System.Xml.dll>
#using <System.Web.Services.dll>
#using <System.dll>
using namespace System;
using namespace System::Web::Services::Description;
using namespace System::Collections;
using namespace System::Xml;
Operation^ CreateOperation( String^ myOperationName, String^ myInputMesg, String^ myOutputMesg )
{
// Create an Operation.
Operation^ myOperation = gcnew Operation;
myOperation->Name = myOperationName;
OperationMessage^ myInput = dynamic_cast<OperationMessage^>(gcnew OperationInput);
myInput->Message = gcnew XmlQualifiedName( myInputMesg );
OperationMessage^ myOutput = dynamic_cast<OperationMessage^>(gcnew OperationOutput);
myOutput->Message = gcnew XmlQualifiedName( myOutputMesg );
// Add messages to the OperationMessageCollection.
myOperation->Messages->Add( myInput );
myOperation->Messages->Add( myOutput );
Console::WriteLine( "Operation name is: {0}", myOperation->Name );
return myOperation;
}
int main()
{
ServiceDescription^ myDescription = ServiceDescription::Read( "Operation_5_Input_CS.wsdl" );
// Create a 'PortType' object.
PortType^ myPortType = gcnew PortType;
myPortType->Name = "OperationServiceHttpPost";
Operation^ myOperation = CreateOperation( "AddNumbers", "s0:AddNumbersHttpPostIn", "s0:AddNumbersHttpPostOut" );
myPortType->Operations->Add( myOperation );
// Get the PortType of the Operation.
PortType^ myPort = myOperation->PortType;
Console::WriteLine( "The port type of the operation is: {0}", myPort->Name );
// Add the 'PortType's to 'PortTypeCollection' of 'ServiceDescription'.
myDescription->PortTypes->Add( myPortType );
// Write the 'ServiceDescription' as a WSDL file.
myDescription->Write( "Operation_5_Output_CS.wsdl" );
Console::WriteLine( "WSDL file with name 'Operation_5_Output_CS.wsdl' file created Successfully" );
}
import System.*;
import System.Web.Services.Description.*;
import System.Collections.*;
import System.Xml.*;
class MyOperationClass
{
public static void main(String[] args)
{
ServiceDescription myDescription = ServiceDescription.
Read("Operation_5_Input_JSL.wsdl");
// Create a 'PortType' object.
PortType myPortType = new PortType();
myPortType.set_Name("OperationServiceHttpPost");
Operation myOperation = CreateOperation("AddNumbers",
"s0:AddNumbersHttpPostIn", "s0:AddNumbersHttpPostOut");
myPortType.get_Operations().Add(myOperation);
// Get the PortType of the Operation.
PortType myPort = myOperation.get_PortType();
Console.WriteLine("The port type of the operation is: "
+ myPort.get_Name());
// Add the 'PortType's to 'PortTypeCollection' of 'ServiceDescription'.
myDescription.get_PortTypes().Add(myPortType);
// Write the 'ServiceDescription' as a WSDL file.
myDescription.Write("Operation_5_Output_JSL.wsdl");
Console.WriteLine("WSDL file with name 'Operation_5_Output_JSL.wsdl' "
+ "file created Successfully");
} //main
public static Operation CreateOperation(String myOperationName,
String myInputMesg, String myOutputMesg)
{
// Create an Operation.
Operation myOperation = new Operation();
myOperation.set_Name(myOperationName);
OperationMessage myInput = (OperationMessage)new OperationInput();
myInput.set_Message(new XmlQualifiedName(myInputMesg));
OperationMessage myOutput = (OperationMessage)new OperationOutput();
myOutput.set_Message(new XmlQualifiedName(myOutputMesg));
// Add messages to the OperationMessageCollection.
myOperation.get_Messages().Add(myInput);
myOperation.get_Messages().Add(myOutput);
Console.WriteLine("Operation name is: " + myOperation.get_Name());
return myOperation;
} //CreateOperation
} //MyOperationClass
Vererbungshierarchie
System.Object
System.Web.Services.Description.DocumentableItem
System.Web.Services.Description.NamedItem
System.Web.Services.Description.Operation
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
Operation-Member
System.Web.Services.Description-Namespace
PortType