Microsoft Windows Communication Foundation (WCF) 业务线 (LOB) 适配器 SDK 使用开发人员使用 WCF LOB 适配器开发向导提供的值生成 WSDL 和代理,或通过修改 SERVICENAMESPACE 专用变量和/或 Namespace
适配器的属性在代码中指定。
默认情况下,wsdl:types><架构中<定义的架构>类型和元素使用 {OperationNamespace}。 如果特定类型在 TypeMetadata 对象中设置了重写的 TypeNamespace,则该命名空间将用于复杂类型和/或元素定义。
对 WSDL 的影响
下表显示了自定义适配器中的不同命名空间如何影响相应的 WSDL。 在表中,~{OperationNamespace} 是 URI 的类命名空间映射;例如,如果 {OperationNamespace} 为“myscheme://a.b/c”,~{OperationNamespace} 将为 myscheme.a.b.c。
WSDL 构造 | 语法 |
---|---|
WSDL targetNamespace, Xmlns:ts |
{Custom}Adapter.Namespace |
<wsdl:portType> | {scheme}.~{OperationNamespace} |
WSDL 输入消息名称 | {scheme}.~{OperationNamespace}_{OperationName}_InputMessage |
WSDL 输出消息名称 | {scheme}.~{OperationNamespace}_{OperationName}_OutputMessage |
<wsdl:types><架构> targetNamespace | {scheme}://{OperationNamespace} |
<element><complexType> | 如果其值不为 null 或为空,请使用 {TypeNamespace}。 |
对代理的影响
代理中的三个不同的属性受命名空间的影响:
[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) ]