CORRECTIF : Une mise à jour est disponible qui ajoute la propriété de liaison de ClearRfcContext à l’adaptateur SAP basés sur WCF à partir de BizTalk carte Pack 2.0 ou BizTalk carte Pack 2010

S’applique à : BizTalk Adapters

Produits concernés

Cet article s'applique aux produits suivants :
  • Microsoft BizTalk carte Pack 2.0
  • Module de carte Microsoft BizTalk 2010

Introduction


Cet article décrit une mise à jour est incluse dans une mise à jour cumulative pour ajouter la propriété de liaison de ClearRfcContext à l’adaptateur SAP basés sur Microsoft Windows Communication Foundation WCF à partir du Pack de carte Microsoft BizTalk.

Symptômes


Prenons l’exemple du scénario suivant :
  • Vous disposez d’un ordinateur qui exécute Microsoft BizTalk Server 2006 R2, Microsoft BizTalk Server 2009 ou Microsoft BizTalk Server 2010.
  • Vous utilisez l’adaptateur SAP basés sur WCF pour se connecter au serveur R/3 SAP.Remarque L’adaptateur SAP basés sur WCF est inclus dans le Pack Microsoft BizTalk carte 2.0 ou Microsoft BizTalk carte Pack 2010.
  • Vous créez une application BizTalk qui utilise de l’adaptateur SAP pour appeler des appels de fonction distants (RFC) qui utilisent des variables globales de SAP sur le serveur SAP R/3.
  • Vous définissez la propriété de liaison de EnableConnectionPooling à True.
Dans ce scénario, vous remarquez que les données retournées par les RFC ne sont pas celui que vous attendiez. En outre, les données retournées semble être affecté par un appel précédent qui a été fait pour la même propriété de liaison de RFCs.The ClearRfcContext peut empêcher des problèmes semblables à ceux qui se produisent dans ce scénario.

Cause


Ce problème se produit car, lorsque le groupement de connexions est activé, la connexion SAP correspondante est retournée au pool de connexions après l’exécution d’un appel RFC sur le serveur SAP R/3. Lors de l’arrivée de l’appel suivant de la RFC, la même connexion SAP est extraite du regroupement de connexion et est utilisée pour exécuter l’appel. Si la RFC utilise certaines variables globales, et si elles ne sont pas supprimés correctement, l’appel suivant à la RFC utilise les valeurs qui sont stockées dans les variables globales de l’appel précédent. Cette situation peut entraîner des résultats inattendus.Remarque Ce problème se produit uniquement si la RFC utilise des variables globales et les variables globales ne sont pas supprimés correctement par la demande.

Résolution


Pour résoudre ce problème, appliquez cette mise à jour. Ensuite, définissez la propriété de liaison de ClearRfcContext à True.

Informations de mise à jour cumulative

Module d’adaptateur BizTalk 2010

Le correctif qui résout ce problème est inclus dans la mise à jour Cumulative, 1 pour BizTalk carte Pack 2010.  Pour plus d’informations sur la façon de se procurer le package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft : 2539794 package de mise à jour Cumulative 1 pour le Pack de l’adaptateur BizTalk 2010

Pack d’adaptateur BizTalk 2.0

Ce correctif a été publié dans le package de mise à jour Cumulative 2 pour le Pack de l’adaptateur BizTalk 2.0. Pour plus d’informations sur l’obtention de ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
2531605 Package de mise à jour cumulative 2 pour le Pack de l’adaptateur BizTalk 2.0

Informations supplémentaires


Notes à propos de cette mise à jour

  • La propriété de liaison de ClearRfcContext s’applique uniquement lorsque la propriété de liaison de EnableConnectionPooling a la valeur True.
  • Sans cette mise à jour, l’adaptateur SAP basés sur WCF n’efface pas le contexte de le R/3 SAP. Par conséquent, le comportement est identique à ce qui se produit lorsque la propriété de liaison de ClearRfcContext est définie sur False. La valeur par défaut est False.
  • Lorsque le regroupement de connexions est activé et que la propriété de liaison de ClearRfcContext a la valeur True, la carte vide la session R/3 SAP et efface toutes les variables globales SAP-côté serveur. Par conséquent, l’appel suivant sur la même connexion SAP n’est pas affecté par tout état qui a été obtenu par l’appel en cours.
  • Lorsque le regroupement de connexions est activé et que la propriété de liaison de ClearRfcContext a la valeur False, la carte n’efface pas la session R/3 SAP. Dans ce cas, si la RFC utilise certaines variables globales et les variables ne sont pas nettoyées correctement, l’appel suivant à la RFC peut utiliser les valeurs qui sont stockées dans les variables globales à partir de l’appel en cours. Cette situation peut donner des résultats inattendus.
  • Étant donné que la propriété de liaison de ClearRfcContext requiert un aller-retour supplémentaire jusqu’au serveur R/3 SAP, vous pouvez voir une légère diminution des performances lorsque vous définissez la propriété de liaison de ClearRfcContext à True. Nous vous conseillons de définir la propriété de liaison de ClearRfcContext à True uniquement lorsque le document RFC utilise des variables globales et le RFC ne nettoie pas les variables globales correctement.
  • Lorsque vous utilisez la carte dans un scénario de proxy tels que du code .NET, vous pouvez souhaiter désactiver la session SAP R/3 entre les appels RFC sur la même instance de canal/proxy. Cette mise à jour, une nouvelle opération est nommée RfcClearContext est disponible sous le nœud de la RFC de l’Assistant Ajouter une référence de Service carte lorsque l’option SapBinding est sélectionnée. L’opération RfcClearContext tente de nettoyer le contexte R/3 SAP et renvoie une des opérations suivantes :
    • True – le nettoyage du contexte SAP R/3 a réussi. Vous pouvez effectuer des appels supplémentaires sur le canal/proxy.
    • False - la connexion fermée ou de développé une erreur lors de l’opération a tenté de nettoyer le contexte R/3 SAP. Vous devez détruire le canal/proxy en cours, car tout appel supplémentaire pourrait entraîner une erreur de communication.

Références


Pour plus d’informations sur la façon d’établir une connexion avec le système SAP, visitez le site Web Microsoft Developer Network (MSDN) suivant :Pour plus d’informations sur les correctifs de BizTalk Server, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
2003907 Informations sur les correctifs de BizTalk Server