Freigeben über


ServiceDescription.PortTypes-Eigenschaft

Ruft die Auflistung von PortType-Elementen ab, die in der ServiceDescription enthalten sind.

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

Syntax

'Declaration
Public ReadOnly Property PortTypes As PortTypeCollection
'Usage
Dim instance As ServiceDescription
Dim value As PortTypeCollection

value = instance.PortTypes
public PortTypeCollection PortTypes { get; }
public:
property PortTypeCollection^ PortTypes {
    PortTypeCollection^ get ();
}
/** @property */
public PortTypeCollection get_PortTypes ()
public function get PortTypes () : PortTypeCollection

Eigenschaftenwert

Eine PortTypeCollection.

Hinweise

Die von dieser Eigenschaft zurückgegebene PortTypeCollection entspricht der Liste von portType-Elementen, die vom WSDL-definitions-Stammelement (Web Services Description Language) eingeschlossen sind. Weitere Informationen zu WSDL finden Sie in der Spezifikation unter http://www.w3.org/TR/wsdl/.

Beispiel

Shared Sub Main()
   Dim myWsdlFileName As String = "MyWsdl_VB.wsdl"
   Dim myReader As New XmlTextReader(myWsdlFileName)
   If ServiceDescription.CanRead(myReader) Then
      
      Dim myDescription As ServiceDescription = _
         ServiceDescription.Read(myWsdlFileName)

      ' Remove the PortType at index 0 of the collection.
      Dim myPortTypeCollection As PortTypeCollection = _
         myDescription.PortTypes
      myPortTypeCollection.Remove(myDescription.PortTypes(0))

      ' Build a new PortType.
      Dim myPortType As New PortType()
      myPortType.Name = "Service1Soap"
      Dim myOperation As Operation = _
         CreateOperation("Add", "s0:AddSoapIn", "s0:AddSoapOut", "")
      myPortType.Operations.Add(myOperation)

      ' Add a new PortType to the PortType collection of 
      ' the ServiceDescription.
      myDescription.PortTypes.Add(myPortType)
      
      myDescription.Write("MyOutWsdl.wsdl")
      Console.WriteLine("New WSDL file generated successfully.")
   Else
      Console.WriteLine("This file is not a WSDL file.")
   End If
End Sub 'Main
 
' Creates an Operation for a PortType.
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
static void Main()
{
   string myWsdlFileName ="MyWsdl_CS.wsdl";
   XmlTextReader myReader = new XmlTextReader(myWsdlFileName);
   if (ServiceDescription.CanRead(myReader))
   {
      ServiceDescription myDescription = 
         ServiceDescription.Read(myWsdlFileName);

      // Remove the PortType at index 0 of the collection.
      PortTypeCollection myPortTypeCollection = 
         myDescription.PortTypes;
      myPortTypeCollection.Remove(myDescription.PortTypes[0]);
      
      // Build a new PortType.
      PortType myPortType = new PortType();
      myPortType.Name = "Service1Soap";
      Operation myOperation = 
         CreateOperation("Add","s0:AddSoapIn","s0:AddSoapOut","");
      myPortType.Operations.Add(myOperation);

      // Add a new PortType to the PortType collection of 
      // the ServiceDescription.
      myDescription.PortTypes.Add(myPortType);

      myDescription.Write("MyOutWsdl.wsdl");
      Console.WriteLine("New WSDL file generated successfully.");
   }
   else
   {
      Console.WriteLine("This file is not a WSDL file.");
   }

}
// Creates an Operation for a PortType.
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;
}
// Creates an Operation for a PortType.
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()
{
   String^ myWsdlFileName = "MyWsdl_CS.wsdl";
   XmlTextReader^ myReader = gcnew XmlTextReader( myWsdlFileName );
   if ( ServiceDescription::CanRead( myReader ) )
   {
      ServiceDescription^ myDescription = ServiceDescription::Read( myWsdlFileName );

      // Remove the PortType at index 0 of the collection.
      PortTypeCollection^ myPortTypeCollection = myDescription->PortTypes;
      myPortTypeCollection->Remove( myDescription->PortTypes[ 0 ] );

      // Build a new PortType.
      PortType^ myPortType = gcnew PortType;
      myPortType->Name = "Service1Soap";
      Operation^ myOperation = CreateOperation( "Add", "s0:AddSoapIn", "s0:AddSoapOut", "" );
      myPortType->Operations->Add( myOperation );

      // Add a new PortType to the PortType collection of 
      // the ServiceDescription.
      myDescription->PortTypes->Add( myPortType );
      myDescription->Write( "MyOutWsdl.wsdl" );
      Console::WriteLine( "New WSDL file generated successfully." );
   }
   else
   {
      Console::WriteLine( "This file is not a WSDL file." );
   }
}
public static void main(String[] args)
{
    String myWsdlFileName = "MyWsdl_JSL.wsdl";
    XmlTextReader myReader = new XmlTextReader(myWsdlFileName);
    if (ServiceDescription.CanRead(myReader)) {
        ServiceDescription myDescription = 
            ServiceDescription.Read(myWsdlFileName);
        
        // Remove the PortType at index 0 of the collection.
        PortTypeCollection myPortTypeCollection = 
            myDescription.get_PortTypes();
        myPortTypeCollection.Remove(myDescription.get_PortTypes().
            get_Item(0));
        
        // Build a new PortType.
        PortType myPortType = new PortType();
        myPortType.set_Name("Service1Soap");
        Operation myOperation = 
            CreateOperation("Add", "s0:AddSoapIn", "s0:AddSoapOut", "");
        myPortType.get_Operations().Add(myOperation);
        
        // Add a new PortType to the PortType collection of 
        // the ServiceDescription.
        myDescription.get_PortTypes().Add(myPortType);
        myDescription.Write("MyOutWsdl.wsdl");
        Console.WriteLine("New WSDL file generated successfully.");
    }
    else {
        Console.WriteLine("This file is not a WSDL file.");
    }
} //main

// Creates an Operation for a PortType.
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

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

ServiceDescription-Klasse
ServiceDescription-Member
System.Web.Services.Description-Namespace