Partager via


Utiliser des espaces de noms avec les WSDL-Proxy dans le Kit de développement logiciel (SDK) de l’adaptateur LOB WCF

Le Kit de développement logiciel (SDK) de l’adaptateur métier (LOB) Microsoft Windows Communication Foundation (WCF) génère WSDL et des proxys pour une carte à l’aide des valeurs fournies par le développeur à l’aide de l’Assistant Développement de l’adaptateur LOB WCF ou spécifiées dans le code via la modification de la variable privée SERVICENAMESPACE et/ou de la Namespace propriété de l’adaptateur.

Les types de schéma et les éléments définis dans le <schéma> wsdl :types><utilisent le {OperationNamespace} par défaut. Si un type particulier a un TypeNamespace remplacé dans l’objet TypeMetadata , cet espace de noms est utilisé pour le type complexe et/ou la définition d’élément.

Impact sur WSDL

Le tableau suivant montre comment les différents espaces de noms d’un adaptateur personnalisé affectent le WSDL correspondant. Dans le tableau , ~{OperationNamespace} est le mappage d’espace de noms de classe d’un URI ; par exemple, si {OperationNamespace} est « myscheme://a.b/c », ~{OperationNamespace} est myscheme.a.b.c.

WSDL, construction Syntax
WSDL targetNamespace,

Xmlns :ts
{Custom} Adapter.Namespace
<wsdl :portType> {scheme}.~{OperationNamespace}
Nom du message d’entrée WSDL {scheme}.~{OperationNamespace}_{OperationName}_InputMessage
Nom du message de sortie WSDL {scheme}.~{OperationNamespace}_{OperationName}_OutputMessage
<wsdl :types><schema> targetNamespace {scheme} ://{OperationNamespace}
<élément><complexType> Utilisez {TypeNamespace} si sa valeur n’est pas null ou vide.

Impact sur le proxy

Trois attributs différents dans le proxy sont affectés par les espaces de noms :

  • [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)]

Voir aussi

Meilleures pratiques de développement à l’aide du Kit de développement logiciel (SDK) de l’adaptateur LOB WCF