This documentation is archived and is not being maintained.
PortType.Operations Property
.NET Framework 1.1
Gets the collection of Operation instances defined by the PortType.
[Visual Basic] Public ReadOnly Property Operations As OperationCollection [C#] public OperationCollection Operations {get;} [C++] public: __property OperationCollection* get_Operations(); [JScript] public function get Operations() : OperationCollection;
Property Value
Example
[Visual Basic] Imports System Imports System.Web.Services.Description Imports System.Xml Imports Microsoft.VisualBasic Class MyPortTypeClass Public Shared Sub Main() Try Dim myPortTypeCollection As PortTypeCollection Dim myServiceDescription As ServiceDescription = _ ServiceDescription.Read("MathService_VB.wsdl") myPortTypeCollection = myServiceDescription.PortTypes Dim noOfPortTypes As Integer = myServiceDescription.PortTypes.Count Console.WriteLine( _ ControlChars.Newline & "Total number of PortTypes : " & _ noOfPortTypes.ToString()) Dim myPortType As PortType = myPortTypeCollection("MathServiceSoap") myPortTypeCollection.Remove(myPortType) ' Create a new PortType. Dim myNewPortType As New PortType() myNewPortType.Name = "MathServiceSoap" Dim myOperationCollection As OperationCollection = _ myServiceDescription.PortTypes(0).Operations Dim i As Integer Dim inputMsg As String Dim outputMsg As String For i = 0 To myOperationCollection.Count - 1 inputMsg = myOperationCollection(i).Name & "SoapIn" outputMsg = myOperationCollection(i).Name & "SoapOut" Console.WriteLine(" Operation = " & myOperationCollection(i).Name) myNewPortType.Operations.Add( _ CreateOperation(myOperationCollection(i).Name, inputMsg, _ outputMsg, myServiceDescription.TargetNamespace)) Next i ' Add the PortType to the collection. myPortTypeCollection.Add(myNewPortType) noOfPortTypes = myServiceDescription.PortTypes.Count Console.WriteLine( _ ControlChars.Newline & "Total number of PortTypes : " & _ noOfPortTypes.ToString()) myServiceDescription.Write("MathService_New.wsdl") Catch e As Exception Console.WriteLine("Exception:" + e.Message.ToString()) End Try End Sub 'Main Public Shared Function CreateOperation(operationName As String, inputMessage As String, _ outputMessage As String, targetNamespace As String) As Operation Dim myOperation As New Operation() myOperation.Name = operationName Dim input As OperationMessage = CType(New OperationInput(), OperationMessage) input.Message = New XmlQualifiedName(inputMessage, targetNamespace) Dim output As OperationMessage = CType(New OperationOutput(), OperationMessage) output.Message = New XmlQualifiedName(outputMessage, targetNamespace) myOperation.Messages.Add(input) myOperation.Messages.Add(output) Return myOperation End Function 'CreateOperation End Class 'MyPortTypeClass [C#] using System; using System.Web.Services.Description; using System.Xml; class MyPortTypeClass { public static void Main() { try { PortTypeCollection myPortTypeCollection; ServiceDescription myServiceDescription = ServiceDescription.Read("MathService_CS.wsdl"); myPortTypeCollection = myServiceDescription.PortTypes; int noOfPortTypes = myServiceDescription.PortTypes.Count; Console.WriteLine("\nTotal number of PortTypes : " + noOfPortTypes); PortType myPortType = myPortTypeCollection["MathServiceSoap"]; myPortTypeCollection.Remove(myPortType); // Create a new PortType. PortType myNewPortType = new PortType(); myNewPortType.Name = "MathServiceSoap"; OperationCollection myOperationCollection = myServiceDescription.PortTypes[0].Operations; string inputMsg,outputMsg; for(int i = 0; i < myOperationCollection.Count; i++) { inputMsg = myOperationCollection[i].Name + "SoapIn"; outputMsg = myOperationCollection[i].Name + "SoapOut"; Console.WriteLine(" Operation = " + myOperationCollection[i].Name); myNewPortType.Operations.Add( CreateOperation(myOperationCollection[i].Name, inputMsg, outputMsg, myServiceDescription.TargetNamespace)); } // Add the PortType to the collection. myPortTypeCollection.Add(myNewPortType); noOfPortTypes = myServiceDescription.PortTypes.Count; Console.WriteLine("\nTotal number of PortTypes : " + noOfPortTypes); myServiceDescription.Write("MathService_New.wsdl"); } catch(Exception e) { Console.WriteLine("Exception:" + e.Message); } } public static Operation CreateOperation(string operationName, string inputMessage,string outputMessage,string targetNamespace) { Operation myOperation = new Operation(); myOperation.Name = operationName; OperationMessage input = (OperationMessage) new OperationInput(); input.Message = new XmlQualifiedName(inputMessage, targetNamespace); OperationMessage output = (OperationMessage) new OperationOutput(); output.Message = new XmlQualifiedName(outputMessage, targetNamespace); myOperation.Messages.Add(input); myOperation.Messages.Add(output); return myOperation; } } [C++] #using <mscorlib.dll> #using <System.Xml.dll> #using <System.Web.Services.dll> #using <System.dll> using namespace System; using namespace System::Web::Services::Description; using namespace System::Xml; Operation* CreateOperation(String* operationName, String* inputMessage,String* outputMessage,String* targetNamespace) { Operation* myOperation = new Operation(); myOperation->Name = operationName; OperationMessage* input = dynamic_cast<OperationMessage*> (new OperationInput()); input->Message = new XmlQualifiedName(inputMessage, targetNamespace); OperationMessage* output = dynamic_cast<OperationMessage*> (new OperationOutput()); output->Message = new XmlQualifiedName(outputMessage, targetNamespace); myOperation->Messages->Add(input); myOperation->Messages->Add(output); return myOperation; } int main() { try { PortTypeCollection* myPortTypeCollection; ServiceDescription* myServiceDescription = ServiceDescription::Read(S"MathService_CS.wsdl"); myPortTypeCollection = myServiceDescription->PortTypes; int noOfPortTypes = myServiceDescription->PortTypes->Count; Console::WriteLine(S"\nTotal number of PortTypes : {0}", __box(noOfPortTypes)); PortType* myPortType = myPortTypeCollection->Item[S"MathServiceSoap"]; myPortTypeCollection->Remove(myPortType); // Create a new PortType. PortType* myNewPortType = new PortType(); myNewPortType->Name = S"MathServiceSoap"; OperationCollection* myOperationCollection = myServiceDescription->PortTypes->Item[0]->Operations; String* inputMsg; String* outputMsg; for(int i = 0; i < myOperationCollection->Count; i++) { inputMsg = String::Concat( myOperationCollection->Item[i]->Name, S"SoapIn" ); outputMsg = String::Concat( myOperationCollection->Item[i]->Name, S"SoapOut" ); Console::WriteLine(S" Operation = {0}", myOperationCollection->Item[i]->Name); myNewPortType->Operations->Add( CreateOperation(myOperationCollection->Item[i]->Name, inputMsg, outputMsg, myServiceDescription->TargetNamespace)); } // Add the PortType to the collection. myPortTypeCollection->Add(myNewPortType); noOfPortTypes = myServiceDescription->PortTypes->Count; Console::WriteLine(S"\nTotal number of PortTypes : {0}", __box(noOfPortTypes)); myServiceDescription->Write(S"MathService_New.wsdl"); } catch(Exception* e) { Console::WriteLine(S"Exception:{0}", e->Message); } }
[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
Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
See Also
PortType Class | PortType Members | System.Web.Services.Description Namespace
Show: