Partager via


Résoudre les problèmes opérationnels liés à l’adaptateur Oracle E-Business Suite

Cette section décrit l’utilisation de techniques de résolution des problèmes pour résoudre les erreurs opérationnelles que vous pouvez rencontrer lors de l’utilisation de l’adaptateur Microsoft BizTalk pour Oracle E-Business Suite.

Activation du traçage

Pour plus d’informations sur la prise en charge du suivi dans l’adaptateur Oracle E-Business, suivi de diagnostic et journalisation des messages dans l’adaptateur Oracle E-Business Suite.

Problèmes connus

Voici les erreurs les plus courantes que vous pouvez rencontrer lors de l’utilisation du pack d’adaptateurs BizTalk, ainsi que leur cause et leur résolution probables.

Erreur lors du chargement des liaisons d’adaptateur

Problème

Lorsque vous essayez de démarrer le plug-in Visual Studio add adapter service reference ou le complément de projet BizTalk service de l’adaptateur, vous obtenez l’erreur suivante :

There was an error loading the binding, <binding name>, from your system configuration.  
ConfigurationErrorsException: Exception has been thrown by the target of an invocation.  

Cause

Lorsque vous essayez de démarrer le plug-in Add Adapter Service Reference ou Le complément Consume Adapter Service, WCF charge les liaisons d’adaptateur pour toutes les cartes installées. À leur tour, les liaisons d’adaptateur dépendent du logiciel client spécifique pour l’application d’entreprise. Vous pouvez rencontrer ce problème pour l’une des raisons suivantes ou les deux :

  • Le logiciel client métier requis n’est pas installé sur l’ordinateur sur lequel vous avez installé l’adaptateur.

  • Vous avez effectué une installation standard ou complète de l’adaptateur, qui installe tous les adaptateurs contenus dans le pack d’adaptateurs BizTalk. Toutefois, les bibliothèques clientes métier peuvent être installées pour une seule application d’entreprise. Par conséquent, l’interface graphique utilisateur ne parvient pas à charger les liaisons pour les autres adaptateurs.

    Résolution :

  • Assurez-vous que les versions de client métier requises sont installées sur l’ordinateur sur lequel vous avez installé le pack d’adaptateurs BizTalk. Pour plus d’informations sur les versions clientes prises en charge, consultez le guide d’installation disponible sur <le lecteur> d’installation :\Program Files\Microsoft BizTalk Adapter Pack.

  • Veillez à effectuer une installation personnalisée des adaptateurs pour installer uniquement l’adaptateur dont vous avez besoin.

L’adaptateur Oracle E-Business Suite ne s’affiche pas dans la liste des adaptateurs dans BizTalk Server console d’administration

Problème

Contrairement à la version antérieure des adaptateurs fournis avec BizTalk Server, l’adaptateur Oracle E-Business fourni avec bizTalk Adapter Pack n’apparaît pas dans la liste des adaptateurs dans la console d’administration BizTalk Server.

Cause

La dernière carte Oracle E-Business est une liaison personnalisée WCF. Ainsi, bien que la console Administration BizTalk Server affiche l’adaptateur WCF-Custom, elle n’affiche pas les liaisons personnalisées WCF et, par conséquent, n’affiche pas l’adaptateur Oracle E-Business basé sur WCF.

Résolution :

Vous pouvez ajouter explicitement l’adaptateur Oracle E-Business à la console d’administration BizTalk Server en suivant les étapes mentionnées dans Ajouter l’adaptateur Oracle E-Business Suite à BizTalk Server console d’administration.

Erreur lors de l’exécution d’opérations sur Oracle E-Business Suite

Problème

