共用方式為


在 WCF LOB 配接器 SDK 中使用命名空間與 WSDL-Proxy

Microsoft Windows Communication Foundation (WCF) 企業營運 (LOB) 配接器 SDK 會使用使用 WCF LOB 配接器開發精靈所提供的值,或透過修改 SERVICENAMESPACE 私用變數和/或 Namespace 配接器屬性,為配接器提供的值,為配接器產生 WSDL 和 Proxy。

wsdl:types >< 架構內 < 定義的架構 > 類型和專案預設會使用 {OperationNamespace} 。 如果特定類型在 TypeMetadata 物件中設定了覆寫的 TypeNamespace,該命名空間會用於複雜型別和/或專案定義。

對 WSDL 的影響

下表顯示自訂配接器中不同命名空間如何影響對應的 WSDL。 在資料表中,~{OperationNamespace} 是 URI 的類別命名空間對應;例如,如果 {OperationNamespace} 是 「myscheme://a.b/c」,~{OperationNamespace} 將會是 myscheme.a.b.c。

WSDL 建構 Syntax
WSDL targetNamespace,

Xmlns:ts
{Custom}Adapter.Namespace
<wsdl:portType> {scheme}.~{OperationNamespace}
WSDL 輸入訊息名稱 {scheme}.~{OperationNamespace}_{OperationName}_InputMessage
WSDL 輸出訊息名稱 {scheme}.~{OperationNamespace}_{OperationName}_OutputMessage
<wsdl:types >< schema > targetNamespace {scheme}://{OperationNamespace}
<element >< complexType> 如果其值不是 Null 或空白,請使用 {TypeNamespace}。

對 Proxy 的影響

Proxy 中的三個不同的屬性會受到命名空間的影響:

  • [System.ServiceModel.ServiceContractAttribute (Name=「{scheme}.~{OperationNamespace}」, Namespace=「{Custom}Adapter.Namespace」]

  • [System.ServiceModel.MessageContractAttribute (WrapperName=「DivideResponse」, WrapperNamespace=「{scheme}://{OperationNamespace}」, IsWrapped=true) ]

  • [System.ServiceModel.MessageBodyMemberAttribute (Namespace=「{scheme}://{TypeNamespace}」, Order=0) ]

另請參閱

使用 WCF LOB 配接器 SDK 的開發最佳做法