Envoi de messages de services Web directement par le bus depuis un client JAX-RPC
Cette tâche vous permet d'envoyer des messages de service Web via un bus en redirigeant le client JAX-RPC.
Pourquoi et quand exécuter cette tâche
Les applications client Java™ API for XML-based remote procedure calls (JAX-RPC) envoient et reçoivent des messages de demande et de réponse de services Web. Les applications client JAX-RPC utilisant l'environnement d'exécution JAX-RPC d'IBM peuvent y parvenir de plusieurs manières, en fonction des liaisons dans le document WSDL par rapport auquel elles sont développées, ainsi que des données de configuration employées lors de l'exécution.
Pour une présentation des concepts de programmation JAX-RPC de base et notamment des modèles de programmation client et serveur JAX-RPC, voir Getting Started with JAX-RPC.
- Utilisez une liaison SOAP (SOAP sur HTTP ou SOAP sur JMS) et transmettez les messages indirectement via un module d'écoute de noeud final à un service entrant. Vous devez procéder ainsi si vous disposez de gestionnaires JAX-RPC spécifiques à SOAP qui doivent être exécutés dans le contexte de l'application client.
- Transmettez
les messages directement dans le bus d'intégration de services sur
une
destination
en "redirigeant" l'application client
JAX-RPC, comme décrit dans cette rubrique.Remarque : Il existe actuellement des restrictions pour les types Java utilisés par les services qui sont reciblés via une application client JAX-RPC.
- L'espace de nom de liaison est défini pour indiquer que le client utilise le bus de messagerie directement.
- L'adresse de noeud final est définie pour inclure la destination particulière et (éventuellement) le format des messages utilisés par le client.
- Création d'un service sortant. Un service sortant représente un service Web fourni en externe. Dans ce cas, les demandes du client JAX-RPC passent par la destination du service, puis sont envoyées au fournisseur de services défini par la configuration du service sortant.
- Création d'un service entrant. Un service entrant représente un service fourni à l'intérieur ou à l'extérieur du bus de messagerie. Vous pouvez créer un service entrant sur toute destination existante. La création d'un service entrante associe un type de port WSDL à la destination. Lors du réacheminement vers une destination possédant un service entrant, l'application client doit spécifier le nom de la destination et celui du service entrant, car il est possible de configurer plusieurs services entrant sur une même destination. Dans ce cas, les demandes du client JAX-RPC passent par la destination, puis sont envoyées via le bus d'intégration de services en fonction du routage effectué sur la destination initiale.
Pour envoyer directement les messages de services Web directement à une destination à l'aide d'un client JAX-RPC, procédez comme suit :
Procédure
- Créez l'application de client JAX-RPC.
- Créez le service sortant ou le service entrant avec lequel vous voulez que l'application client JAX-RPC échange des messages.
- A l'aide de la console d'administration, accédez aux informations sur le port de votre application client JAX-RPC, comme décrit dans Configuration des liaisons client de services Web et Informations de port du client de services Web.
- Remplacez la liaison SOAP par défaut de votre application client JAX-RPC. Remplacez l'espace de nom de liaison par http://www.ibm.com/ns/2004/02/wsdl/mp/sib
- Remplacez le noeud final utilisé par l'application client JAX-RPC pour envoyer des demandes de services Web. Le nouveau noeud final doit utiliser la syntaxe d'URL sib: et inclure le nom de la destination du service sortant ou le nom du service entrant et de la destination correspondante.
Que faire ensuite
Une fois que vous avez modifié l'espace de sujet de liaison, toutes les listes de gestionnaires JAX-RPC configurées pour le port redirigé sont ignorées. Pour les clients développés sur le WSDL à l'aide d'une liaison SOAP, les gestionnaires sont ignorés en cas de réacheminement direct vers le bus. Toutefois, si le client est développé par rapport au WSDL non lié pour le service, la redirection au bus ne modifie pas l'espace de nom de liaison et les informations sur les gestionnaires sont conservées. Dans ce cas, les gestionnaires JAX-RPC sont appelés avec la sous-classe SDOMessageContext.
Informations de références connexes :