PortType.Operations Property

Gets the collection of Operation instances defined by the PortType.

Namespace: System.Web.Services.Description
Assembly: System.Web.Services (in system.web.services.dll)

public:
property OperationCollection^ Operations {
	OperationCollection^ get ();
}
/** @property */
public OperationCollection get_Operations ()

public function get Operations () : OperationCollection

Not applicable.

Property Value

An OperationCollection.

#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 = gcnew Operation;
   myOperation->Name = operationName;
   OperationMessage^ input = dynamic_cast<OperationMessage^>(gcnew OperationInput);
   input->Message = gcnew XmlQualifiedName( inputMessage,targetNamespace );
   OperationMessage^ output = dynamic_cast<OperationMessage^>(gcnew OperationOutput);
   output->Message = gcnew XmlQualifiedName( outputMessage,targetNamespace );
   myOperation->Messages->Add( input );
   myOperation->Messages->Add( output );
   return myOperation;
}

int 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 : {0}", noOfPortTypes );
      PortType^ myPortType = myPortTypeCollection[ "MathServiceSoap" ];
      myPortTypeCollection->Remove( myPortType );
      
      // Create a new PortType.
      PortType^ myNewPortType = gcnew PortType;
      myNewPortType->Name = "MathServiceSoap";
      OperationCollection^ myOperationCollection = myServiceDescription->PortTypes[ 0 ]->Operations;
      String^ inputMsg;
      String^ outputMsg;
      for ( int i = 0; i < myOperationCollection->Count; i++ )
      {
         inputMsg = String::Concat( myOperationCollection[ i ]->Name, "SoapIn" );
         outputMsg = String::Concat( myOperationCollection[ i ]->Name, "SoapOut" );
         Console::WriteLine( " Operation = {0}", myOperationCollection[ i ]->Name );
         myNewPortType->Operations->Add( CreateOperation( myOperationCollection[ i ]->Name, inputMsg, outputMsg, myServiceDescription->TargetNamespace ) );

      }
      myPortTypeCollection->Add( myNewPortType );
      noOfPortTypes = myServiceDescription->PortTypes->Count;
      Console::WriteLine( "\nTotal number of PortTypes : {0}", noOfPortTypes );
      myServiceDescription->Write( "MathService_New.wsdl" );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "Exception:{0}", e->Message );
   }

}

import System.*;
import System.Web.Services.Description.*;
import System.Xml.*;

class MyPortTypeClass
{
    public static void main(String[] args)
    {
        try {
            PortTypeCollection myPortTypeCollection;
            ServiceDescription myServiceDescription = ServiceDescription.Read(
                "MathService_JSL.wsdl");

            myPortTypeCollection = myServiceDescription.get_PortTypes();
            int noOfPortTypes = myServiceDescription.get_PortTypes().
                get_Count();
            Console.WriteLine("\nTotal number of PortTypes : " 
                + noOfPortTypes);

            PortType myPortType = myPortTypeCollection.get_Item(
                "MathServiceSoap");
            myPortTypeCollection.Remove(myPortType);

            // Create a new PortType.
            PortType myNewPortType = new PortType();
            myNewPortType.set_Name("MathServiceSoap");
            OperationCollection myOperationCollection = myServiceDescription.
                get_PortTypes().get_Item(0).get_Operations();

            String inputMsg, outputMsg;
            for (int i = 0; i < myOperationCollection.get_Count(); i++) {
                inputMsg = myOperationCollection.get_Item(i).get_Name() 
                    + "SoapIn";
                outputMsg = myOperationCollection.get_Item(i).get_Name() 
                    + "SoapOut";
                Console.WriteLine(" Operation = " 
                    + myOperationCollection.get_Item(i).get_Name());
                myNewPortType.get_Operations().Add(CreateOperation(
                    myOperationCollection.get_Item(i).get_Name(), inputMsg,
                    outputMsg, myServiceDescription.get_TargetNamespace()));
            }

            // Add the PortType to the collection.
            myPortTypeCollection.Add(myNewPortType);
            noOfPortTypes = myServiceDescription.get_PortTypes().get_Count();
            Console.WriteLine("\nTotal number of PortTypes : " 
                + noOfPortTypes);
            myServiceDescription.Write("MathService_New.wsdl");
        } 
        catch (System.Exception e) {
            Console.WriteLine("Exception:" + e.get_Message());
        }
    } //main

    public static Operation CreateOperation(String operationName,
        String inputMessage, String outputMessage, String targetNamespace)
    {
        Operation myOperation = new Operation();
        myOperation.set_Name(operationName);
        OperationMessage input = (OperationMessage)new OperationInput();
        input.set_Message(new XmlQualifiedName(inputMessage, targetNamespace));
        OperationMessage output = (OperationMessage)new OperationOutput();
        output.set_Message(new XmlQualifiedName(outputMessage,
            targetNamespace));
        myOperation.get_Messages().Add(input);
        myOperation.get_Messages().Add(output);
        return myOperation;
    } //CreateOperation
} //MyPortTypeClass

Windows 98, Windows Server 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

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

Community Additions

ADD
Show: