CORRECTIF : Les appels de fonction distants ne fonctionnent pas une fois l’adaptateur SAP basés sur WCF reçoit le code d’erreur RFC_FAILURE dans le Pack d’adaptateur BizTalk

S’applique à : BizTalk Adapters

Cet article s’applique au produit suivant :
  • Pack d’adaptateur BizTalk 2.0
  • Module d’adaptateur BizTalk 2010

Symptômes


Prenons l’exemple du scénario suivant :
  • Un programme client utilise l’adaptateur SAP basés sur Microsoft Windows Communication Foundation WCF (également connu sous le nom Microsoft BizTalk Adapter for mySAP Business Suite 3.0) pour appeler certains appels de fonction distants dans le modèle de service WCF sur un système SAP.Remarque Cette carte est incluse dans le Pack Microsoft BizTalk carte 2.0 ou Microsoft BizTalk carte Pack 2010.
  • Un problème de réseau se produit, et l’adaptateur WCF SAP perd sa connexion avec le système SAP.
Dans ce scénario, le système SAP renvoie que le code d’erreur RFC_FAILURE et les appels de fonction distants ne fonctionnent pas. En outre, une exception ThreadAbortException est rencontrée, et vous recevez le message d’erreur suivant :
System.Threading.ThreadAbortException : Thread était en cours aborted.at RfcCallReceiveExU (UInt32, Char *, RFC_PARAMETER *, RFC_PARAMETER *, RFC_PARAMETER *, RFC_TABLE *, Char **) à Microsoft.Adapters.SAP.CNativeInvoker.Invoke (CNativeInvoker *, UInt32 handle de connexion, Char * m_szFunctionName)
Après un certain temps, de nombreuses exceptions RFCException sont rencontrées, et vous recevez de nombreuses erreurs semblables aux suivantes :
Microsoft.Adapters.SAP.RFCException : Détails : code d’erreur = RFC_FAILURE. AdapterErrorMessage = erreur renvoyée par RfcCallReceiveEx lors de l’appel de RFC : Z_GET_PO_BY_SAP.
En outre, la trace de pile d’appel suivante est générée sur le serveur BizTalk :
à Microsoft.Adapters.SAP.RFCException.HelperThrow (et RETCODE contient de Int32, String additionalErrorMessage) à Microsoft.Adapters.SAP.RfcOutboundInvoker.Invoke()

Cause


Ce problème se produit car l’adaptateur WCF SAP réutilise de façon incorrecte la chaîne SAP dans le système SAP. Une fois que l’adaptateur WCF SAP reçoit le code d’erreur RFC_FAILURE , l’adaptateur WCF SAP rencontre une erreur. Par conséquent, la chaîne SAP dans le système SAP est correctement réutilisée.

Résolution


Informations de mise à jour cumulative

Pour le Pack d’adaptateur BizTalk 2010

Le correctif qui résout ce problème est inclus dans le package de mise à jour cumulative 2 pour le Pack de l’adaptateur BizTalk 2010. 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 :2572999 package de mise à jour Cumulative 2 pour le Pack de l’adaptateur BizTalk 2010

Pour l’adaptateur BizTalk Pack 2.0

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

Statut


Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.

Informations supplémentaires


Pour plus d’informations sur la façon d’utiliser le modèle de service WCF à invoquer les RFC, reportez-vous au site Web 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