L’adaptateur génère l’erreur suivante lors de l’exécution d’une opération sur Oracle E-Business Suite à l’aide de BizTalk Server.

  • Pour BizTalk Server

    System.ArgumentNullException: Value cannot be null.  
    

    Cause

    L’action WCF pour le message n’est pas spécifiée. WCF nécessite qu’une action SOAP soit spécifiée pour chaque opération, ce qui informe l’adaptateur de l’opération à effectuer sur l’application métier.

    Résolution :

    Spécifiez l’action SOAP dans le port d’envoi ou en tant que propriété de contexte de message dans une orchestration BizTalk. Pour obtenir des instructions, consultez Configurer l’action SOAP pour Oracle E-Business Suite. Consultez Messages et schémas de message pour l’adaptateur EBS Oracle pour afficher la liste des actions pour chaque opération.

Le processus BizTalk peut se bloquer en raison d’une version incorrecte du client Oracle lorsqu’un message de demande est supprimé à l’emplacement de réception

Problème

Une fois qu’un message de demande est supprimé à un emplacement de réception défini dans une orchestration BizTalk, l’orchestration consomme le message et l’hôte BizTalk (BTSNTSvc.exe) se bloque et redémarre.

Cause

L’installation du client Oracle ajoute la référence aux assemblys clients les plus récents dans la variable PATH. En outre, les références à l’installation la plus récente de l’assembly client Oracle précèdent la référence aux assemblys clients existants. Par conséquent, si l’installation la plus récente du client Oracle n’est pas d’une version cliente prise en charge, l’hôte BizTalk se bloque, puis redémarre.

Par exemple, supposons que le client Oracle 11.1.0.7 pris en charge est déjà installé sur l’ordinateur et que la variable PATH possède la référence suivante :

C:\oracle\product\11.1.0\client_1\bin;  

Si un client Oracle non pris en charge, par exemple 10.2.0.3, est installé sur le même ordinateur, la variable PATH aura la référence suivante :

C:\oracle\product\10.2.0\db_2\bin;C:\oracle\product\11.1.0\client_1\bin;  

Notez que la version du client non prise en charge est référencée avant la version prise en charge et que, par conséquent, l’hôte BizTalk se bloque. Si plusieurs hôtes BizTalk sont en cours d’exécution, celui qui héberge l’adaptateur se bloque.

Résolution :

Si plusieurs clients Oracle sont installés sur le même ordinateur, assurez-vous que la version du client Oracle prise en charge est référencée avant les autres versions du client Oracle dans la variable PATH. Par exemple, si la version du client Oracle prise en charge est 11.1.0.7, la référence dans la variable PATH doit ressembler à ceci :

  
C:\oracle\product\11.1.0\client_1\bin;C:\oracle\product\10.2.0\db_2\bin;  

L’adaptateur peut lever une exception de dépassement de capacité lors de l’exécution d’une opération

Problème

À l’aide de l’adaptateur, si vous essayez d’effectuer une opération contenant des types de données numériques Oracle dans des DataSets ou des CURSEURS REF faiblement typés, l’adaptateur peut lever une exception de dépassement de capacité.

Cause

Cela se produit si vous fournissez une valeur importante pour le type de données numérique Oracle dans des DataSets ou des CURSEURS REF faiblement typés qui ne peuvent pas tenir dans le type .NET respectif.

Résolution :

Si vous souhaitez transmettre des valeurs importantes pour le type de données numérique Oracle à l’intérieur de DataSets ou de CURSEURS REF faiblement typés, vous devez activer la saisie sécurisée en définissant la valeur de la propriété de liaison EnableSafeTyping sur true. L’activation de la saisie sécurisée expose le type de données numérique Oracle à l’intérieur des DataSets ou des CURSEURS REF faiblement typés en tant que chaînes.

L’adaptateur peut lever une exception de dépassement de capacité arithmétique lors de l’exécution d’une opération ExecuteScalar

Problème

À l’aide de l’adaptateur, si vous essayez d’exécuter une instruction SELECT dans une opération ExecuteScalar qui récupère un grand nombre, l’adaptateur lève l’exception suivante : « System.OverflowException : L’opération arithmétique a entraîné un dépassement de capacité ».

Cause

