PortType Class 
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Represents a named set of abstract operations and the corresponding abstract messages. This class cannot be inherited.
public ref class PortType sealed : System::Web::Services::Description::DocumentableItempublic ref class PortType sealed : System::Web::Services::Description::NamedItempublic sealed class PortType : System.Web.Services.Description.DocumentableItem[System.Web.Services.Configuration.XmlFormatExtensionPoint("Extensions")]
public sealed class PortType : System.Web.Services.Description.NamedItemtype PortType = class
    inherit DocumentableItem[<System.Web.Services.Configuration.XmlFormatExtensionPoint("Extensions")>]
type PortType = class
    inherit NamedItemPublic NotInheritable Class PortType
Inherits DocumentableItemPublic NotInheritable Class PortType
Inherits NamedItem- Inheritance
- Inheritance
- Attributes
Examples
#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;
      for ( int i = 0; i < myOperationCollection->Count; i++ )
      {
         String^ inputmsg = String::Concat( myOperationCollection[ i ]->Name, "SoapIn" );
         String^ 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 ) );
      }
      
      // Add the PortType to the collection.
      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 );
   }
}
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;
         for(int i=0;i<myOperationCollection.Count;i++)
         {
            string inputmsg = myOperationCollection[i].Name + "SoapIn";
            string 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;
   }
}
Imports System.Web.Services.Description
Imports System.Xml
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
         For i = 0 To myOperationCollection.Count - 1
            Dim inputmsg As String = _
               myOperationCollection(i).Name & "SoapIn"
            Dim outputmsg As String = _
               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)
      End Try
   End Sub
   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
Remarks
The PortType class corresponds to the Web Services Description Language (WSDL) portType element enclosed by the definitions root element. For more information about WSDL, see the WSDL specification.
Constructors
| PortType() | Initializes a new instance of the PortType class. | 
Properties
| Documentation | Gets or sets the text documentation for the instance of the DocumentableItem.(Inherited from DocumentableItem) | 
| DocumentationElement | Gets or sets the documentation element for the DocumentableItem.(Inherited from DocumentableItem) | 
| ExtensibleAttributes | Gets or sets an array of type XmlAttribute that represents attribute extensions of WSDL to comply with Web Services Interoperability (WS-I) Basic Profile 1.1.(Inherited from DocumentableItem) | 
| Extensions | Gets the ServiceDescriptionFormatExtensionCollection associated with this PortType. | 
| Name | Gets or sets the name of the PortType. | 
| Name | Gets or sets the name of the item.(Inherited from NamedItem) | 
| Namespaces | Gets or sets the dictionary of namespace prefixes and namespaces used to preserve namespace prefixes and namespaces when a ServiceDescription object is constructed.(Inherited from DocumentableItem) | 
| Operations | Gets the collection of Operation instances defined by the PortType. | 
| ServiceDescription | Gets the ServiceDescription of which the PortType is a member. | 
Methods
| Equals(Object) | Determines whether the specified object is equal to the current object.(Inherited from Object) | 
| GetHashCode() | Serves as the default hash function.(Inherited from Object) | 
| GetType() | Gets the Type of the current instance.(Inherited from Object) | 
| MemberwiseClone() | Creates a shallow copy of the current Object.(Inherited from Object) | 
| ToString() | Returns a string that represents the current object.(Inherited from Object) |