PortType Класс

Определение

Представляет именованный набор абстрактных операций и соответствующих абстрактных сообщений. Этот класс не наследуется.

public ref class PortType sealed : System::Web::Services::Description::DocumentableItem
public ref class PortType sealed : System::Web::Services::Description::NamedItem
public sealed class PortType : System.Web.Services.Description.DocumentableItem
[System.Web.Services.Configuration.XmlFormatExtensionPoint("Extensions")]
public sealed class PortType : System.Web.Services.Description.NamedItem
type PortType = class
    inherit DocumentableItem
[<System.Web.Services.Configuration.XmlFormatExtensionPoint("Extensions")>]
type PortType = class
    inherit NamedItem
Public NotInheritable Class PortType
Inherits DocumentableItem
Public NotInheritable Class PortType
Inherits NamedItem
Наследование
Наследование
Атрибуты

Примеры

#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

Комментарии

Класс PortType соответствует элементу WSDL portType , заключенному в корневой definitions элемент. Дополнительные сведения о языке WSDL см. в спецификации WSDL.

Конструкторы

PortType()

Инициализирует новый экземпляр класса PortType.

Свойства

Documentation

Возвращает или устанавливает текст документации для экземпляра DocumentableItem.

(Унаследовано от DocumentableItem)
DocumentationElement

Получает или задает элемент документации для объекта DocumentableItem.

(Унаследовано от DocumentableItem)
ExtensibleAttributes

Получает или задает массив типа XmlAttribute, представляющий расширения атрибутов WSDL для обеспечения соответствия базовому профилю WS-I версии 1.1.

(Унаследовано от DocumentableItem)
Extensions

Возвращает объект ServiceDescriptionFormatExtensionCollection, связанный с этим объектом PortType.

Extensions

Возвращает объект ServiceDescriptionFormatExtensionCollection, связанный с этим объектом DocumentableItem.

(Унаследовано от DocumentableItem)
Name

Возвращает или задает имя таблицы для объекта PortType.

Name

Возвращает или задает имя элемента.

(Унаследовано от NamedItem)
Namespaces

Получает или задает словарь префиксов пространств имен и пространства имен, используемые для сохранения префиксов пространств имен при конструировании объекта ServiceDescription.

(Унаследовано от DocumentableItem)
Operations

Получает коллекцию экземпляров класса Operation, заданную при помощи объекта PortType.

ServiceDescription

Возвращает объект ServiceDescription, членом которого является PortType.

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к