在 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) ]