Cela se produit en raison de la limitation connue de l’opération ExecuteScalar dans ODP.NET. ODP.NET tente de tenir dans les données dans le type de données .NET Decimal, et si le résultat est trop grand pour tenir dans le type .NET Decimal, l’exception est levée.

Résolution :

Utilisez TO_CHAR() dans l’instruction SELECT de l’opération ExecuteScalar pour convertir les données retournées en tant que chaîne.

Le client d’adaptateur peut lever l’exception suivante lors de l’exécution d’une opération : « Impossible de récupérer l’ID d’utilisateur, l’ID de responsabilité, l’ID d’application. Vérifiez si des valeurs correctes ont été passées. »

Problème

Les clients d’adaptateur peuvent lever cette exception si vous effectuez des opérations sur des artefacts Oracle E-Business Suite (tables d’interface, vues d’interface, programmes simultanés et jeux de requêtes).

Cause

Cela se produit si vous fournissez une combinaison incorrecte de nom d’utilisateur Oracle, mot de passe et nom de responsabilité lors de l’exécution d’opérations sur les tables d’interface, les vues d’interface, les programmes simultanés et les jeux de demandes. L’adaptateur Oracle E-Business nécessite ces valeurs pour définir le contexte de l’application pour ces artefacts. Pour plus d’informations sur la définition du contexte d’application, consultez Définir le contexte de l’application.

Résolution :

Vous devez spécifier une combinaison correcte du nom d’utilisateur Oracle, du mot de passe et de la responsabilité pour définir de manière appropriée le contexte de l’application pour un artefact Oracle E-Business Suite. Pour spécifier des valeurs pour le nom d’utilisateur et le mot de passe Oracle, vous devez utiliser les propriétés de liaison OracleUserName et OraclePassword . Pour spécifier la valeur de la responsabilité Oracle, vous pouvez utiliser la propriété de liaison OracleEBSResponsibilityName ou la propriété de contexte de message.

Erreur avec RootNode TypeName dans les projets BizTalk

Problème

Dans un projet BizTalk dans Visual Studio, si les schémas générés à partir du complément Consume Adapter Service contiennent des caractères ou des mots réservés non valides pour la propriété RootNode TypeName , l’erreur suivante se produit lors de la compilation du projet :

