Commande createWSGWGatewayService
La commande createWSGWGatewayService permet de créer une configuration de service passerelle.
Vous pouvez créer une configuration de service de passerelle à l'aide l'outil wsadmin, comme décrit dans cette rubrique, ou de la console d'administration, comme décrit dans Création d'une configuration de service passerelle.
Pour exécuter la commande, utilisez l'objet AdminTask du client de scriptage wsadmin.
Le client de scriptage wsadmin est exécuté à partir de Qshell.
Pour plus d'informations, voir Configuration de Qshell pour exécuter des scripts WebSphere à l'aide de l'outil de scriptage wsadmin.
- Pour obtenir une liste des commandes de passerelle disponibles et une brève description de chacune d'elles, entrez la commande suivante à l'invite wsadmin :
print AdminTask.help('WSGateway')
- Pour obtenir une aide générale sur une commande donnée,
entrez la commande suivante à l'invite wsadmin :
print AdminTask.help('nom_commande')
AdminConfig.save()
Avant d'utiliser cette commande, il peut être utile d'utiliser les commandes des services Web activés par un bus de services pour créer un service sortant et ajouter un port sortant. Pour plus d'informations, voir l'exemple pratique à la fin de cette rubrique.
Rôle
Cette commande crée un GatewayService et les objets InboundService et TargetService associés.
Objet cible
ObjectName de l'instance de passerelle dans laquelle le service de passerelle est créé.
Cette commande crée la destination des demandes de la passerelle et la destination des réponses correspondante. La destination des demandes de la passerelle est configurée pour mettre à jour le chemin des réponses afin d'ajouter la destination des réponses. S'il existe déjà une destination portant le nom spécifié ou par défaut, la commande échoue.
S'il existe déjà un service de passerelle ou un service proxy de ce nom, la commande échoue.
La commande crée toujours un objet InboundService de même nom que le service de passerelle. La commande échoue s'il existe déjà un service de communications entrantes de ce nom.
L'emplacement du WSDL extrait de l'objet OutboundService ou spécifié dans la commande est utilisé comme emplacement du modèle de WSDL du service de communications entrantes. Si le WSDL doit être extrait via un proxy, les propriétés système qui identifient le serveur proxy doivent être correctement définies pour le serveur sur lequel la commande est exécutée. Si le proxy requiert une authentification, l'ID utilisateur et le mot de passe peuvent être définis comme paramètres de la commande.
L'objet TargetService créé par cette commande est défini comme service de passerelle par défaut et le chemin de routage de transmission par défaut sur la destination de passerelle est défini de sorte à faire référence à la destination cible. La propriété com.ibm.websphere.wsgw.targets de la destination de passerelle est définie de sorte à contenir la destination cible ou la destination associée au service de communications sortantes. Les propriétés com.ibm.websphere.wsgw.gatewayService et com.ibm.websphere.wsgw.gatewayInstance de la destination de la passerelle sont définies correctement.
Paramètres obligatoires
- -name
- Nom du service de passerelle.
Paramètres conditionnels
- -wsdlLocation
- Emplacement du modèle de fichier WSDL.
Il s'agit d'une adresse Web ou de la partie de service de la clé de service UDDI. Si vous spécifiez une référence UDDI, l'emplacement du WSDL est considéré comme étant une clé de service UDDI.
Voici un exemple de clé de service UDDI complète :
La partie spécifique au service de cette clé est la partie finale :uddi:blade108node01cell:blade108node01:server1:default:6e3d106e-5394-44e3-be17-aca728ac1791
6e3d106e-5394-44e3-be17-aca728ac1791
- Si ce paramètre n'est pas spécifié, l'emplacement du WSDL extrait de l'objet OutboundService est utilisé comme emplacement du modèle de WSDL.
- -wsdlServiceName
- Nom du service dans le WSDL. Requis uniquement si le modèle de fichier WSDL contient plusieurs services ou s'il est référencé par un registre UDDI.
- -wsdlServiceNamespace
- Espace de nom du service dans le WSDL. Requis uniquement si le modèle de fichier WSDL contient plusieurs services ou s'il est référencé par un registre UDDI.
- -targetDestination
- Nom de la destination cible qui peut se trouver dans le même bus d'intégration de services que la destination de passerelle ou dans un autre bus (auquel cas -targetBus doit être spécifié également).
- Spécifiez le paramètre -targetDestination ou -targetService.
- -targetBus
- Nom du bus d'intégration de services qui héberge la destination cible.
- Spécifiez ce paramètre si -targetDestination a été spécifié et que la destination cible ne se trouve pas dans le même bus d'intégration de services que la destination de passerelle.
- -targetService
- Nom du service de communications sortantes cible.
- Spécifiez le paramètre -targetDestination ou -targetService.
Paramètres optionnels
- -requestDestination
- Nom de la destination des demandes de la passerelle.
- -replyDestination
- Nom de la destination des réponses de la passerelle.
- -uddiReference
- Si vous avez spécifié une clé de service UDDI comme emplacement WSDL, fournissez la référence UDDI du registre UDDI cible.
- -userId
- ID utilisateur que vous utilisez pour extraire le WSDL.
- -password
- Mot de passe que vous utilisez pour extraire le WSDL.
Exemple
- Avec Jython :
gwService = AdminTask.createWSGWGatewayService(wsgw, ["-name", "MyGatewayService", "-targetService", "MyService"])
- Avec Jacl :
set gwService [$AdminTask createWSGWGatewayService $wsgw {-name "MyGatewayService" -targetService "MyService"}]
- Créez le service de communications sortantes qui représente le fournisseur de
services, bus désignant le bus d'intégration de services :
- Avec Jython :
outService = AdminTask.createSIBWSOutboundService(bus, ["-name", "StockQuoteService", "-wsdlLocation", "http://myserver.com/wsdl/StockQuoteService.wsdl"])
- Avec Jacl :
set outService [$AdminTask createSIBWSOutboundService $bus {-name "StockQuoteService" -wsdlLocation "http://myserver.com/wsdl/StockQuoteService.wsdl"}]
- Avec Jython :
- Ajoutez un port SOAP sur HTTP comme défini dans le WSDL du fournisseur de services :
- Avec Jython :
outPort = AdminTask.addSIBWSOutboundPort(outService, ["-name", "SOAPHTTPPort", "-node", "MyNode", "-server", "server1"])
- Avec Jacl :
set outPort [$AdminTask addSIBWSOutboundPort $outService {-name "SOAPHTTPPort" -node "MyNode" -server "server1"}]
- Avec Jython :
- Créez le service de passerelle, wsgw correspondant à l'instance de
passerelle :
- Avec Jython :
gwService = AdminTask.createWSGWGatewayService(wsgw, ["-name", "StockQuoteGatewayService", "-targetService", "StockQuoteService"])
- Avec Jacl :
set gwService [$AdminTask createWSGWGatewayService $wsgw {-name "StockQuoteGatewayService" -targetService "StockQuoteService"}]
- Avec Jython :
- Extrayez le service de communications entrantes du service de passerelle,
nomBus correspondant au nom du bus d'intégration de services :
- Avec Jython :
inServiceName = AdminConfig.showAttribute(gwService, "inboundServiceName")
inService = AdminConfig.getid("/SIBus:"+busName+"/SIBWSInboundService:"+inServiceName+"/" )
- Avec Jacl :
set inServiceName [$AdminConfig showAttribute $gwService "inboundServiceName"]
set inService [$AdminConfig getid /SIBus:$nomBus/SIBWSInboundService:$inServiceName/]
- Avec Jython :
- Ajoutez un port SOAP sur HTTP, sur lequel le programme d'écoute de noeud final SOAP
sur HTTP 1 est déjà configuré :
- Avec Jython :
inPort = AdminTask.addSIBWSInboundPort(inPort, ["-name", "SOAPHTTPPort", "-endpointListener", "soaphttp1", "-node", "MyNode", "-server", "server1"])
- Avec Jacl :
set inPort [$AdminTask addSIBWSInboundPort $inPort {-name "SOAPHTTPPort" -endpointListener "soaphttp1" -node "MyNode" -server "server1"}]
- Avec Jython :
- Configurez les ports et les services de communications entrantes et sortantes. Par exemple, appliquez les gestionnaires JAX-RPC ou WS-Security.