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