Node <node reference> - Specify a valid .NET type name for this root node.  
The current .NET type name of this root node is invalid (it is a reserved BizTalk Keyword or is an invalid C# identifier).  

Résolution :

  1. Cliquez avec le bouton droit sur le nœud jubé référencé dans l’erreur, puis sélectionnez Propriétés.

  2. Pour la propriété TypeName RootNode , supprimez les caractères non autorisés ou les mots réservés, par exemple point (.).

Avertissement de liaison non valide lors de l’utilisation de l’adaptateur dans Visual Studio

Problème

Lorsque vous utilisez l’adaptateur pour créer une application dans Visual Studio 2013 et que vous ouvrez le fichier de configuration (app.config) généré par l’adaptateur, un avertissement similaire au suivant s’affiche :

The element 'bindings' has invalid child element 'oracleEBSBinding'. List of possible elements expected: 'basicHttpBinding, customBinding, ...  

Cause

Cet avertissement s’affiche, car la liaison de l’adaptateur Oracle E-Business, oracleEBSBinding, n’est pas une liaison standard fournie avec Windows Communication Foundation (WCF).

Résolution :

Vous pouvez ignorer cet avertissement sans problème.

BizTalk Server lève une exception si vous utilisez plusieurs schémas de notification dans la même application ou si vous utilisez le schéma de notification sur plusieurs applications sur le même hôte

Problème

BizTalk Server lève une exception XLANG ou une exception indiquant que l’application ne peut pas localiser la spécification du document, car plusieurs schémas correspondent au type de message.

Cause

Cela se produit en raison de l’une des raisons suivantes :

  • Vous avez généré plusieurs schémas de notification dans un projet BizTalk Server, vous l’avez déployé sur une application BizTalk Server, puis vous avez exécuté l’application pour recevoir des notifications de la base de données Oracle. Étant donné que les schémas de notification sont courants, il existe un conflit entre les schémas déployés dans l’application BizTalk Server.

  • Dans le cas de plusieurs projets, vous avez généré un schéma de notification pour chacun des projets BizTalk Server, déployé chaque projet sur une application BizTalk Server distincte sur le même hôte, puis exécuté une ou plusieurs applications pour recevoir des notifications de la base de données Oracle. Étant donné que les schémas et les assemblys sont accessibles dans toutes les applications dans BizTalk Server, il existe un conflit entre les schémas communs déployés sous différents BizTalk Server applications et assemblys.

    Résolution :

    Utilisez un fichier de schéma de notification unique pour une application BizTalk Server. Si vous devez utiliser le schéma de notification dans plusieurs applications BizTalk Server sur le même hôte, créez une application contenant un schéma de notification unique, puis utilisez le schéma de notification de toutes les autres applications dans BizTalk Server.

Exception de délai d’expiration lors de la navigation dans Oracle E-Business Suite Artifacts dans Visual Studio

Problème

Lorsque vous parcourez les artefacts Oracle E-Business Suite dans un projet Visual Studio à l’aide de l’Assistant Ajout de métadonnées d’adaptateur, Ajouter un plug-in de référence de service d’adaptateur ou Consommer le complément service de l’adaptateur, vous pouvez rencontrer une exception de délai d’expiration.

Cause

Cela peut se produire si le serveur hébergeant Oracle E-Business Suite est lent, si le serveur se trouve à un emplacement distant ou si le schéma sous lequel vous examinez contient un grand nombre d’artefacts.

Résolution :

Vous pouvez choisir d’augmenter la valeur de la propriété de liaison SendTimeout ou de fournir une expression de recherche dans la zone de texte Rechercher dans la catégorie pour réduire le nombre d’artefacts récupérés par l’adaptateur.

Pour plus d’informations sur la spécification des propriétés de liaison, consultez Configurer les propriétés de liaison pour Oracle E-Business Suite. Pour plus d’informations sur la recherche d’artefacts dans Oracle E-Business Suite, consultez Parcourir, rechercher et obtenir des métadonnées pour les opérations Oracle E-Business Suite.

L’utilisation de la mémoire et le nombre de threads augmentent lors de l’utilisation de l’adaptateur dans une opération entrante transactionnée

Problème

Dans une opération entrante transactionnée, telle que l’interrogation, si aucune donnée n’est disponible dans la table en cours d’interrogation et que l’adaptateur continue à interroger, vous constatez une augmentation de l’utilisation de la mémoire et du nombre de threads sur une période donnée.

Cause

Si aucune donnée n’est disponible dans la table en cours d’interrogation, après chaque cycle de délai d’expiration de réception, Windows Communication Foundation (WCF) génère un nouveau thread pour poursuivre l’opération d’interrogation. Par conséquent, le nombre de threads et l’utilisation de la mémoire augmentent sur une période donnée. Toutefois, si la table interrogée contient des données, le même thread continue d’effectuer tous les sondages suivants.

Résolution :

Nous vous recommandons de définir ReceiveTimeout sur la valeur maximale possible, qui est 24.20 :31 :23.64700000 (24 jours) afin qu’un nouveau thread ne soit généré que tous les 24 jours. Cela garantit que l’utilisation de la mémoire et le nombre de threads ne augmentent pas trop tôt.

Pour plus d’informations sur la propriété de liaison ReceiveTimeout , consultez En savoir plus sur les propriétés de liaison de l’adaptateur BizTalk pour Oracle E-Business Suite. Pour obtenir des instructions sur la spécification des propriétés de liaison, consultez Configurer les propriétés de liaison pour Oracle E-Business Suite.

Notes

Lorsque vous utilisez l’adaptateur avec BizTalk Server, définir le délai d’expiration sur une valeur importante n’a pas d’impact sur les fonctionnalités de l’adaptateur.

Voir aussi

Résolution des problèmes de l’adaptateur Oracle EBS