API d'adaptateurs locaux optimisés sur Liberty pour z/OS
Les adaptateurs WebSphere locaux optimisés (WOLA) sur Liberty sont pris en charge par un ensemble d'API de services d'appels z/OS en langage natif et par l'architecture JCA (Java™ EE Connector Architecture).
- COBOL
- C/C++
- PL/I
- Langages d'assemblage de haut niveau
Le terme connexion locale fait référence à une liaison intermémoire qui est créée pour la communication entre un espace adresse externe sur le système z/OS et le serveur Liberty sur le même système z/OS. L'espace adresse client doit s'exécuter sur la même image z/OS. L'API des adaptateurs gère ces connexions locales dans des pools associés individuellement à chaque programme appelant enregistré. Le nom d'enregistrement de 12 caractères peut être utilisé pour un seul ensemble de pools de connexions par espace adresse. Le nombre d'enregistrements uniques dans un seul espace adresse n'est limité que par la quantité de stockage disponible.
- Register - BBOA1REG
- Unregister - BBOA1URG
- Connection Get - BBOA1CNG
- Connection Release - BBOA1CNR
- Send Request - BBOA1SRQ
- Send Response - BBOA1SRP
- Send Response Exception - BBOA1SRX
- Receive Request Any - BBOA1RCA
- Receive Request Specific - BBOA1RCS
- Receive Response Length - BBOA1RCL
- Get Message Data - BBOA1GET
- Invoke - BBOA1INV
- Host Service - BBOA1SRV
- API de l'adaptateur JCA
Register
Avec l'API BBOA1REG, vous pouvez procéder à l'enregistrement sur un serveur Liberty local. L'API BBOA1REG exige qu'un groupe de connexions optimisées sur un serveur Liberty local soit alloué et enregistré sous le nom d'enregistrement spécifié.
API | Syntaxe |
---|---|
BBOA1REG | BBOA1REG (wolagroupnamepart1, wolagroupnamepart2, wolagroupnamepart3, registername, minconn, maxconn, registerflags, rc, rsn) |
- wolagroupnamepart1
- Une variable d'entrée ou une constante d'entrée qui contient la première partie du nom du groupe d'adaptateurs locaux optimisés à rejoindre. Il doit s'agir d'une chaîne à terminaison nulle d'exactement 8 caractères, qui doit être transmise par une référence.
- wolagroupnamepart2
- Une variable d'entrée ou une constante d'entrée qui contient la deuxième partie du nom du groupe d'adaptateurs locaux optimisés à rejoindre. Il doit s'agir d'une chaîne remplie par des blancs d'exactement 8 caractères, qui doit être transmise par une référence.
- wolagroupnamepart3
- Une variable d'entrée ou une constante d'entrée qui contient la troisième partie du nom du groupe d'adaptateurs locaux optimisés à rejoindre. Il doit s'agir d'une chaîne remplie par des blancs d'exactement 8 caractères, qui doit être transmise par une référence.
- registername (entrée)
- Variable d'entrée ou constante d'entrée qui contient le nom utilisé pour enregistrer un ensemble de connexions locales. Les appels suivants demandent ce nom pour identifier le pool de connexions à utiliser. Il doit s'agir d'une chaîne de remplissage de 12 caractères qui ne peut pas être utilisée par un autre client dans le groupe de démons. Si ce client se connecte à plusieurs groupes de démons, l'élément registername ne peut être utilisé qu'une seule fois dans ce client.
- minconn
- Un entier qui représente le nombre initial minimal de connexions à allouer pour cet enregistrement. L'adaptateur essaie de réserver ce nombre de connexions au serveur
associé au moment de l'enregistrement. Important : Une connexion au moins est allouée pour la liaison au serveur cible même si le paramètre minconn a pour valeur 0 ; par conséquent, si vous spécifiez 0, cela revient à spécifier 1.
- maxconn
- Un entier qui représente le nombre maximal de connexions à allouer pour cet enregistrement. L'adaptateur tente de porter le pool de connexions locales à cette valeur au cours d'une demande d'API Connection Get lorsque le nombre minimal de connexions est atteint.
- registerflags
- Un mot d'indicateur 32 bits qui contient les indicateurs d'enregistrement.
- reg_flag_W2Cprop - Bit 31
L'indicateur reg_flag_W2Cprop contrôle la propagation de la sécurité des transactions sortantes depuis le serveur Liberty vers CICS.
- reg_flag_C2Wprop - bit 29
L'indicateur reg_flat_C2Wprop propage l'identité dans la tâche appelante depuis CICS vers le serveur Liberty. Pour les transactions entrantes provenant de CICS, l'indicateur contrôle la façon dont l'identité est déterminée. Lorsque ce bit est activé, l'identité de la tâche d'application CICS est utilisée dans le processus d'autorisation du serveur Liberty. Quand il est désactivé, l'identité utilisée est celle de la région du service CICS.
- reg_flag_trcmod - bit 0
Définissez l'indicateur reg_flag_trcmod si vous voulez modifier les paramètres de trace des adaptateurs locaux optimisés pour l'enregistrement demandé. Si vous ne paramétrez pas cette balise, aucun changement apporté au paramètre de traçage n'est effectué et les valeurs par défaut du système ou les paramètres de traçage prédéfinis qui s'appliquent au nom d'enregistrement ou de travail sont utilisés.
- reg_flag_trcmore - bit 1 et reg_flag_trcsome -
bit 2
Si vous associez l'indicateur reg_flag_trcmod à la valeur 1, vous devez aussi spécifier le niveau de trace de l'enregistrement en définissant l'indicateur reg_flag_trcmore pour une trace détaillée ou l'indicateur reg_flag_trcsome pour une trace plus grossière. Si reg_flag_trcmod a pour valeur 1, l'association de l'indicateur reg_flag_trcmore ainsi que de l'indicateur reg_flag_trcsome à la valeur 0 force l'absence de trace pour l'enregistrement, quelles que soient les prédéfinitions ou les valeurs par défaut définies.
- reg_flag_W2Cprop - Bit 31
- rc
- Un code retour entier qui indique la réussite ou l'échec de cet appel.
- rsn
- Un code anomalie entier qui décrit la raison de l'échec de cet appel.
- Assurez-vous que le serveur Liberty que vous avez spécifié dans cet appel est démarré et que la prise en charge des adaptateurs locaux est activée.
- Le nombre minimal de connexions demandé est validé par rapport au nombre maximal de connexions du serveur. Un nombre minimal de connexions
(minconn) de 3 signifie que trois connexions sont réservées au cours de l'appel d'enregistrement. Si plus de trois
connexions sont demandées à un moment donné, le pool de connexions peut passer au nombre maximal de connexions (maxconn). Lorsque le
nombre de toutes les connexions à un serveur atteint la valeur maximale autorisée, toutes les demandes suivantes de l'API Connection Get pour ce serveur
sont rejetées, même si la valeur maxconn n'est pas encore atteinte. Important : Soyez toujours prudent lorsque vous définissez le nombre minimal de connexions. Sauf dans des cas précis, ne définissez pas une valeur élevée car des ressources sur le serveur Liberty sont réservées pour chaque connexion.
- Plusieurs appels de l'API Register peuvent être effectués dans le même espace adresse, dans la même unité d'exécution ou sous la même tâche CICS (Customer Information Control System), toutefois, ils ne peuvent pas partager le même nom d'enregistrement. Le nom d'enregistrement, doit être unique.
- Utilisez l'appel de l'API Unregister pour supprimer cet enregistrement et libérez le pool de connexions qui lui est associé.
- Quand l'espace adresse qui émet un appel d'enregistrement prend fin, l'enregistrement se termine automatiquement et les connexions sont libérées.
Code retour | Code anomalie | Description | Action |
---|---|---|---|
0 | - | Réussi | |
4 | 4 | La valeur 1 a été affectée à l'indicateur d'enregistrement transactionnel dans un environnement dont l'adaptateur ne prend pas en charge les transactions globales. | Ce paramètre est ignoré et le traitement continue. |
8 | - | Erreur - voir le code anomalie | |
8 | Le jeton du nom d'enregistrement existe déjà. | Désenregistrez ce nom avant d'appeler l'API Register. | |
12 | Le nombre minimal de connexions indiqué est supérieur au nombre maximal autorisé. | Indiquez un nombre minimal de connexions inférieur ou égal au nombre maximal défini. | |
14 | La mémoire partagée disponible est insuffisante pour créer cet enregistrement. | Augmentez la quantité de mémoire partagée affectée à l'adaptateur local optimisé ou émettez des appels de désenregistrement pour réduire la consommation des ressources. | |
74 | Le nom d'enregistrement saisi contient une valeur NULL. | Avant d'appeler l'API Register, remplissez le nom d'enregistrement avec des espaces vides pour qu'il comporte exactement 12 caractères. | |
236 |
La 2e ou 3e partie du nom WOLA était vide ou manquante. | Vérifiez que la 2e partie et la 3e partie du nom WOLA sont spécifiées sur l'appel BBOA1REG. | |
480 |
Le client n'a pas pu être autorisé à appeler la fonction de registre. | Cette condition est inattendue. Vérifiez que le serveur cible fonctionne et que le service zosLocalAdapters est configuré dans l'instance de serveur. | |
481 |
Le client n'a pas pu trouver la table de fonction autorisée pour les services zosLocalAdapters. | Vérifiez que la fonction zosLocalAdapters est configurée sur l'instance de serveur cible. | |
12 | 10 | L'API n'est pas parvenue à localiser le groupe d'adaptateurs locaux optimisés sélectionné. | Vérifiez que le serveur Liberty et le serveur cible sont démarrés et que la prise en charge des adaptateurs locaux optimisés est activée, puis essayez à nouveau. |
14 | L'ID utilisateur n'est pas autorisé pour le serveur Liberty demandé. | Vérifiez que l'ID utilisateur est autorisé dans la classe CBIND de SAF pour le serveur Liberty demandé. | |
16 | La deuxième ou la troisième partie du nom de groupe d'adaptateurs locaux optimisés est introuvable. | Vérifiez que les paramètres du nom de groupe d'adaptateurs locaux optimisés qui sont transmis sont valides et que le serveur est actif. | |
23 | Une erreur s'est produite pendant la définition du nom du jeton. | Voir les informations d'identification et de résolution des problèmes sur le site de support de WebSphere Application Server. | |
24 | Une erreur est survenue lors de l'établissement de la connexion de communication locale initiale du serveur Liberty. | Consultez les journaux de la région du serveur Liberty pour des détails sur l'appel de connexion de communication locale. | |
28 | L'enregistrement identifié par ce nom est incorrect. | Le nom d'enregistrement spécifié est déjà enregistré, mais l'enregistrement manque. Pour contourner le problème, appelez l'API Unregister et tentez d'appeler l'API Register à nouveau. Si le problème persiste, voir les informations d'identification et de résolution des problèmes sur le site de support de WebSphere Application Server. | |
68 | Une tentative de connexion à la mémoire partagée a échoué. | Voir les informations d'identification et de résolution des problèmes sur le site de support de WebSphere Application Server. | |
86 | La table des vecteurs globaux du courtier (BGVT) principale du serveur Liberty est introuvable. | Le serveur Liberty n'a pas été démarré sur l'image du système d'exploitation z/OS. Assurez-vous que le serveur est démarré avant de démarrer des processus client d'adaptateurs locaux optimisés. | |
88 | La table des modules de remplacement client principale est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. | |
90 | L'emplacement de la table des modules de remplacement client principale pour les adaptateurs locaux optimisés du serveur Liberty est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. | |
232 |
Une insuffisance de mémoire s'est produite lors d'un appel de registre. | Assurez-vous que le client a suffisamment de mémoire disponible dans la sous-portion de mémoire 0. Renouvelez l'appel BBOA1REG. | |
234 |
Le client n'a pas pu effectuer la liaison à l'instance de serveur Liberty. | Vérifiez que l'instance de serveur Liberty a été démarrée et que le service zosLocalAdapters est configuré dans l'instance de serveur. | |
238 |
Le client n'a pas pu localiser l'enregistrement du serveur cible. | Cette condition est inattendue. Vérifiez que l'instance de serveur cible a été démarrée et que la fonction zosLocalAdapters est configurée. Si le serveur est arrêté, démarrez-le et renouvelez l'appel BBOA1REG. |
Unregister
Désenregistrement du groupe des adaptateurs locaux optimisés local et du serveur Liberty avec l'API BBOA1URG .API | Syntaxe |
---|---|
BBOA1URG | BBOA1URG (registername, unregflags, rc, rsn) |
- registername
- Une variable d'entrée ou une constante d'entrée qui contient le nom à utiliser pour désenregistrer un ensemble de connexions locales. Il doit s'agir d'une valeur d'exactement 12 caractères, remplie avec des blancs, correspondant au nom qui est utilisé dans l'appel de l'API Register.
- unregisterflags
- Mot d'indicateur de 32 bits qui contient les indicateurs de désenregistrement.
- Réservé - bit 0 à 30
- Force (0|1) - bit 31
Spécifiez 1 pour forcer la demande de désenregistrement. Par défaut, une demande de désenregistrement est terminée lorsque toutes les connexions ont été renvoyées au pool de connexions. Si toutes les connexions ne sont pas revenues dans le pool, un avertissement est envoyé à l'appelant. Le processus de désenregistrement est terminé lorsque la dernière connexion est renvoyée au pool. Emettez une deuxième demande d'enregistrement avec le bit force associé à la valeur 1 pour forcer l'exécution du processus de désenregistrement et invalider tous les descripteurs de connexion restants pour cet enregistrement.
- rc
- Un code retour entier qui indique la réussite ou l'échec de cet appel.
- rsn
- Un code anomalie entier qui décrit la raison de l'échec de cet appel.
- Assurez-vous que le serveur Liberty que vous avez spécifié dans cet appel est démarré et que la prise en charge des adaptateurs locaux est activée.
- Si vous n'appelez pas l'API Unregister et que l'espace adresse à l'origine de l'appel d'enregistrement prend fin, un appel de désenregistrement s'exécute automatiquement et les connexions sont libérées.
- Tous les descripteurs de connexion liés à cet enregistrement et qui sont actifs quand l'appel de désenregistrement survient peuvent rester valides jusqu'à ce que les connexions soient renvoyées au pool de connexions à l'aide de l'API Connection Release. Pour forcer le nettoyage des descripteurs de connexion, un deuxième appel de désenregistrement assorti de l'indicateur force est nécessaire. Cet appel invalide tous les descripteurs de connexion restants.
Code retour | Code anomalie | Description | Action |
---|---|---|---|
0 | - | Réussi | |
4 | - | Avertissement - voir le code anomalie | |
66 | L'appel de désenregistrement est différé jusqu'à ce que toutes les connexions reviennent au pool. | Le désenregistrement a lieu quand la dernière connexion revient au pool de connexions. | |
8 | - | Erreur - voir le code anomalie | |
8 | Le nom de jeton d'enregistrement n'existe pas. | Vous devez enregistrer ce nom avant d'appeler l'API Unregister. | |
64 | Vous ne pouvez pas spécifier l'option force avant d'exécuter un désenregistrement normal. | Appelez l'API Unregister sans indiquer l'option force. | |
82 | Une tentative de désenregistrement de cet enregistrement a déjà eu lieu. | Attendez la fin de l'exécution de la demande de désenregistrement précédente ou réexécutez ce désenregistrement avec l'option force . | |
228 |
Le désenregistrement de l'appel n'a pas pu être effectué car l'enregistrement a déjà été réutilisé. | Aucune action n'est requise. | |
230 |
Le pool de connexions n'a pas pu être nettoyé lors d'un appel de force de désenregistrement. | Aucune action n'est requise. Pour éviter l'utilisation d'un appel de force de désenregistrement, vérifiez que votre application renvoie tous les descripteurs de connexion au pool avant d'appeler le désenregistrement. | |
480 |
Le client n'a pas été autorisé à appeler la fonction de désenregistrement. | Cette condition est inattendue. Vérifiez que le serveur cible fonctionne et que le service zosLocalAdapters est configuré dans l'instance de serveur. | |
12 | 86 | La table des vecteurs globaux du courtier (BGVT) principale du serveur Liberty est introuvable. | Le serveur Liberty n'a pas été démarré sur l'image du système d'exploitation z/OS. Assurez-vous que le serveur est démarré avant de démarrer des processus client d'adaptateurs locaux optimisés. |
88 | La table des modules de remplacement client principale est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. | |
90 | L'emplacement de la table des modules de remplacement client principale pour les adaptateurs locaux optimisés du serveur Liberty est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. |
Connection Get
Cette API demande qu'une connexion disponible du pool qui a été créé avec le nom d'enregistrement sélectionné soit renvoyée.API | Syntaxe |
---|---|
BBOA1CNG | BBOA1CNG (registername, connectionhandle, waittime, rc, rsn) |
- registername
- Variable ou constante qui contient le nom à utiliser pour rechercher le pool de connexions dont vous voulez extraire une connexion. Il s'agit obligatoirement d'une chaîne de remplissage de 12 caractères.
- connectionhandle
- Descripteur de connexion sur 12 octets devant être transmis dans les demandes d'actions ultérieures sur cette connexion.
- waittime
- Entier qui indique le délai d'attente (en secondes) d'une connexion avant l'envoi d'un code anomalie indiquant l'indisponibilité de la connexion demandée. La valeur 0 implique qu'il n'existe pas de délai d'attente et que l'API attend indéfiniment. Le paramètre waittime s'applique uniquement au processus d'obtention d'une connexion WOLA à partir du pool de connexions. Lorsque la connexion est obtenue, elle est utilisée pour recevoir une requête du serveur avec un temps d'attente illimité.
- rc
- Un code retour entier qui indique la réussite ou l'échec de cet appel.
- rsn
- Un code anomalie entier qui décrit la raison de l'échec de cet appel.
- Assurez-vous que le serveur Liberty que vous avez spécifié dans cet appel est démarré et que la prise en charge des adaptateurs locaux est activée.
- Assurez-vous qu'un appel de l'API Register a abouti dans l'espace adresse courant avec un nom correspondant avant d'utiliser l'API Connection Get.
Code retour | Code anomalie | Description | Action |
---|---|---|---|
0 | - | Réussi | |
4 | - | Avertissement - voir le code anomalie | |
8 | - | Erreur - voir le code anomalie | |
8 | Le jeton du nom d'enregistrement n'existe pas. | Enregistrez ce nom avant de l'appeler avec l'API Connection Get. | |
10 | La connexion demandée est indisponible. Le délai d'attente est arrivé à expiration avant l'établissement de la connexion demandée. | Le mode opératoire de l'application varie selon les cas. Patientez, puis essayez à nouveau, ou émettez la macro d'abandon afin de mettre fin à la tâche qui a appelé l'API Connection Get. Vous pouvez aussi augmenter le nombre maximal de connexions dans l'appel de l'API Register. | |
24 | Après un appel d'enregistrement réussi, une erreur s'est produite pendant l'obtention d'une connexion à partir du pool de connexions. | Assurez-vous que le serveur est démarré. S'il ne fonctionne pas, redémarrez le serveur puis exécutez à nouveau la requête de l'API. | |
28 | L'enregistrement a été trouvé mais est inactif. | ||
224 |
Un enregistrement incomplet a été trouvé. | Cette condition est inattendue. Utilisez le service BBOA1URG pour vous désenregistrer et utilisez le service BBOA1REG pour vous enregistrer à nouveau. | |
480 |
Le client n'a pas été autorisé à appeler la fonction d'obtention de connexion. | Cette condition est inattendue. Vérifiez que le serveur cible fonctionne et que le service zosLocalAdapters est configuré dans l'instance de serveur. | |
482 |
Le client n'a pas pu se reconnecter à l'instance de serveur cible après le redémarrage du serveur. | Cette condition est inattendue. Utilisez le service BBOA1URG pour supprimer l'enregistrement et le service BBOA1REG pour créer un nouvel enregistrement. | |
483 |
Le client n'a pas pu se reconnecter à l'instance de serveur cible après le redémarrage du serveur. | Cette condition est inattendue. Utilisez le service BBOA1URG pour supprimer l'enregistrement et le service BBOA1REG pour créer un nouvel enregistrement. | |
12 | 10 | L'API n'est pas parvenue à localiser le groupe d'adaptateurs locaux optimisés sélectionné. | Vérifiez que le serveur Liberty et le serveur cible sont démarrés et que la prise en charge des adaptateurs locaux optimisés est activée, puis essayez à nouveau. |
14 |
L'ID utilisateur n'est pas autorisé pour le serveur Liberty demandé. | Vérifiez que l'ID utilisateur est autorisé dans la classe CBIND de SAF pour le serveur Liberty demandé. | |
86 | La table des vecteurs globaux du courtier (BGVT) principale du serveur Liberty est introuvable. | Le serveur Liberty n'a pas été démarré sur l'image du système d'exploitation z/OS. Assurez-vous que le serveur est démarré avant de démarrer des processus client d'adaptateurs locaux optimisés. | |
88 | La table des modules de remplacement client principale est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. | |
90 | L'emplacement de la table des modules de remplacement client principale pour les adaptateurs locaux optimisés du serveur Liberty est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. |
Connection Release
L'API Connection Release demande qu'une connexion soit renvoyée au pool duquel elle a été extraite et qu'elle soit mise à la disposition d'un autre demandeur.API | Syntaxe |
---|---|
BBOA1CNR | BBOA1CNR (connectionhandle, rc, rsn) |
- connectionhandle
- Descripteur de connexion sur 12 octets qui indique la connexion obtenue précédemment qui doit être libérée dans le pool de connexions.
- rc
- Un code retour entier qui indique la réussite ou l'échec de cet appel.
- rsn
- Un code anomalie entier qui décrit la raison de l'échec de cet appel.
- Assurez-vous que le serveur Liberty que vous avez spécifié dans cet appel est démarré et que la prise en charge des adaptateurs locaux est activée.
- Avant d'utiliser l'API Connection Release, assurez-vous qu'un appel de l'API Register a abouti dans l'espace adresse courant avec un nom correspondant et qu'un appel de l'API Connection Get s'est terminé pour obtenir la connexion qui doit maintenant être libérée.
Code retour | Code anomalie | Description | Action |
---|---|---|---|
0 | - | Réussi | |
4 | - | Impossible de localiser le groupe d'adaptateurs locaux optimisés local et le serveur Liberty. Toutes les ressources liées à cette connexion ont été effacées. | Aucune |
8 | - | Erreur - voir le code anomalie | |
36 | L'état de la connexion est incorrect. | Le descripteur de connexion utilisé pour cette requête a un état incorrect. Pour plus d'informations sur les états des connexions, reportez-vous à la documentation de l'API. | |
38 | Le descripteur de connexion client est incorrect. | Le descripteur de connexion client utilisé pour cette requête est incorrect. Pour plus d'informations sur les descripteurs de connexion client, reportez-vous à la documentation de l'API. | |
12 | 86 | La table des vecteurs globaux du courtier (BGVT) principale du serveur Liberty est introuvable. | Le serveur Liberty n'a pas été démarré sur l'image du système d'exploitation z/OS. Assurez-vous que le serveur est démarré avant de démarrer des processus client d'adaptateurs locaux optimisés. |
88 | La table des modules de remplacement client principale est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. | |
90 | L'emplacement de la table des modules de remplacement client principale pour les adaptateurs locaux optimisés du serveur Liberty est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. |
Send Request
Ces API envoient une demande au serveur Liberty local en vue de son traitement.API | Syntaxe |
---|---|
BBOA1SRQ | BBOA1SRQ (connectionhandle, requesttype, requestservicename, requestservicenamel, requestdata, requestdatalen, async(0|1), responsedatalen, rc, rsn) |
- connectionhandle
- Descripteur de connexion sur 12 octets utilisé pour cette demande.
- requesttype
- Entier contenant le type de demande qui indique le type de demande de travail à traiter. La seule valeur prise en charge est 1 pour les demandes de travail EJB locales.
- requestservicename
- Chaîne de caractères EBCDIC de 256 octets maximum qui contient le nom du service à appeler. Ce paramètre spécifie le nom JNDI de l'interface métier locale.
- requestservicenamel
- Entier contenant la longueur du nom de service à démarrer ou 0 (zéro) si le nom de service se termine par null.
- requestdata
- Pointeur de 31 bits désignant l'adresse de départ des données de demande à envoyer.
- requestdatalen
- Valeur non signée de 32 bits contenant la longueur des données à envoyer.
- async(0|1)
- Associez async à la valeur 1 pour indiquer que l'appelant souhaite reprendre le contrôle immédiatement, même si la longueur de la réponse n'est pas encore connue. Si vous associez async à la valeur 0, l'unité d'exécution courante attend que le serveur Liberty renvoie la réponse, et l'API renvoie la longueur de la réponse dans le paramètre de sortie responsedatalen.
- responsedatalen
- Valeur non signée de 32 bits contenant la longueur de la réponse. L'appelant peut utiliser cette longueur afin d'acquérir du stockage avant l'appel de l'API Get Data pour copier les données. Lorsque vous associez async à la valeur 1, pour indiquer que l'appelant souhaite reprendre le contrôle immédiatement, la valeur 0xFFFFFFFF est définie si la réponse n'a pas encore été reçue.
- rc
- Un code retour entier qui indique la réussite ou l'échec de cet appel.
- rsn
- Un code anomalie entier qui décrit la raison de l'échec de cet appel.
- Assurez-vous que le serveur Liberty que vous avez spécifié dans cet appel est démarré et que la prise en charge des adaptateurs locaux est activée.
- Assurez-vous qu'un appel de l'API Register a abouti dans l'espace adresse courant avec un nom correspondant avant d'utiliser l'API Send Request.
Code retour | Code anomalie | Description | Action |
---|---|---|---|
0 | - | Réussi | |
4 | - | Avertissement - voir le code anomalie | |
8 | - | Erreur - voir le code anomalie | |
8 | Le jeton de nom d'enregistrement existe déjà. | Assurez-vous que le nom d'enregistrement communiqué est valide. | |
16 | La longueur du nom de service de la requête est incorrect. | Corrigez les données saisies et recommencez. | |
18 | La longueur de la requête dépasse les limites du système. | La taille du message dépasse les capacités de prise en charge des messages du serveur Liberty. Assurez-vous que la taille est valide. Si la taille est valide, vérifiez que le paramètre de taille du serveur Liberty permet d'accepter les messages de cette taille. | |
32 | Le type de requête utilisé pour l'appel d'API est incorrect. | Le type de requête utilisé est incorrect. Corrigez les données saisies et recommencez l'appel. | |
34 | Le service cible est introuvable. | Vérifiez que l'application qui contient le bean enterprise cible est installée et démarrée sur le serveur cible pour le serveur Liberty. | |
36 | L'état de la connexion est incorrect. | Le descripteur de connexion utilisé pour la requête a un état incorrect. Pour plus d'informations sur les états des connexions, reportez-vous à la documentation de l'API. | |
38 | Le descripteur de connexion client est incorrect. | Le descripteur de connexion client utilisé pour la requête est incorrect. Pour plus d'informations sur les descripteurs de connexion client, reportez-vous à la documentation de l'API. | |
40 | Une erreur de transmission locale s'est produite. | Recherchez dans le journal du serveur Liberty les messages liés à une erreur de communication locale. | |
44 | Une exception ou une condition inattendue s'est produite dans le bean enterprise cible. | Recherchez dans les journaux du serveur Liberty les données liées à cette exception. | |
46 | Une erreur de communication locale s'est produite pendant l'appel de la requête. | Consultez les journaux du serveur Liberty pour identifier l'erreur. | |
98 | Le début de la mémoire tampon de requête est inaccessible. | Vérifiez que l'adresse et la longueur de la mémoire tampon de requête sont correctes. | |
100 | La fin de la mémoire tampon de requête est inaccessible. | Vérifiez que l'adresse et la longueur de la mémoire tampon de requête sont correctes. | |
12 | 10 | L'API n'est pas parvenue à localiser le groupe d'adaptateurs locaux optimisés sélectionné. | Vérifiez que le serveur Liberty et le serveur cible sont démarrés et que la prise en charge des adaptateurs locaux optimisés est activée, puis essayez à nouveau. |
86 | La table des vecteurs globaux du courtier (BGVT) principale du serveur Liberty est introuvable. | Le serveur Liberty n'a pas été démarré sur l'image du système d'exploitation z/OS. Assurez-vous que le serveur est démarré avant de démarrer des processus client d'adaptateurs locaux optimisés. | |
88 | La table des modules de remplacement client principale est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. | |
90 | L'emplacement de la table des modules de remplacement client principale pour les adaptateurs locaux optimisés du serveur Liberty est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. |
Send Response
Cette API renvoie une réponse à une demande au serveur Liberty local.API | Syntaxe |
---|---|
BBOA1SRP | BBOA1SRP ( connectionhandle, responsedata, responsedatalen, rc, rsn ) |
- connectionhandle
- Descripteur de connexion sur 12 octets à utiliser pour la réponse.
- responsedata
- Pointeur de 31 bits désignant l'adresse de départ des données de réponse à envoyer.
- requestdatalen
- Valeur non signée de 32 bits contenant la longueur des données à envoyer.
- rc
- Un code retour entier qui indique la réussite ou l'échec de cet appel.
- rsn
- Un code anomalie entier qui décrit la raison de l'échec de cet appel.
- Assurez-vous que le serveur Liberty que vous avez spécifié dans cet appel est démarré et que la prise en charge des adaptateurs locaux est activée.
- Assurez-vous qu'un appel de l'API Register a abouti dans l'espace adresse courant avec un nom correspondant avant d'utiliser l'API Send Response.
- Vérifiez qu'un appel de l'API Connection Get a abouti et qu'un descripteur a été fourni en entrée pour cet appel.
- Vérifiez qu'un appel de l'API Receive Request Any, Receive Request Specific ou Host a été émis et renvoyé avec des données de requête pour le descripteur de connexion. L'état de la connexion doit permettre l'utilisation de l'API Send Response.
Code retour | Code anomalie | Description | Action |
---|---|---|---|
0 | - | Réussi | |
4 | - | Avertissement - voir le code anomalie | |
8 | - | Erreur - voir le code anomalie | |
8 | Le jeton de nom d'enregistrement existe déjà. | Assurez-vous que le nom d'enregistrement communiqué est valide. | |
18 | La longueur de la requête dépasse les limites du système. | La taille du message dépasse les capacités de prise en charge des messages du serveur Liberty. Assurez-vous que la taille est valide. Si la taille est valide, vérifiez que le paramètre de taille du serveur Liberty permet d'accepter les messages de cette taille. | |
34 | Le service cible est introuvable. | Vérifiez que l'application qui contient le bean enterprise cible est installée et démarrée sur le serveur cible pour le serveur Liberty. | |
36 | L'état de la connexion est incorrect. | Le descripteur de connexion utilisé pour la requête a un état incorrect. Pour plus d'informations sur les états des connexions, reportez-vous à la documentation de l'API. | |
38 | Le descripteur de connexion client est incorrect. | Le descripteur de connexion client utilisé pour la requête est incorrect. Pour plus d'informations sur les descripteurs de connexion client, reportez-vous à la documentation de l'API. | |
40 | Une erreur de transmission locale s'est produite. | Recherchez dans le journal du serveur Liberty les messages liés à une erreur de communication locale. | |
46 | Une erreur de communication locale s'est produite pendant l'appel de la requête. | Consultez les journaux du serveur Liberty pour identifier l'erreur. | |
102 | Le début de la mémoire tampon de réponse est inaccessible. | Vérifiez que l'adresse et la longueur de la mémoire tampon de réponse sont correctes. | |
104 | La fin de la mémoire tampon de réponse est inaccessible. | Vérifiez que l'adresse et la longueur de la mémoire tampon de réponse sont correctes. | |
480 |
Le client n'a pas été autorisé à appeler la fonction d'envoi de réponse. | Cette condition est inattendue. Vérifiez que le serveur cible fonctionne et que le service zosLocalAdapters est configuré dans l'instance de serveur. | |
12 | 10 | L'API n'est pas parvenue à localiser le groupe d'adaptateurs locaux optimisés sélectionné. | Vérifiez que le serveur Liberty et le serveur cible sont démarrés et que la prise en charge des adaptateurs locaux optimisés est activée, puis essayez à nouveau. |
86 | La table des vecteurs globaux du courtier (BGVT) principale du serveur Liberty est introuvable. | Le serveur Liberty n'a pas été démarré sur l'image du système d'exploitation z/OS. Assurez-vous que le serveur est démarré avant de démarrer des processus client d'adaptateurs locaux optimisés. | |
88 | La table des modules de remplacement client principale est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. | |
90 | L'emplacement de la table des modules de remplacement client principale pour les adaptateurs locaux optimisés du serveur Liberty est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. |
Send Response Exception
Cette API envoie une exception ResourceException qui contient les données de réponse à l'appelant JCA sur le serveur Liberty local.
API | Syntaxe |
---|---|
BBOA1SRX | BBOA1SRX ( connectionhandle, excresponsedata, exresponsedatalen, rc, rsn ) |
- connectionhandle
- Descripteur de connexion sur 12 octets à utiliser pour la réponse.
- excresponsedata
- Pointeur de 31 bits désignant l'adresse de départ des données de réponse négative à envoyer.
- excresponsedatalen
- Valeur non signée de 32 bits contenant la longueur des données de réponse négative à envoyer. Les données de réponse négative sont une chaîne de caractères EBCDIC qui décrit l'erreur.
- rc
- Un code retour entier qui indique la réussite ou l'échec de cet appel.
- rsn
- Un code anomalie entier qui décrit la raison de l'échec de cet appel.
- Assurez-vous que le serveur Liberty que vous avez spécifié dans cet appel est démarré et que la prise en charge des adaptateurs locaux est activée.
- Assurez-vous qu'un appel de l'API Register a abouti dans l'espace adresse courant avec un nom correspondant avant d'utiliser l'appel Send Response.
- Assurez-vous qu'un appel de l' API Connection Get a abouti et fournissez le descripteur en entrée dans cet appel d'API.
- Assurez-vous qu'un appel de l'API Receive Request Any, Receive Request Specific ou Host Service a été émis et renvoyé avec les données de demande pour le descripteur de connexion. L'état de la connexion doit permettre l'utilisation des API Send Response et Send Response Exception.
Code retour | Code anomalie | Description | Action |
---|---|---|---|
0 | - | Réussi | |
4 | - | Avertissement - voir le code anomalie | |
8 | - | Erreur - voir le code anomalie | |
8 | Le jeton de nom d'enregistrement existe déjà. | Assurez-vous que le nom d'enregistrement communiqué est valide. | |
10 | Le descripteur de connexion est libéré ou a un état incorrect. | Vérifiez qu'un descripteur de connexion valide a été envoyé. | |
16 | Un ou plusieurs paramètres sont incorrects. | Vérifiez que tous les paramètres sont valides puis recommencez l'appel. | |
18 | La longueur de la requête dépasse les limites du système. | La taille du message dépasse les capacités de prise en charge des messages du serveur Liberty. Assurez-vous que la taille est valide. Si la taille est valide, vérifiez que le paramètre de taille du serveur Liberty permet d'accepter les messages de cette taille. | |
36 | L'état de la connexion est incorrect. | Le descripteur de connexion utilisé pour cette requête a un état incorrect. Pour plus d'informations sur les états des connexions, reportez-vous à la documentation de l'API. | |
38 | Le descripteur de connexion client est incorrect. | Le descripteur de connexion client utilisé pour cette requête est incorrect. Pour plus d'informations sur les descripteurs de connexion client, reportez-vous à la documentation de l'API. | |
40 | Une erreur de transmission locale s'est produite. | Recherchez dans le journal du serveur Liberty les messages liés à une erreur de communication locale. | |
46 | Une erreur de communication locale s'est produite pendant l'appel de la requête. | Consultez les journaux du serveur Liberty pour identifier l'erreur. | |
102 | Le début de la mémoire tampon de réponse est inaccessible. | Vérifiez que l'adresse et la longueur de la mémoire tampon de réponse sont correctes. | |
104 | La fin de la mémoire tampon de réponse est inaccessible. | Vérifiez que l'adresse et la longueur de la mémoire tampon de réponse sont correctes. | |
480 |
Le client n'a pas été autorisé à appeler la fonction d'envoi d'exception. | Cette condition est inattendue. Vérifiez que le serveur cible fonctionne et que le service zosLocalAdapters est configuré dans l'instance de serveur. | |
12 | 10 | L'API n'est pas parvenue à localiser le groupe d'adaptateurs locaux optimisés sélectionné. | Vérifiez que le serveur Liberty et le serveur cible sont démarrés et que la prise en charge des adaptateurs locaux optimisés est activée, puis essayez à nouveau. |
86 | La table des vecteurs globaux du courtier (BGVT) principale du serveur Liberty est introuvable. | Le serveur Liberty n'a pas été démarré sur l'image du système d'exploitation z/OS. Assurez-vous que le serveur est démarré avant de démarrer des processus client d'adaptateurs locaux optimisés. | |
88 | La table des modules de remplacement client principale est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. | |
90 | L'emplacement de la table des modules de remplacement client principale pour les adaptateurs locaux optimisés du serveur Liberty est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. |
Receive Request Any
Cette API reçoit une demande et les données associées depuis un serveur Liberty local sur n'importe quelle connexion du pool pour le nom d'enregistrement communiqué. Elle renvoie la longueur des données de demande et un descripteur de connexion sous forme de paramètres de sortie. L'appel de l'API Get Data avec le descripteur de connexion renvoyé renvoie les données du message reçu.
API | Syntaxe |
---|---|
BBOA1RCA | BBOA1RCA ( registername, connectionhandle, requestservicename, requestservicenamel, requestdatalen, waittime, rc, rsn ) |
- registername
- Variable ou constante qui contient le nom à utiliser pour rechercher le pool de connexions dont vous voulez extraire une connexion. Il doit s'agir d'une chaîne remplie avec des blancs d'exactement 12 caractères.
- waittime
- Entier qui indique le délai d'attente (en secondes) d'une connexion avant l'envoi d'un code anomalie indiquant l'indisponibilité de la connexion demandée. La valeur 0 implique qu'il n'existe pas de délai d'attente et que l'API attend indéfiniment. Le paramètre waittime s'applique uniquement au processus d'obtention d'une connexion WOLA à partir du pool de connexions. Lorsque la connexion est obtenue, elle est utilisée pour recevoir une requête du serveur avec un temps d'attente illimité.
- requestservicename
- Chaîne de caractères EBCDIC de 256 octets maximum qui contient le nom du service demandé. Ce paramètre est le nom du service cible qui est spécifié dans l'interface InteractionSpec par l'application du serveur Liberty. La valeur * indique une demande de réception pour tous les noms de service qui arrivent sous le nom d'enregistrement courant.
- requestservicenamel
- Entier contenant la longueur du nom de service à démarrer ou 0 (zéro) si le nom de service se termine par null.
- connectionhandle
- Descripteur de connexion sur 12 octets qui est renvoyé et qui doit être transmis dans les demandes d'actions suivantes sur cette connexion.
- requestdatalen
- Une valeur non signée de 32 bits contenant la longueur des données à recevoir est renvoyée.
- rc
- Un code retour entier qui indique la réussite ou l'échec de cet appel.
- rsn
- Un code anomalie entier qui décrit la raison de l'échec de cet appel.
- Assurez-vous que le serveur Liberty que vous avez spécifié dans cet appel est démarré et que la prise en charge des adaptateurs locaux est activée.
- Assurez-vous qu'un appel de l'API Register a abouti dans l'espace adresse courant avec un nom correspondant avant d'utiliser cette API.
Code retour | Code anomalie | Description | Action |
---|---|---|---|
0 | - | Réussi | |
4 | - | Avertissement - voir le code anomalie | |
8 | - | Erreur - voir le code anomalie | |
8 | Le jeton de nom d'enregistrement existe déjà. | Assurez-vous que le nom d'enregistrement communiqué est valide. | |
10 | La connexion demandée est indisponible. Le délai d'attente est arrivé à expiration avant l'établissement de la connexion demandée. | Le mode opératoire de l'application varie selon les cas. Patientez, puis essayez à nouveau, ou émettez la macro d'abandon afin de mettre fin à la tâche qui a appelé l'API Connection Get. Vous pouvez aussi augmenter le nombre maximal de connexions dans l'appel de l'API Register. | |
16 | La longueur du nom de service de la requête est incorrect. | Corrigez le programme et recommencez l'appel. | |
19 | Un appel d'un service de communication local a reçu un code retour autre que zéro. | ||
21 | Un appel d'un service de communication local a reçu un code retour autre que zéro. | ||
38 | Le descripteur de connexion client est incorrect. | Le descripteur de connexion client utilisé pour cette requête est incorrect. Pour plus d'informations sur les descripteurs de connexion client, reportez-vous à la documentation de l'API. | |
40 | Une erreur de transmission locale s'est produite. | Recherchez dans le journal du serveur Liberty les messages liés à une erreur de communication locale. | |
46 | Une erreur de communication locale s'est produite pendant l'appel de la requête. | Consultez les journaux du serveur Liberty pour identifier l'erreur. | |
224 |
Un enregistrement incomplet a été trouvé. | Cette condition est inattendue. Utilisez le service BBOA1URG pour vous désenregistrer et utilisez le service BBOA1REG pour vous enregistrer à nouveau. | |
226 |
Un descripteur de connexion incomplet a été trouvé. | Cette condition est inattendue. Utilisez le service BBOA1RCA pour tenter de renouveler la demande. | |
480 |
Le client n'a pas été autorisé à appeler la fonction de réception de demande. | Cette condition est inattendue. Vérifiez que le serveur cible fonctionne et que le service zosLocalAdapters est configuré dans l'instance de serveur. | |
482 |
Le client n'a pas pu se reconnecter à l'instance de serveur cible après le redémarrage du serveur. | Cette condition est inattendue. Utilisez le service BBOA1URG pour supprimer l'enregistrement et le service BBOA1REG pour créer un nouvel enregistrement. | |
483 |
Le client n'a pas pu se reconnecter à l'instance de serveur cible après le redémarrage du serveur. | Cette condition est inattendue. Utilisez le service BBOA1URG pour supprimer l'enregistrement et le service BBOA1REG pour créer un nouvel enregistrement. | |
12 | 10 | L'API n'est pas parvenue à localiser le groupe d'adaptateurs locaux optimisés sélectionné. | Vérifiez que le serveur Liberty et le serveur cible sont démarrés et que la prise en charge des adaptateurs locaux optimisés est activée, puis essayez à nouveau. |
14 |
L'ID utilisateur n'est pas autorisé pour le serveur Liberty demandé. | Vérifiez que l'ID utilisateur est autorisé dans la classe CBIND de SAF pour le serveur Liberty demandé. | |
24 | Après un appel d'enregistrement réussi, une erreur s'est produite pendant l'obtention d'une connexion à partir du pool de connexions. | Assurez-vous que le serveur est démarré. S'il ne fonctionne pas, redémarrez le serveur puis exécutez à nouveau la requête de l'API. | |
86 | La table des vecteurs globaux du courtier (BGVT) principale du serveur Liberty est introuvable. | Le serveur Liberty n'a pas été démarré sur l'image du système d'exploitation z/OS. Assurez-vous que le serveur est démarré avant de démarrer des processus client d'adaptateurs locaux optimisés. | |
88 | La table des modules de remplacement client principale est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. | |
90 | L'emplacement de la table des modules de remplacement client principale pour les adaptateurs locaux optimisés du serveur Liberty est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. |
Receive Request Specific
Cette API reçoit une demande et les données associées à partir d'un serveur Liberty pour le descripteur de connexion spécifié. Elle renvoie la longueur des données de demande sous forme de paramètre de sortie. L'appel de l'API Get Data avec le descripteur de connexion spécifié renvoie les données de message reçues.API | Syntaxe |
---|---|
BBOA1RCS | BBOA1RCS (connectionhandle, requestservicename, requestservicenamel, requestdatalen, async(0|1), rc, rsn) |
- connectionhandle
- Descripteur de connexion sur 12 octets utilisé pour la demande de réception.
- async(0|1)
- Associez async à la valeur 1 pour indiquer que l'appelant souhaite reprendre le contrôle immédiatement, même si la longueur de la réponse n'est pas encore connue. Si vous associez async à la valeur 0, cet appel attend de recevoir une demande du serveur Liberty.
- requestservicename
- Chaîne de caractères EBCDIC de 256 octets maximum qui contient le nom du service demandé. Ce paramètre est le nom du service cible qui est spécifié dans l'interface InteractionSpec par l'application du serveur Liberty. La valeur * indique cette configuration comme serveur pour tous les noms de service qui arrivent sous le nom d'enregistrement courant.
- requestservicenamel
- Entier contenant la longueur du nom de service à démarrer ou 0 (zéro) si le nom de service se termine par null.
- requestdatalen
- Une valeur non signée de 32 bits contenant la longueur des données de demande reçues est renvoyée. L'appelant peut alors utiliser cette longueur afin d'acquérir du stockage avant l'appel de l'API Get Data pour copier les données. Lorsque async à la valeur 1, pour indiquer que l'appelant souhaite reprendre le contrôle immédiatement, la valeur est 0xFFFFFFFF est définie si les données de réponse n'ont pas encore été reçues. Dans ce cas, vous devez appeler l'API à nouveau pour extraire une demande entrante.
- rc
- Un code retour entier qui indique la réussite ou l'échec de cet appel.
- rsn
- Un code anomalie entier qui décrit la raison de l'échec de cet appel.
- Assurez-vous que le serveur Liberty que vous avez spécifié dans cet appel est démarré et que la prise en charge des adaptateurs locaux est activée.
- Assurez-vous qu'un appel de l'API Register a abouti dans l'espace adresse courant avec un nom correspondant avant d'utiliser cette API.
Code retour | Code anomalie | Description | Action |
---|---|---|---|
0 | - | Réussi | |
4 | - | Avertissement - voir le code anomalie | |
8 | - | Erreur - voir le code anomalie | |
8 | Le jeton de nom d'enregistrement existe déjà. | Assurez-vous que le nom d'enregistrement communiqué est valide. | |
10 | Le descripteur de connexion est libéré ou a un état incorrect. | Vérifiez qu'un descripteur de connexion valide a été envoyé. | |
16 | La longueur du nom de service de la requête est incorrect. | Corrigez le programme et recommencez l'appel. | |
19 | Un appel d'un service de communication local a reçu un code retour autre que zéro. | ||
21 | Un appel d'un service de communication local a reçu un code retour autre que zéro. | ||
36 | L'état de la connexion est incorrect. | Le descripteur de connexion utilisé pour cette requête a un état incorrect. Pour plus d'informations sur les états des connexions, reportez-vous à la documentation de l'API. | |
38 | Le descripteur de connexion client est incorrect. | Le descripteur de connexion client utilisé pour cette requête est incorrect. Pour plus d'informations sur les descripteurs de connexion client, reportez-vous à la documentation de l'API. | |
40 | Une erreur de transmission locale s'est produite. | Recherchez dans le journal du serveur Liberty les messages liés à une erreur de communication locale. | |
46 | Une erreur de communication locale s'est produite pendant l'appel de la requête. | Consultez les journaux du serveur Liberty pour identifier l'erreur. | |
76 | Une tentative de connexion au serveur a échoué car ce serveur n'est plus actif. | Démarrez le serveur et tentez à nouveau d'établir la communication. | |
78 | Une erreur interne entraînant la sélection par la connexion d'une requête ne faisant pas partie de la transaction en cours de traitement s'est produite. | Renvoyez la connexion au pool de connexions. Si le problème persiste, voir les informations d'identification et de résolution des problèmes sur le site de support de WebSphere Application Server. | |
80 | La transaction qui est active sur cette connexion a expiré et l'état de la connexion ne peut pas être réinitialisé pour qu'une autre demande soit traitée. | Renvoyez la connexion au pool de connexions. Si le problème persiste, voir les informations d'identification et de résolution des problèmes sur le site de support de WebSphere Application Server. | |
226 |
Un descripteur de connexion incomplet a été trouvé. | Cette condition est inattendue. Utilisez le service BBOA1CNR pour libérer la connexion et utilisez le service BBOA1CNG pour obtenir une nouvelle connexion. | |
480 |
Le client n'a pas été autorisé à appeler la fonction de réception de demande. | Cette condition est inattendue. Vérifiez que le serveur cible fonctionne et que le service zosLocalAdapters est configuré dans l'instance de serveur. | |
12 | 10 | L'API n'est pas parvenue à localiser le groupe d'adaptateurs locaux optimisés sélectionné. | Vérifiez que le serveur Liberty et le serveur cible sont démarrés et que la prise en charge des adaptateurs locaux optimisés est activée, puis essayez à nouveau. |
86 | La table des vecteurs globaux du courtier (BGVT) principale du serveur Liberty est introuvable. | Le serveur Liberty n'a pas été démarré sur l'image du système d'exploitation z/OS. Assurez-vous que le serveur est démarré avant de démarrer des processus client d'adaptateurs locaux optimisés. | |
88 | La table des modules de remplacement client principale est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. | |
90 | L'emplacement de la table des modules de remplacement client principale pour les adaptateurs locaux optimisés du serveur Liberty est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. |
Receive Response Length
L'API Receive Response Length extrait la longueur des données de réponse avant l'appel Send Request.API | Syntaxe |
---|---|
BBOA1RCL | BBOA1RCL (connectionhandle, async(0|1), responsedatalen, rc, rsn) |
- connectionhandle
- Descripteur de connexion sur 12 octets utilisé pour cette demande.
- async(0|1)
- Associez async à la valeur 1 pour indiquer que l'appelant souhaite reprendre le contrôle immédiatement, même si la longueur de la réponse n'est pas connue. Si vous associez async à la valeur 0, cet appel attend que le serveur Liberty renvoie la réponse, et l'API renvoie la longueur de la réponse dans le paramètre responsedatalen.
- requestdatalen
- Une valeur non signée de 32 bits contenant la longueur des données reçues est renvoyée. L'appelant peut utiliser cette longueur afin d'acquérir du stockage avant l'appel de l'API Get Data pour copier les données. Si vous associez async à la valeur 1, la valeur 0xFFFFFFFF est définie si les données de réponse n'ont pas encore été reçues.
- rc
- Un code retour entier qui indique la réussite ou l'échec de cet appel.
- rsn
- Un code anomalie entier qui décrit la raison de l'échec de cet appel.
- Assurez-vous que le serveur Liberty que vous avez spécifié dans cet appel est démarré et que la prise en charge des adaptateurs locaux est activée.
- Assurez-vous qu'un appel de l'API Register a abouti dans l'espace adresse courant avec un nom correspondant avant d'utiliser cette API.
- Vérifiez qu'un appel de l'API Connection Get a abouti et qu'un descripteur a été fourni en entrée pour cet appel.
- Vérifiez qu'un appel de l'API Send Request a abouti avant d'effectuer cet appel.
Code retour | Code anomalie | Description | Action |
---|---|---|---|
0 | - | Réussi | |
4 | - | Avertissement - voir le code anomalie | |
8 | - | Erreur - voir le code anomalie | |
8 | Le jeton de nom d'enregistrement existe déjà. | Assurez-vous que le nom d'enregistrement communiqué est valide. | |
19 | Un appel d'un service de communication local a reçu un code retour autre que zéro. | ||
21 | Un appel d'un service de communication local a reçu un code retour autre que zéro. | ||
36 | L'état de la connexion est incorrect. | Le descripteur de connexion utilisé pour cette requête a un état incorrect. Pour plus d'informations sur les états des connexions, reportez-vous à la documentation de l'API. | |
38 | Le descripteur de connexion client est incorrect. | Le descripteur de connexion client utilisé pour cette requête est incorrect. Pour plus d'informations sur les descripteurs de connexion client, reportez-vous à la documentation de l'API. | |
40 | Une erreur de transmission locale s'est produite. | Recherchez dans le journal du serveur Liberty les messages liés à une erreur de communication locale. | |
226 |
Un descripteur de connexion incomplet a été trouvé. | Cette condition est inattendue. Utilisez le service BBOA1CNR pour libérer la connexion et utilisez le service BBOA1CNG pour obtenir une nouvelle connexion. | |
480 |
Le client n'a pas été autorisé à appeler la fonction de réception de durée. | Cette condition est inattendue. Vérifiez que le serveur cible fonctionne et que le service zosLocalAdapters est configuré dans l'instance de serveur. | |
12 | 10 | L'API n'est pas parvenue à localiser le groupe d'adaptateurs locaux optimisés sélectionné. | Vérifiez que le serveur Liberty et le serveur cible sont démarrés et que la prise en charge des adaptateurs locaux optimisés est activée, puis essayez à nouveau. |
86 | La table des vecteurs globaux du courtier (BGVT) principale du serveur Liberty est introuvable. | Le serveur Liberty n'a pas été démarré sur l'image du système d'exploitation z/OS. Assurez-vous que le serveur est démarré avant de démarrer des processus client d'adaptateurs locaux optimisés. | |
88 | La table des modules de remplacement client principale est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. | |
90 | L'emplacement de la table des modules de remplacement client principale pour les adaptateurs locaux optimisés du serveur Liberty est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. |
Get Message Data
Cette API copie les données de message reçues. A la suite de cet appel, le message est supprimé du cache des messages de l'adaptateur.API | Syntaxe |
---|---|
BBOA1GET | BBOA1GET (connectionhandle, msgdata, msgdatalen, rc, rsn, rv) |
- connectionhandle
- Descripteur de connexion sur 12 octets utilisé pour cette demande.
- msgdata
- Pointeur de 31 bits désignant l'adresse du début de la zone de données cible de la copie. Le stockage désigné par ce paramètre doit se trouver dans une clé dans laquelle l'appelant peut écrire.
- msgdatalen
- Valeur non signée de 32 bits contenant la longueur des données à copier.
- rc
- Un code retour entier qui indique la réussite ou l'échec de cet appel.
- rsn
- Un code anomalie entier qui décrit la raison de l'échec de cet appel.
- rv
- Une valeur de retour sous forme d'entier de 32 bits contenant la taille de la mémoire tampon de contexte pour cette demande.
- Assurez-vous que le serveur Liberty que vous avez spécifié dans cet appel est démarré et que la prise en charge des adaptateurs locaux est activée.
- Assurez-vous qu'un appel de l'API Register a abouti dans l'espace adresse courant avec un nom correspondant avant d'utiliser l'API Send Request.
- Vérifiez qu'un appel de l'API Connection Get a abouti et qu'un descripteur a été fourni en entrée pour cet appel.
- Si la valeur du paramètre msgdatalen de l'entrée de l'appelant API est supérieure à la réponse du message, le code de retour contient 0 et la longueur de message est fournie dans la valeur de retour.
- Important : Une fois que l'appel Get Message Data est revenu à l'appelant, les données du message ne sont pas conservées et la connexion revient à un état où elle peut être utilisée pour un autre appel Send Request ou Receive Request. Tout appel suivant Get Message Data ou Receive Response Length aboutit à une erreur.
Code retour | Code anomalie | Description | Action |
---|---|---|---|
0 | - | Réussi | |
4 | - | Avertissement - voir le code anomalie | |
8 | - | Erreur - voir le code anomalie | |
8 | Le jeton de nom d'enregistrement existe déjà. | Assurez-vous que le nom d'enregistrement communiqué est valide. | |
36 | L'état de la connexion est incorrect. | Le descripteur de connexion utilisé pour cette requête a un état incorrect. Pour plus d'informations sur les états des connexions, reportez-vous à la documentation de l'API. | |
38 | Le descripteur de connexion client est incorrect. | Le descripteur de connexion client utilisé pour cette requête est incorrect. Pour plus d'informations sur les descripteurs de connexion client, reportez-vous à la documentation de l'API. | |
40 | Une erreur de transmission locale s'est produite. | Recherchez dans le journal du serveur Liberty les messages liés à une erreur de communication locale. | |
48 | Une erreur de communication locale s'est produite pendant la requête de lecture. | Consultez les journaux du serveur Liberty pour identifier l'erreur. | |
72 | La valeur du paramètre d'entrée de la longueur de réponse est insuffisante pour le message de réponse. | Seule une partie du message est renvoyée. Le reste du message est ignoré. Reportez-vous à la valeur de retour pour connaître la taille du message de réponse. | |
98 | Le début de la mémoire tampon de requête est inaccessible. | Vérifiez que l'adresse et la longueur de la mémoire tampon de requête sont correctes. | |
100 | La fin de la mémoire tampon de requête est inaccessible. | Vérifiez que l'adresse et la longueur de la mémoire tampon de requête sont correctes. | |
102 | Le début de la mémoire tampon de réponse est inaccessible. | Vérifiez que l'adresse et la longueur de la mémoire tampon de réponse sont correctes. | |
104 | La fin de la mémoire tampon de réponse est inaccessible. | Vérifiez que l'adresse et la longueur de la mémoire tampon de réponse sont correctes. | |
226 |
Un descripteur de connexion incomplet a été trouvé. | Cette condition est inattendue. Utilisez le service BBOA1CNR pour libérer la connexion et utilisez le service BBOA1CNG pour obtenir une nouvelle connexion. | |
480 |
Le client n'a pas été autorisé à appeler la fonction d'obtention de données. | Cette condition est inattendue. Vérifiez que le serveur cible fonctionne et que le service zosLocalAdapters est configuré dans l'instance de serveur. | |
12 | 10 | L'API n'est pas parvenue à localiser le groupe d'adaptateurs locaux optimisés sélectionné. | Vérifiez que le serveur Liberty et le serveur cible sont démarrés et que la prise en charge des adaptateurs locaux optimisés est activée, puis essayez à nouveau. |
86 | La table des vecteurs globaux du courtier (BGVT) principale du serveur Liberty est introuvable. | Le serveur Liberty n'a pas été démarré sur l'image du système d'exploitation z/OS. Assurez-vous que le serveur est démarré avant de démarrer des processus client d'adaptateurs locaux optimisés. | |
88 | La table des modules de remplacement client principale est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. | |
90 | L'emplacement de la table des modules de remplacement client principale pour les adaptateurs locaux optimisés du serveur Liberty est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. |
Appel
Cette API utilise d'autres fonctions d'API primitives sous-jacentes pour appeler une méthode sur un serveur Liberty local. Elle s'utilise quand la taille maximum de la zone de sortie des réponses est déjà connue.API | Syntaxe |
---|---|
BBOA1INV | BBOA1INV (registername, requesttype, requestservicename, requestservicenamel, requestdata, requestdatalen, responsedata, responsedatalen, waittime, rc, rsn, rv) |
- registername
- Variable d'entrée ou constante d'entrée qui contient le nom à utiliser pour localiser le pool de connexions afin d'extraire une connexion pour cet appel. Il doit s'agir d'une chaîne remplie avec des blancs d'exactement 12 caractères.
- requesttype
- Entier contenant le type de demande qui indique le type de demande de travail à traiter. La seule valeur prise en charge est 1 pour les demandes de travail EJB locales.
- requestservicename
- Chaîne de caractères EBCDIC de 256 octets maximum qui contient le nom du service à appeler. Ce paramètre spécifie le nom JNDI de l'interface métier locale.
- requestservicenamel
- Entier contenant la longueur du nom de service à démarrer ou 0 (zéro) si le nom de service se termine par null.
- requestdata
- Pointeur de 31 bits désignant l'adresse de départ des données de demande à envoyer.
- requestdatalen
- Valeur non signée de 32 bits contenant la longueur des données de demande à envoyer.
- responsedata
- Pointeur de 31 bits désignant l'adresse du début de la zone de données de réponse cible de la copie. Le stockage désigné par ce paramètre doit se trouver dans une clé dans laquelle l'appelant peut écrire.
- responsedatalen
- Valeur non signée de 32 bits contenant la longueur des données de réponse à envoyer.
- waittime
- Entier qui indique le délai d'attente (en secondes) d'une connexion avant l'envoi d'un code anomalie indiquant l'indisponibilité de la connexion demandée. La valeur 0 implique qu'il n'existe pas de délai d'attente et que l'API attend indéfiniment. Le paramètre waittime s'applique uniquement au processus d'obtention d'une connexion WOLA à partir du pool de connexions. Lorsque la connexion est obtenue, elle est utilisée pour recevoir une requête du serveur avec un temps d'attente illimité.
- rc
- Un code retour entier qui indique la réussite ou l'échec de cet appel.
- rsn
- Un code anomalie entier qui décrit la raison de l'échec de cet appel.
- rv
- Valeur de retour sous forme d'entier de 32 bits qui contient la taille des données de message reçues et copiées dans la zone de réponse de l'appelant.
- Assurez-vous que le serveur Liberty que vous avez spécifié dans cet appel est démarré et que la prise en charge des adaptateurs locaux est activée.
- Assurez-vous qu'un appel de l'API Register a abouti dans l'espace adresse courant avec un nom correspondant avant d'utiliser l'API Send Request.
- Si la valeur du paramètre responsedatalen de l'entrée de l'appelant API est supérieure à la réponse du message, le code retour contient 0 et la longueur de message est fournie dans la valeur de retour.
Code retour | Code anomalie | Description | Action |
---|---|---|---|
0 | - | Réussi | |
4 | - | Avertissement - voir le code anomalie | |
8 | - | Erreur - voir le code anomalie | |
8 | Le jeton du nom d'enregistrement n'existe pas. | Assurez-vous que le nom d'enregistrement communiqué est valide. | |
10 | La connexion demandée est indisponible. Le délai d'attente est arrivé à expiration avant l'établissement de la connexion demandée. | Le mode opératoire de l'application varie selon les cas. Attendez puis recommencez, ou acceptez l'échec de cet appel d'API. Vous pouvez également augmenter le nombre maximal de connexions dans l'appel de l'API Register. | |
16 | La longueur du nom de service de la requête est incorrect. | Corrigez le programme et recommencez l'appel. | |
18 | La longueur de la réponse dépasse les limites du système. | La taille du message dépasse les capacités de prise en charge des messages du serveur Liberty. Assurez-vous que la taille est valide. Si la taille est valide, vérifiez que le paramètre de taille du serveur Liberty permet d'accepter les messages de cette taille. | |
19 | Un appel d'un service de communication local a reçu un code retour autre que zéro. | ||
21 | Un appel d'un service de communication local a reçu un code retour autre que zéro. | ||
24 | Après un appel d'enregistrement réussi, une erreur s'est produite pendant l'obtention d'une connexion à partir du pool de connexions. | Assurez-vous que le serveur est démarré. S'il ne fonctionne pas, redémarrez le serveur puis exécutez à nouveau la requête de l'API. | |
26 | La transaction globale ne peut pas commencer. | ||
28 | L'enregistrement a été trouvé mais est inactif. | ||
32 | Le type de requête utilisé dans l'appel d'API est incorrect. | Le paramètre de type de requête indiqué est incorrect. Corrigez le programme et recommencez l'appel. | |
34 | Le service cible est introuvable. | Vérifiez que l'application qui contient le bean enterprise cible est installée et démarrée sur le serveur Liberty cible. | |
36 | L'état de la connexion est incorrect. | Le descripteur de connexion utilisé pour cette requête a un état incorrect. Pour plus d'informations sur les états des connexions, reportez-vous à la documentation de l'API. | |
38 | Le descripteur de connexion client est incorrect. | Le descripteur de connexion client utilisé pour cette requête est incorrect. Pour plus d'informations sur les descripteurs de connexion client, reportez-vous à la documentation de l'API. | |
40 | Une erreur de transmission locale s'est produite. | Recherchez dans le journal du serveur Liberty les messages liés à une erreur de communication locale. | |
44 | Une exception ou une condition inattendue s'est produite dans le bean enterprise cible. | Recherchez dans les journaux du serveur Liberty les données liées à cette exception. | |
46 | Une erreur de communication locale s'est produite pendant le traitement de la requête d'envoi. | Consultez les journaux du serveur Liberty pour identifier l'erreur. | |
48 | Une erreur de communication locale s'est produite pendant la requête de lecture. | Consultez les journaux du serveur Liberty pour identifier l'erreur. | |
72 | La valeur du paramètre d'entrée de la longueur de réponse est insuffisante pour le message de réponse. | Seule une partie du message est renvoyée. Le reste du message est ignoré. Reportez-vous à la valeur de retour pour connaître la taille du message de réponse. | |
98 | Impossible d'accéder au début de la mémoire tampon de requête fournie. | Vérifiez que l'adresse et la longueur de la mémoire tampon de requête sont correctes. | |
100 | Impossible d'accéder à la fin de la mémoire tampon de requête fournie. | Vérifiez que l'adresse et la longueur de la mémoire tampon de requête sont correctes. | |
102 | Impossible d'accéder au début de la mémoire tampon de réponse fournie. | Vérifiez que l'adresse et la longueur de la mémoire tampon de réponse sont correctes. | |
104 | Impossible d'accéder à la fin de la mémoire tampon de réponse fournie. | Vérifiez que l'adresse et la longueur de la mémoire tampon de réponse sont correctes. | |
224 |
Un enregistrement incomplet a été trouvé. | Cette condition est inattendue. Utilisez le service BBOA1URG pour vous désenregistrer et utilisez le service BBOA1REG pour vous enregistrer à nouveau. | |
226 |
Un descripteur de connexion incomplet a été trouvé. | Cette condition est inattendue. Utilisez le service BBOA1INV pour tenter de renouveler la demande. | |
480 |
Le client n'a pas été autorisé à appeler la fonction d'appel. | Cette condition est inattendue. Vérifiez que le serveur cible fonctionne et que le service zosLocalAdapters est configuré dans l'instance de serveur. | |
482 |
Le client n'a pas pu se reconnecter à l'instance de serveur cible après le redémarrage du serveur. | Cette condition est inattendue. Utilisez le service BBOA1URG pour supprimer l'enregistrement et le service BBOA1REG pour créer un nouvel enregistrement. | |
483 |
Le client n'a pas pu se reconnecter à l'instance de serveur cible après le redémarrage du serveur. | Cette condition est inattendue. Utilisez le service BBOA1URG pour supprimer l'enregistrement et le service BBOA1REG pour créer un nouvel enregistrement. | |
12 | 10 | L'API n'est pas parvenue à localiser le groupe d'adaptateurs locaux optimisés sélectionné. | Vérifiez que le serveur Liberty et le serveur cible sont démarrés et que la prise en charge des adaptateurs locaux optimisés est activée, puis essayez à nouveau. |
14 |
L'ID utilisateur n'est pas autorisé pour le serveur Liberty demandé. | Vérifiez que l'ID utilisateur est autorisé dans la classe CBIND de SAF pour le serveur Liberty demandé. | |
24 | Après un appel d'enregistrement réussi, une erreur s'est produite pendant l'obtention d'une connexion à partir du pool de connexions. | Assurez-vous que le serveur est démarré. S'il n'est pas démarré, redémarrez le serveur puis exécutez à nouveau la requête de l'API. | |
86 | La table des vecteurs globaux du courtier (BGVT) principale du serveur Liberty est introuvable. | Le serveur Liberty n'a pas été démarré sur l'image du système d'exploitation z/OS. Assurez-vous que le serveur est démarré avant de démarrer des processus client d'adaptateurs locaux optimisés. | |
88 | La table des modules de remplacement client principale est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. | |
90 | L'emplacement de la table des modules de remplacement client principale pour les adaptateurs locaux optimisés du serveur Liberty est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. |
Host Service
L'API Host Service utilise d'autres fonctions d'API primitives sous-jacentes pour configurer un programme z/OS en langage natif comme serveur et cible pour les appels d'adaptateur local optimisé depuis un serveur Liberty local. Utilisez l'API lorsque vous connaissez la taille maximale de la zone de demande avant d'appeler l'API.API | Syntaxe |
---|---|
BBOA1SRV | BBOA1SRV (registername, requestservicename, requestservicenamel, requestdata, requestdatalen, connectionhandle, waittime, rc, rsn, rv) |
- registername
- Variable d'entrée ou constante d'entrée qui contient le nom à utiliser pour localiser le pool de connexions afin d'extraire une connexion pour cet appel. Il doit s'agir d'une chaîne remplie avec des blancs d'exactement 12 caractères.
- requestdata
- Pointeur de 31 bits désignant l'adresse de départ des données de demande reçues. Le stockage désigné par ce paramètre doit se trouver dans une clé dans laquelle l'appelant peut écrire.
- requestdatalen
- Valeur non signée de 32 bits contenant la longueur de la zone de données dans laquelle le message est reçu.
- connectionhandle
- Descripteur de connexion sur 12 octets renvoyé à l'appelant et utilisé pour envoyer une réponse à cette requête.
- waittime
- Entier qui indique le délai d'attente (en secondes) d'une connexion avant l'envoi d'un code anomalie indiquant l'indisponibilité de la connexion demandée. La valeur 0 (zéro) implique qu'il n'existe pas de délai d'attente et que l'API attend indéfiniment. Le paramètre waittime s'applique uniquement au processus d'obtention d'une connexion WOLA à partir du pool de connexions. Lorsque la connexion est obtenue, elle est utilisée pour recevoir une requête du serveur avec un temps d'attente illimité.
- requestservicename
- Chaîne de caractères EBCDIC de 256 octets maximum qui contient le nom du service demandé. Ce paramètre est le nom du service cible qui est spécifié dans l'interface InteractionSpec par l'application du serveur Liberty. La valeur * indique cette configuration comme serveur pour tous les noms de service qui arrivent sous le nom d'enregistrement courant.
- requestservicenamel
- Entier contenant la longueur du nom de service à démarrer ou 0 (zéro) si le nom de service se termine par null.
- rc
- Un code retour entier qui indique la réussite ou l'échec de cet appel.
- rsn
- Un code anomalie entier qui décrit la raison de l'échec de cet appel.
- rv
- Valeur de retour sous forme d'entier de 32 bits qui contient la taille des données de message reçues et copiées dans la zone de réponse de l'appelant.
- Assurez-vous que le serveur Liberty que vous avez spécifié dans cet appel est démarré et que la prise en charge des adaptateurs locaux est activée.
- Assurez-vous qu'un appel de l'API Register a abouti dans l'espace adresse courant avec un nom correspondant avant d'utiliser cette API.
- Si la valeur du paramètre requestdatalen d'entrée d'appelant API est supérieure à la réponse du message, le code de retour contient 0 et la longueur de message est fournie dans la valeur de retour.
- Le descripteur de connexion renvoyé doit être fourni dans toute réponse à cet appel Host Service à l'aide de l'API Send Response.
Code retour | Code anomalie | Description | Action |
---|---|---|---|
0 | - | Réussi | |
4 | - | Avertissement - voir le code anomalie | |
8 | - | Erreur - voir le code anomalie | |
8 | Le jeton de nom d'enregistrement existe déjà. | Assurez-vous que le nom d'enregistrement communiqué est valide. | |
10 | Le descripteur de connexion est libéré. | Vérifiez qu'un descripteur de connexion correct est transmis. | |
12 | Le descripteur de connexion ne figure pas dans la connexion indiquée par le nom d'enregistrement. | Corrigez le programme et renouvelez l'appel. | |
16 | La longueur du nom de service de la requête est incorrect. | Corrigez le programme et renouvelez l'appel. | |
18 | La longueur de la réponse dépasse les limites du système. | La taille du message dépasse les capacités de prise en charge des messages du serveur Liberty. Assurez-vous que la taille est valide. Si la taille est valide, vérifiez que le paramètre de taille du serveur Liberty permet d'accepter les messages de cette taille. | |
40 | Une erreur de transmission locale s'est produite. | Recherchez dans le journal du serveur Liberty les messages liés à une erreur de communication locale. | |
46 | Une erreur de communication locale s'est produite pendant le traitement de la requête d'envoi. | Consultez les journaux du serveur Liberty pour identifier l'erreur. | |
48 | Une erreur de communication locale s'est produite pendant la requête de lecture. | Consultez les journaux du serveur Liberty pour identifier l'erreur. | |
72 | La valeur du paramètre d'entrée de la longueur de réponse est insuffisante pour le message de réponse. | Seule une partie du message est renvoyée. Le reste du message est ignoré. Reportez-vous à la valeur de retour pour connaître la taille du message de réponse. | |
98 | Le début de la mémoire tampon de requête est inaccessible. | Vérifiez que l'adresse et la longueur de la mémoire tampon de requête sont correctes. | |
100 | La fin de la mémoire tampon de requête est inaccessible. | Vérifiez que l'adresse et la longueur de la mémoire tampon de requête sont correctes. | |
224 |
Un enregistrement incomplet a été trouvé. | Cette condition est inattendue. Utilisez le service BBOA1URG pour vous désenregistrer et utilisez le service BBOA1REG pour vous enregistrer à nouveau. | |
226 |
Un descripteur de connexion incomplet a été trouvé. | Cette condition est inattendue. Utilisez le service BBOA1SRV pour tenter de renouveler la demande. | |
480 |
Le client n'a pas été autorisé à appeler la fonction d'hébergement. | Cette condition est inattendue. Vérifiez que le serveur cible fonctionne et que le service zosLocalAdapters est configuré dans l'instance de serveur. | |
482 |
Le client n'a pas pu se reconnecter à l'instance de serveur cible après le redémarrage du serveur. | Cette condition est inattendue. Utilisez le service BBOA1URG pour supprimer l'enregistrement et le service BBOA1REG pour créer un nouvel enregistrement. | |
483 |
Le client n'a pas pu se reconnecter à l'instance de serveur cible après le redémarrage du serveur. | Cette condition est inattendue. Utilisez le service BBOA1URG pour supprimer l'enregistrement et le service BBOA1REG pour créer un nouvel enregistrement. | |
12 | 10 | L'API n'est pas parvenue à localiser le groupe d'adaptateurs locaux optimisés sélectionné. | Vérifiez que le serveur Liberty et le serveur cible sont démarrés et que la prise en charge des adaptateurs locaux optimisés est activée, puis essayez à nouveau. |
14 |
L'ID utilisateur n'est pas autorisé pour le serveur Liberty demandé. | Vérifiez que l'ID utilisateur est autorisé dans la classe CBIND de SAF pour le serveur Liberty demandé. | |
86 | La table des vecteurs globaux du courtier (BGVT) principale du serveur Liberty est introuvable. | Le serveur Liberty n'a pas été démarré sur l'image du système d'exploitation z/OS. Assurez-vous que le serveur est démarré avant de démarrer des processus client d'adaptateurs locaux optimisés. | |
88 | La table des modules de remplacement client principale est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. | |
90 | L'emplacement de la table des modules de remplacement client principale pour les adaptateurs locaux optimisés du serveur Liberty est introuvable. | Un serveur Liberty a été démarré sur l'image de système d'exploitation z/OS courante mais le serveur ne s'exécute pas au niveau auquel la table de modules de remplacement client des adaptateurs locaux optimisés est prise en charge. Vérifiez que votre application s'exécute avec le niveau de modules de remplacement des adaptateurs locaux optimisés qui est compatible avec le serveur Liberty sur ce système z/OS. |
API des adaptateurs Java EE Connector Architecture (JCA)
- ConnectionSpec
- InteractionSpec
- Record I/O
ConnectionSpec
Utilisez l'interface ConnectionSpec pour transmettre des paramètres propres à la connexion lorsque vous obtenez une connexion depuis la fabrique de connexions. Ces paramètres peuvent remplacer les paramètres de même nom qui sont définis dans la fabrique de connexions. Pour les adaptateurs locaux optimisés, cette interface est implémentée en tant que classe com.ibm.websphere.ola.ConnectionSpecImpl. La classe ConnectionSpecImpl vous permet de spécifier le nom d'enregistrement des adaptateurs locaux avec lesquels vous voulez communiquer.Lorsque vous communiquez avec un serveur de liaison CICS, la classe ConnectionSpecImpl fournit des méthodes que vous pouvez utiliser pour remplacer les valeurs que le serveur de liaison utilise. Par exemple, vous pouvez spécifier l'ID de transaction à quatre caractères de la transaction d'appel du serveur de liaison, BBO#. Vous pouvez aussi spécifier si les données de demande d'un objet CICS COMMAREA ou CONTAINER doivent être stockées.
Pour des informations sur les méthodes de la classe ConnectionSpecImpl, voir la documentation de l'API générée.
InteractionSpec
Utilisez l'interface InteractionSpec pour spécifier les paramètres propres à la demande dans l'instance de l'adaptateur de ressources à laquelle vous êtes connectée. Pour les adaptateurs locaux optimisés, cette interface est implémentée comme classe com.ibm.websphere.ola.InteractionSpecImpl. Vous pouvez utiliser la classe InteractionSpecImpl afin de définir le nom de service pour l'application avec laquelle communiquer. Le nom de service est hébergé par le nom d'enregistrement qui a été spécifié lors de l'obtention de la connexion.Pour des informations sur les méthodes de la classe InteractionSpecImpl, voir la documentation de l'API générée.
Record I/O
Utilisez l'interface Record pour transmettre des données de demande et de réponse à l'instance d'adaptateur de ressources à laquelle vous êtes connectée. Les adaptateurs locaux optimisés fournissent deux implémentations de l'interface Record, IndexedRecord et MappedRecord. Vous pouvez créer deux implémentations en obtenant une référence à RecordFactory depuis l'instance de connexion JCA que l'application utilise.Utilisez un objet IndexedRecord si vous transmettez des données à un environnement Batch ou USS (services système UNIX) ou si vous communiquez avec CICS à l'aide d'un objet COMMAREA ou d'un objet CONTAINER unique. Ajoutez un tableau d'octets (byte[]) à l'objet IndexRecord afin de représenter les données que le programme envoie dans la demande. La réponse est également reçue dans un objet IndexedRecord. Vous pouvez obtenir les données de réponse en procédant à l'extraction de la première entrée de l'objet IndexedRecord et en la transtypant dans un tableau d'octets.
Utilisez un objet MappedRecord si vous transmettez des données à CICS dans plusieurs objets CONTAINER. L'objet MappedRecord contient des paires nom-valeur similaires à celles que les objets Map stockent. Dans les paires nom-valeur, le nom est celui du conteneur dans lequel les données sont transférées et la valeur correspond aux données réelles, spécifiées sous forme de tableau d'octets (byte[]). Lorsque vous utilisez un objet MappedRecord pour envoyer une demande, la réponse est renvoyée dans un objet MappedRecord. Elle contient le nom de chaque conteneur contenant les données de réponse et les données associées.