PortType 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示具名的抽象作業集和對應的抽象訊息。 此類別無法獲得繼承。
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 會對應至根項目所 definitions
括住的 Web 服務描述語言 (WSDL) portType
專案。 如需 WSDL 的詳細資訊,請參閱 WSDL 規格。
建構函式
PortType() |
初始化 PortType 類別的新執行個體。 |
屬性
Documentation |
取得或設定 DocumentableItem 的執行個體的文字文件。 (繼承來源 DocumentableItem) |
DocumentationElement |
取得或設定 DocumentableItem 的文件項目。 (繼承來源 DocumentableItem) |
ExtensibleAttributes |
取得或設定型別 XmlAttribute 的陣列,表示符合 Web 服務互通性 (WS-I) Basic Profile 1.1 的 WSDL 屬性擴充。 (繼承來源 DocumentableItem) |
Extensions |
取得與這個 ServiceDescriptionFormatExtensionCollection 關聯的 PortType。 |
Extensions |
取得與這個 ServiceDescriptionFormatExtensionCollection 關聯的 DocumentableItem。 (繼承來源 DocumentableItem) |
Name |
取得或設定 PortType 的名稱。 |
Name |
取得或設定項目的名稱。 (繼承來源 NamedItem) |
Namespaces |
取得或設定命名空間前置詞和命名空間的字典,用於在建構 ServiceDescription 物件時保留命名空間前置詞和命名空間。 (繼承來源 DocumentableItem) |
Operations | |
ServiceDescription |
取得 ServiceDescription,PortType 為其中的成員。 |
方法
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |