Configuration d'un emplacement de réception WCF-CustomIsolated
Vous pouvez configurer un emplacement de réception WCF-CustomIsolated par programme ou à l'aide de la console Administration de BizTalk.
Propriétés de configuration
Le modèle objet de l'Explorateur BizTalk permet de créer et de configurer les emplacements de réception par programme. Le modèle objet BizTalk Explorer expose l’interface de configuration de l’emplacement de réceptionIReceiveLocation qui a une propriété de lecture/écriture TransportTypeData. Cette propriété accepte le jeu de propriétés de configuration de l'emplacement de réception WCF-CustomIsolated sous la forme d'une chaîne XML composée d'une paire nom/valeur. Pour définir cette propriété dans le modèle objet BizTalk Explorer, vous devez définir la propriété InboundTransportLocation de l’interface IReceiveLocation.
La propriété TransportTypeData de l’interface IReceiveLocation n’a pas besoin d’être définie. Dans ce cas, l'adaptateur WCF-CustomIsolated utilise les valeurs par défaut pour la configuration de l'emplacement de réception WCF-CustomIsolated, comme indiqué dans le tableau suivant.
Le tableau suivant répertorie les propriétés de configuration que vous pouvez définir dans le modèle objet de l'Explorateur BizTalk pour l'emplacement de réception WCF-CustomIsolated.
Nom de la propriété | Type | Description |
---|---|---|
Identité | Blob XML Exemple : <identity> <userPrincipalName value="username@contoso.com » /> </Identité> |
Spécifiez l'identité du service fourni par cet emplacement de réception. Les valeurs qui peuvent être spécifiées pour la propriété Identity diffèrent en fonction de la configuration de sécurité. Ces paramètres permettent au client d'authentifier cet emplacement de réception. Lors du processus d'établissement de liaison entre le client et le service, l'infrastructure WCF (Windows Communication Foundation) garantit que l'identité du service attendu correspond aux valeurs de cet élément. La valeur par défaut est une chaîne vide. |
BindingType | Énumération - basicHttpBinding - customBinding - mexHttpBinding - mexHttpsBinding - mexNamedPipeBinding - mexTcpBinding - netMsmqBinding - netNamedPipeBinding - netPeerTcpBinding - Nettcpbinding - wsDualHttpBinding - wsFederationHttpBinding - wsHttpBinding |
Spécifiez le type de liaison à utiliser pour le point de terminaison qu'utilise cet emplacement de réception. Note: Si vous utilisez une liaison personnalisée, la propriété BindingType peut être configurée avec les liaisons personnalisées. Pour plus d’informations sur l’utilisation de la liaison personnalisée, consultez Comment activer les points d’extensibilité WCF avec les adaptateurs WCF. La valeur par défaut est une chaîne vide. |
BindingConfiguration | Blob XML Exemple : <binding name="wsHttpBinding » transactionFlow="true"><security><message clientCredentialType="UserName » /></security></binding> |
Spécifiez une chaîne XML avec l’élément <de liaison> pour configurer différents types de liaisons prédéfinies fournies par Windows Communication Foundation (WCF). Pour plus d'informations sur la liaison fournie par le système et la liaison personnalisée, consultez les rubriques correspondantes de la section Voir aussi. Remarque : BizTalk Server ne prend pas en charge tous les types d’éléments d’extension de liaison que vous pouvez configurer avec la propriété BindingConfiguration. La valeur par défaut est une chaîne vide. |
ServiceBehaviorConfiguration | Blob XML Exemple : <behavior name="SampleServiceBehavior"><serviceAuthorization principalPermissionMode="UseAspNetRoles » /><serviceCredentials><serviceCertificate findValue="539d9ab3089bb6dc187fa7dbb382cf01f8d78f5f » storeLocation="CurrentUser » x509FindType="FindByThumbprint » /></serviceCredentials><serviceMetadata httpGetEnabled="true » /></behavior> |
Spécifiez une chaîne XML avec l’élément <de comportement> de l’élément <serviceBehaviors> pour configurer les paramètres de comportement d’un service WCF. Pour plus d’informations sur l’élément <serviceBehaviors> , consultez la rubrique appropriée dans Voir aussi. La valeur par défaut est une chaîne vide. |
EndpointBehaviorConfiguration | Blob XML Exemple : <behavior name="sampleBehavior"><callbackTimeouts /></behavior> |
Spécifiez une chaîne XML avec l’élément <behavior> de l’élément <endpointBehaviors> pour configurer les paramètres de comportement d’un point de terminaison WCF. Pour plus d’informations sur l’élément <endpointBehaviors> , consultez la rubrique appropriée dans Voir aussi. Remarque : BizTalk Server ne prend pas en charge tous les types d’éléments d’extension de comportement que vous pouvez configurer avec la propriété EndpointBehaviorConfiguration. La valeur par défaut est une chaîne vide. |
CredentialType | Énumération - Aucun : n’utilisez pas d’informations d’identification lorsque cet emplacement de réception envoie des messages de sollicitation pour interroger un service externe ou que cet emplacement de réception n’a pas besoin d’interroger un service externe. - IssueTicket : utilisez enterprise single Sign-On (SSO) pour récupérer les informations d’identification du client afin d’émettre un ticket d’authentification unique. Cette option requiert l'utilisation du mode de sécurité permettant à cet emplacement de réception d'emprunter l'identité du compte d'utilisateur pour émettre un ticket SSO. - UserAccount : utilisez les informations d’identification spécifiées dans les propriétés Nom d’utilisateur et Mot de passe lorsque cet emplacement de réception envoie des messages de sollicitation pour interroger un service externe. - GetCredentials : utilisez l’application associée à l’authentification unique spécifiée dans la propriété AffiliateApplicationName lorsque cet emplacement de réception envoie des messages de sollicitation pour interroger un service externe. |
Spécifiez le type d'informations d'identification de cet emplacement de réception à utiliser lors de l'interrogation d'un service externe. Valeur par défaut : None |
UserName | String | Indiquez le nom d'utilisateur de cet emplacement de réception à utiliser lors de l'interrogation d'un service externe pour récupérer des messages de réponse. Cette propriété est requise lorsque la propriété CredentialType est définie sur UserAccount. La valeur par défaut est une chaîne vide. |
Mot de passe | String | Indiquez le mot de passe de cet emplacement de réception à utiliser lors de l'interrogation d'un service externe pour récupérer des messages de réponse. Cette propriété est requise lorsque la propriété CredentialType est définie sur UserAccount. La valeur par défaut est une chaîne vide. |
AffiliateApplicationName | String | Indiquez l'application associée SSO pour renvoyer des informations d'identification externes à utiliser lorsque cet emplacement de réception envoie des messages de sollicitation pour interroger un service externe. L'application associée SSO spécifiée doit comporter un mappage entre le compte Windows d'exécution de cet emplacement de réception et le compte du service externe. Cette propriété est requise lorsque la propriété CredentialType est définie sur GetCredentials. La valeur par défaut est une chaîne vide. |
OrderedProcessing | Boolean | Spécifiez si l'ordre des messages est conservé lors de leur traitement. Valeur par défaut : False |
InboundBodyLocation | Énumération - UseBodyElement : utilisez le contenu de l’élément SOAP Body d’un message entrant pour créer le composant corps du message BizTalk. Si l’élément Body a plusieurs éléments enfants, seul le premier élément devient la partie corps du message BizTalk. - UseEnvelope : créez la partie corps du message BizTalk à partir de l’enveloppe SOAP entière d’un message entrant. - UseBodyPath : utilisez l’expression de chemin du corps dans la propriété InboundBodyPathExpression pour créer la partie corps du message BizTalk. L’expression de chemin du corps est évaluée par rapport à l’élément enfant immédiat de l’élément SOAP Body d’un message entrant. Cette propriété est valide uniquement pour des ports de sollicitation-réponse. Pour plus d’informations sur l’utilisation de la propriété InboundBodyLocation , consultez Spécification du corps du message pour les adaptateurs WCF. |
Spécifiez la sélection des données pour l’élément SOAP Body des messages WCF entrants. Valeur par défaut : UseBodyElement |
InboundBodyPathExpression | String Pour plus d’informations sur l’utilisation de la propriété InboundBodyPathExpression , consultez Schéma et propriétés de la propriété adaptateurs WCF. |
Spécifiez l'expression de chemin de corps afin d'identifier une partie spécifique du message entrant utilisée pour créer le corps du message BizTalk. Cette expression de chemin de corps est évaluée par rapport à l’élément enfant immédiat du nœud SOAP Body d’un message entrant. Si cette expression de chemin de corps retourne plusieurs nœuds, seul le premier devient le corps du message BizTalk. Cette propriété est obligatoire si la propriété InboundBodyLocation a la valeur UseBodyPath. La valeur par défaut est une chaîne vide. |
InboundNodeEncoding | Énumération - Encodage Base64 - Base64. - Hexadécimal - Encodage hexadécimal. - Chaîne - Encodage de texte - UTF-8. - XML : les adaptateurs WCF créent le corps du message BizTalk avec le XML externe du nœud sélectionné par l’expression de chemin du corps dans InboundBodyPathExpression. |
Spécifiez le type d’encodage que l’adaptateur de réception WCF-CustomIsolated utilise pour décoder le nœud identifié par l’expression de chemin du corps spécifiée dans InboundBodyPathExpression. Cette propriété est obligatoire si la propriété InboundBodyLocation a la valeur UseBodyPath. Valeur par défaut : XML |
OutboundBodyLocation | Énumération - UseBodyElement : utilisez la partie corps du message BizTalk pour créer le contenu de l’élément SOAP Body pour un message de réponse sortant. - UseTemplate : utilisez le modèle fourni dans la propriété OutboundXMLTemplate pour créer le contenu de l’élément SOAP Body pour un message de réponse sortant. Pour plus d’informations sur l’utilisation de la propriété OutboundBodyLocation , consultez Spécification du corps du message pour les adaptateurs WCF. |
Spécifiez la sélection des données pour l’élément SOAP Body des messages WCF sortants. Cette propriété est valide uniquement pour des emplacements de réception de type requête-réponse. Valeur par défaut : UseBodyElement |
OutboundXMLTemplate | String Pour plus d’informations sur l’utilisation de la propriété OutboundXMLTemplate , consultez Spécification du corps du message pour les adaptateurs WCF. |
Spécifiez le modèle au format XML pour le contenu de l’élément SOAP Body d’un message de réponse sortant. Cette propriété est obligatoire si la propriété OutboundBodyLocation a la valeur UseTemplate. Cette propriété est valide uniquement pour des emplacements de réception de type requête-réponse. La valeur par défaut est une chaîne vide. |
DisableLocationOnFailure | Boolean | Spécifiez s'il faut désactiver l'emplacement de réception pour lequel le traitement entrant a échoué en raison d'une erreur de pipeline de réception ou d'un échec de routage. Valeur par défaut : False |
SuspendMessageOnFailure | Boolean | Spécifier s'il faut interrompre le message de requête dont le traitement entrant a échoué en raison d'une erreur de pipeline de réception ou d'un échec de routage. Valeur par défaut : True |
IncludeExceptionDetailInFaults | Boolean | Spécifiez s'il faut inclure des informations sur l'exception gérée dans le détail des dysfonctionnements SOAP renvoyé au client à des fins de débogage. Valeur par défaut : False |
ReferencedBindings | Blob XML Exemple : <BindingConfiguration vt="8 »> <wsFederationHttpBinding> <binding name="sampleBinding »> <security mode="Message »> <message issuedKeyType="AsymmetricKey »> <issuer address= »http://www.contoso.com/samplests" ; binding="wsFederationHttpBinding » bindingConfiguration="contosoSTSBinding"/> </Message> </Sécurité> </Contraignant> </wsFederationHttpBinding> </BindingConfiguration> <ReferencedBindings vt="8 »> <bindings> <wsFederationHttpBinding> <binding name="contosoSTSBinding »> <security mode="Message »> <message negotiateServiceCredential="false »> <issuer address=" http://northwind.com/samplests » bindingConfiguration="northwindBinding » binding="wsHttpBinding »></Émetteur> </Message> </Sécurité> </Contraignant> </wsFederationHttpBinding> <wsHttpBinding> <binding name="northwindBinding »> <security mode="Message »> <message clientCredentialType="Certificate » /> </Sécurité> </Contraignant> </wsHttpBinding> </Liaisons> </ReferencedBindings> Note: La propriété ReferencedBinding ne doit pas contenir la configuration de liaison utilisée dans la propriété BindingConfiguration . |
Spécifiez les configurations de liaison référencées par l’attribut bindingConfiguration de l’élément <émetteur> pour wsFederationHttpBinding et customBinding, qui indique le service STS (Security Token Service) qui émet des jetons de sécurité. Pour plus d’informations sur l’élément <émetteur>, consultez la documentation de l’émetteur<> sur Microsoft Learn. Les informations de liaison, y compris l’élément <émetteur> pour wsFederationHttpBinding et customBinding , peuvent être configurées via la propriété BindingConfiguration des adaptateurs WCF-Custom et WCF-CustomIsolated. Toutes les configurations de liaison référencées pour cette propriété doivent être placées sous la forme de l’élément <bindings> . Remarque : - Vous ne pouvez pas configurer cette propriété sous l’onglet Liaison dans la boîte de dialogue propriétés de transport. Vous pouvez importer et exporter cette propriété via l’onglet Importation/Exportation de la boîte de dialogue propriétés de transport des adaptateurs WCF-Custom et WCF-CustomIsolated. - L’attribut bindingConfiguration de l’élément <émetteur> doit référencer un nom de liaison valide dans cette propriété. - L’élément <émetteur> dans les configurations de liaison référencées peut également faire référence à une autre configuration de liaison dans cette propriété, si cette chaîne de référence ne crée pas de dépendance circulaire. La valeur par défaut est une chaîne vide. |
Configuration d'un emplacement de réception WCF-CustomIsolated à l'aide de la console Administration de BizTalk
Vous pouvez définir des variables d'emplacement de réception pour l'adaptateur WCF-CustomIsolated dans la console Administration de BizTalk Server. Si les propriétés ne sont pas définies pour l'emplacement de réception, les valeurs par défaut du gestionnaire de réception définies dans la console Administration de BizTalk sont utilisées.
Notes
Avant d'effectuer la procédure suivante, vous devez avoir ajouté un port de réception. Pour plus d'informations, consultez la rubrique Création d'un port de réception.
Configurer des variables pour un emplacement de réception WCF-CustomIsolated
Lors de la configuration de l'adaptateur WCF-CustomIsolated, si vous envisagez d'utiliser les points d'extensibilité WCF tels que les éléments de liaison personnalisés, l'élément de comportement personnalisé et les composants du canal personnalisés, vous devez ajouter les assemblys qui implémentent les points d'extensibilité ainsi que tous les assemblys dépendants dans le GAC (Global Assembly Cache) à la fois sur l'ordinateur de traitement BizTalk (ordinateur d'exécution) et sur l'ordinateur d'administration. En outre, vous devez inscrire les composants d'extension dans le fichier machine.config. Pour plus d’informations sur l’utilisation des points d’extensibilité WCF avec l’adaptateur WCF CustomIsolated, consultez Comment activer les points d’extensibilité WCF avec les adaptateurs WCF.
Dans la console Administration BizTalk, développez BizTalk Server Administration, groupe BizTalk, Applications, puis l’application dans laquelle vous souhaitez créer un emplacement de réception.
Dans le volet gauche de la console Administration de BizTalk, cliquez sur le nœud Port de réception . Dans le volet droit, cliquez avec le bouton droit sur le port de réception associé à un emplacement de réception existant ou auquel associer un nouvel emplacement, puis cliquez sur Propriétés.
Dans la boîte de dialogue Propriétés du port de réception, dans le volet gauche, sélectionnez Emplacements de réception, puis dans le volet droit, double-cliquez sur un emplacement de réception existant ou cliquez sur Nouveaupour créer un emplacement de réception.
Dans la boîte de dialogue Propriétés de l’emplacement de réception, dans la section Transport en regard de Type, sélectionnez WCF-CustomIsolated dans la liste déroulante, puis cliquez sur Configurer.
Dans la boîte de dialogue Propriétés de transport WCF-CustomIsolated , sous l’onglet Général , configurez l’adresse du point de terminaison et l’identité du service pour l’emplacement de réception WCF-CustomIsolated. Pour plus d’informations sur l’onglet Général de la boîte de dialogue Propriétés de transport WCF-CustomIsolated , consultez la boîte de dialogue Propriétés de transport WCF-Custom, Recevoir, Onglet Général dans l’aide de l’interface utilisateur et informations de référence sur l’espace de noms d’API des développeurs.
Dans la boîte de dialogue Propriétés de transport WCF-CustomIsolated , sous l’onglet Liaison , configurez différents types de liaisons prédéfinies ou personnalisées pour WCF. Pour plus d’informations sur l’onglet Liaison dans la boîte de dialogue Propriétés de transport WCF-CustomIsolated , consultez la boîte de dialogue Propriétés de transport WCF-Custom, Recevoir, Onglet Liaison dans l’aide de l’interface utilisateur et informations de référence sur l’espace de noms d’API des développeurs.
Dans la boîte de dialogue Propriétés de transport WCF-CustomIsolated , sous l’onglet Comportement , configurez les comportements de point de terminaison et de service pour cet emplacement de réception. Le comportement du point de terminaison est représenté par un jeu d'éléments d'extension de comportement qui modifie ou étend la fonction du service ou du client. Pour plus d’informations sur l’onglet Comportement dans la boîte de dialogue Propriétés de transport WCF-CustomIsolated , consultez la boîte de dialogue Propriétés de transport WCF-Custom, Recevoir, onglet Comportement dans l’aide de l’interface utilisateur et informations de référence sur l’espace de noms d’API des développeurs.
Dans la boîte de dialogue Propriétés de transport WCF-CustomIsolated , sous l’onglet Autre , configurez les informations d’identification pour cet emplacement de réception à utiliser lors de l’interrogation d’un service externe et si cet emplacement de réception conserve l’ordre des messages lors du traitement des messages. Pour plus d’informations sur l’onglet Autre de la boîte de dialogue Propriétés de transport WCF-CustomIsolated , consultez la boîte de dialogue Propriétés de transport WCF-Custom, Recevoir, Autres onglets dans l’aide de l’interface utilisateur et informations de référence sur l’espace de noms d’API des développeurs.
Dans la boîte de dialogue Propriétés de transport WCF-CustomIsolated , sous l’onglet Messages , spécifiez la sélection des données pour l’élément SOAP Body . Pour plus d’informations sur l’onglet Messages de la boîte de dialogue Propriétés de transport WCF-CustomIsolated , consultez la boîte de dialogue Propriétés de transport WCF-Custom, Recevoir, Messages onglet dans l’aide de l’interface utilisateur et informations de référence sur l’espace de noms d’API des développeurs.
Dans la boîte de dialogue Propriétés de transport WCF-CustomIsolated , sous l’onglet Importation/Exportation , importez et exportez les propriétés Adresse (URI) et Identité de point de terminaison sous l’onglet Général , les informations de liaison sous l’onglet Liaison et le comportement du point de terminaison sous l’onglet Comportement de cet emplacement de réception. Pour plus d’informations sur l’onglet Importation/Exportation dans la boîte de dialogue Propriétés de transport WCF-CustomIsolated , consultez la boîte de dialogue Propriétés de transport WCF-Custom, Onglet Réception, Importation-Exportation dans les informations de référence sur l’interface utilisateur et les espaces de noms d’API des développeurs.
Configurer un emplacement de réception WCF-CustomIsolated par programmation
Vous pouvez utiliser le format suivant pour définir les propriétés :
<CustomProps>
<InboundBodyPathExpression vt="8" />
<InboundBodyLocation vt="8">UseBodyElement</InboundBodyLocation>
<BindingConfiguration vt="8"><binding name="wsHttpBinding" transactionFlow="true"><security><message clientCredentialType="UserName" /></security></binding></BindingConfiguration>
<OutboundXmlTemplate vt="8"><bts-msg-body xmlns="http://www.microsoft.com/schemas/bts2007" encoding="xml"/></OutboundXmlTemplate>
<CredentialType vt="8">None</CredentialType>
<Identity vt="8" />
<ServiceBehaviorConfiguration vt="8"><behavior name="SampleServiceBehavior"><serviceAuthorization principalPermissionMode="UseAspNetRoles" /><serviceCredentials><serviceCertificate findValue="539d9ab3089bb6dc187fa7dbb382cf01f8d78f5f" storeLocation="CurrentUser" x509FindType="FindByThumbprint" /></serviceCredentials><serviceMetadata httpGetEnabled="true" /></behavior></ServiceBehaviorConfiguration>
<OrderedProcessing vt="11">0</OrderedProcessing>
<IncludeExceptionDetailInFaults vt="11">0</IncludeExceptionDetailInFaults>
<AffiliateApplicationName vt="8" />
<DisableLocationOnFailure vt="11">0</DisableLocationOnFailure>
<SuspendMessageOnFailure vt="11">0</SuspendMessageOnFailure>
<BindingType vt="8">wsHttpBinding</BindingType>
<UserName vt="8" />
<InboundNodeEncoding vt="8">Xml</InboundNodeEncoding>
<EndpointBehaviorConfiguration vt="8"><behavior name="EndpointBehavior" /></EndpointBehaviorConfiguration>
<OutboundBodyLocation vt="8">UseBodyElement</OutboundBodyLocation>
</CustomProps>
Le fragment de code suivant illustre la création d'un emplacement de réception WCF-CustomIsolated :
// Use BizTalk Explorer object model to create new WCF-CustomIsolated receive location
string server = System.Environment.MachineName;
string database = "BizTalkMgmtDb";
string connectionString = string.Format("Server={0};Database={1};Integrated Security=true", server, database);
string transportConfigData = @"<CustomProps>
<BindingConfiguration vt=""8""><binding name=""wsHttpBinding"" transactionFlow=""true""><security><message clientCredentialType=""UserName"" /></security></binding></BindingConfiguration>
<BindingType vt=""8"">wsHttpBinding</BindingType>
</CustomProps>";
//requires project reference to \Program Files\Microsoft BizTalk Server 2009\Developer Tools\Microsoft.BizTalk.ExplorerOM.dll
BtsCatalogExplorer explorer = new Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer();
explorer.ConnectionString = connectionString;
// Add a new BizTalk application
Application application = explorer.AddNewApplication();
application.Name = "SampleBizTalkApplication1001";
// Save
explorer.SaveChanges();
// Add a new one-way receive port
IReceivePort receivePort = application.AddNewReceivePort(false);
receivePort.Name = "SampleReceivePort";
// Add a new one-way receive location
IReceiveLocation receiveLocation = receivePort.AddNewReceiveLocation();
receiveLocation.Name = "SampleReceiveLocation";
// Find a receive handler for WCF-CustomIsolated
int i = 0;
for(i=0; i < explorer.ReceiveHandlers.Count; ++i)
{
if("WCF-CustomIsolated" == explorer.ReceiveHandlers[i].TransportType.Name)
break;
}
receiveLocation.ReceiveHandler = explorer.ReceiveHandlers[i];
receiveLocation.Address = "http://mycomputer/samplepath/sampleservice";
receiveLocation.ReceivePipeline = explorer.Pipelines["Microsoft.BizTalk.DefaultPipelines.PassThruReceive"];
receiveLocation.TransportType = explorer.ProtocolTypes["WCF-CustomIsolated"];
receiveLocation.TransportTypeData = transportConfigData;
// Save
explorer.SaveChanges();
Voir aussi
Publication des services WCF avec les adaptateurs de réception WCF isolés
Gestion des hôtes et des instances d'hôte BizTalk
Comment modifier les comptes de service et les mots de passe
Installation de certificats pour les adaptateurs WCF
Spécification du corps de message pour les adaptateurs WCF
Configuration de l’adaptateur WCF-CustomIsolated
Guide pratique pour créer une application d’affiliation
<comportement> de <endpointBehaviors>
<Comportement des liaisons><de <serviceBehaviors>>