Commande createWSNService
La commande createWSNService permet de créer un service WS-Notification et les objets associés composant l'infrastructure de la configuration WS-Notification.
Vous pouvez créer un service WS-Notification à l'aide l'outil wsadmin, comme décrit dans cette rubrique, ou de la console d'administration, comme décrit dans Création d'un service WS-Notification version 6.1 et Création d'un service WS-Notification version 7.0.
Si vous créez un service WS-Notification version 6.1, vous devez d'abord vous assurer que vous avez correctement configuré un référentiel SDO, comme décrit dans Installation et configuration du référentiel SDO. Le référentiel SDO est utilisé pour stocker des documents WSDL lors de la création du service WS-Notification version 6.1. Si le référentiel n'est pas configuré, un message d'erreur s'affiche lors de la création du service.
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.
L'aide de la ligne de commande est fournie pour les commandes de bus d'intégration de services :
- Pour obtenir une liste des commandes WS-Notification disponibles et une brève description de chacune d'elles, entrez la commande suivante à l'invite wsadmin :
print AdminTask.help('WSNotificationCommands')
- 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()
Rôle
Cette commande permet de créer un service WS-Notification sur un bus d'intégration de services. Si vous créez un service WS-Notification version 6.1, cette commande permet également de créer les trois services entrants du bus d'intégration de services qui représentent les trois rôles joués par le courtier ainsi que l'association entre ces objets et le nouveau service WS-Notification.
Objet cible
Bus d'intégration de services existant (conditionnel ; doit être fourni si le paramètre bus n'est pas indiqué).
Paramètres requis
- -name
- Nom à donner au nouveau service WS-Notification. Le nom fait partie du noeud final sur lequel le service est exposé (l'URL utilisée pour accéder aux points de service WS-Notification définis sous le service).
- Pour la version 6.1 des services WS-Notification, le nom du service est unique dans un bus. Pour la version 7.0 des services WS-Notification, le nom du service est unique dans la cellule ; ce qui correspond au modèle d'administration utilisé pour les ensembles de règles et de ce fait prend en charge la composition de services WS-Notification version 7.0 avec WS-ReliableMessaging.
Paramètres conditionnels
- -bus
- Nom du bus d'intégration de services qui doit héberger le service WS-Notification. Il peut s'agir d'un bus existant ou du nom d'un nouveau bus que la commande doit créer automatiquement. Vous devez indiquer ce paramètre uniquement si un objet Cible n'est pas fourni.
Paramètres optionnels
- -type
- Type de service WS-Notification créé. Les valeurs possibles sont V7.0 et V6.1 (par défaut).
- Version 7.0 : Utilisez ce type de service pour composer un service WS-Notification JAX-WS avec des qualités de service de services Web via des ensembles de règles ou pour appliquer des descripteurs JAX-WS à votre service WS-Notification. Ce type de service est recommandé pour les nouveaux déploiements. Cette option WS-Notification a été introduite dans WebSphere Application Server depuis Version 7.0.
- Version 6.1 : Utilisez ce type de service si vous souhaitez exposer un service JAX-RPC WS-Notification utilisant la même technologie que WebSphere Application Server Version 6.1, notamment la possibilité d'appliquer des gestionnaires JAX-RPC au service. Cette option WS-Notification a été introduite dans WebSphere Application Server depuis Version 6.1.
- Ne spécifiez les paramètres facultatifs suivants que si le type de service est Version 6.1 :
- -jaxrpcHandlerList
- -outboundSecurityConfigName
- -outboundSecurityRequestBindingName
- -outboundSecurityResponseBindingName
Remarque : Pour les services WS-Notification version 7.0, des fonctionnalité équivalentes aux attributs de la sécurité entrante de la version 6.1 est fournie via la configuration d'ensembles de règles.Ne spécifiez les paramètres facultatifs suivants que si le type de service est Version 7.0 :- -jaxwsHandlerListName
- -queryWSDL
- -description
- -permitsDynamicTopicNamespace
Il s'agit de savoir si ce service permet la création d'espaces de nom de sujet dynamiques lors de l'exécution. Pour plus d'informations, voir Espace de nom de sujet dynamique. Les valeurs autorisées sont TRUE (par défaut) et FALSE
Cette option permet de bien vérifier les espaces de noms de sujet qui sont utilisés lors de la connexion à un service WS-Notification particulier (par exemple à des fins d'audit ou de sécurité). Si vous décochez cette option, toute application se connectant au service WS-Notification et sollicitant des sujets à un espace de nom de sujet dynamique ne peut plus émettre de publication et reçoit des messages.
Tous les messages publiés pour un espace de nom de sujet dynamique sont insérés avec le paramètre de fiabilité du message par défaut persistant fiable. Si cette valeur n'est pas acceptable, créez un espace de nom de sujet permanent puis configurez manuellement l'attribut avec la valeur appropriée.
Remarque : Les espaces de nom de sujet dynamiques utilisés sur un service WS-Notification particulier sont accompagnés d'un espace de sujet du bus d'intégration de services qui est créé automatiquement au moment de la création de l'espace de nom de sujet. La syntaxe des sujets utilisés dans cet espace de sujet est interne à l'implémentation du service WS-Notification.- -dynamicTopicSpace
- Il s'agit du nom de l'espace de sujet du bus utilisé pour héberger l'espace de nom de sujet ad hoc et les espaces de nom de sujet dynamique s'ils sont autorisés. Si ce paramètre n'est pas défini, la valeur sera par défaut est WSN_dynamic_ce_nom_service.
- -requiresRegistration
- Indicateur booléen. Les valeurs autorisées sont TRUE et FALSE (valeur par défaut).
- -jaxwsHandlerListName
- Une liste de gestionnaires détermine les gestionnaires appliqués lors de appels de service Web sortants, par exemple, surveillance de la notification d'un événement sortant (en réponse à une opération d'abonnement) et le contrôle des publieurs basés sur la demande (abonnement, pause et reprise). Pour plus d'informations sur les listes de gestionnaires, voir Configuration de gestionnaires JAX-WS.
- Spécifiez ce paramètre uniquement pour les services WS-Notification version 7.0.
- -jaxrpcHandlerListName
- Pour plus d'informations sur les listes de gestionnaires, voir Utilisation des gestionnaires JAX-RPC et des clients.
- Spécifiez ce paramètre uniquement pour les services WS-Notification version 6.1.
- -outboundSecurityRequestBindingName
- Spécifiez ce paramètre uniquement pour les services WS-Notification version 6.1.
- -outboundSecurityResponseBindingName
- Spécifiez ce paramètre uniquement pour les services WS-Notification version 6.1.
- -outboundSecurityConfigName
- Spécifiez ce paramètre uniquement pour les services WS-Notification version 6.1.
- -queryWSDL
- Indicateur booléen. Indique si le service WS-Notification version 7.0 interroge le document WSDL d'autres services Web WS-Notification lors que l'interaction avec eux. Les valeurs autorisées sont TRUE (valeur par défaut) et FALSE.
- En affectant à ce paramètre la valeur FALSE, vous pouvez améliorer les performances en évitant des requêtes WSDL coûteuses en termes de ressources. Cependant, tenez compte des remarques suivantes lorsque les requêtes WSDL ne sont pas activées :
- Tentatives WS-Notification de découverte des informations de liaison (découvertes généralement via WSDL) en utilisant d'autres méthodes. WS-Notification utilise la version SOAP associée au point de service WS-Notification sur lequel les abonnements ont été réalisés (par d'autres services Web) ou sur lequel des abonnements gérés ont été créés (par un administrateur).
- Dans certains cas, WS-Notification peut être incapable d'identifier les informations de liaison. Ceci peut se produire lors du nettoyage des abonnements alors que le point de service associé a été supprimé et que les informations de configuration ne sont plus disponibles. Dans ce cas, WS-Notification émet une "hypothèse" sur les informations de liaison à utiliser pour nettoyer les abonnements.
- Il existe un scénario dans lequel des informations de liaison incorrectes sont utilisées, à savoir, lorsque l'abonné s'abonne pour utiliser une liaison SOAP, pour le compte d'un consommateur de notifications qui attend les notifications via une liaison SOAP différente.
- Spécifiez ce paramètre uniquement pour les services WS-Notification version 7.0.
Exemples
newService = AdminTask.createWSNService(["-bus", "bus1", "-name",
"NewWSNService", "-type", "V6.1"] )
newService = AdminTask.createWSNService(["-bus", "bus1", "-name",
"NewWSNService", "-type", "V7.0"] )
newService = AdminTask.createWSNService(["-bus", "bus1", "-name",
"NewWSNService", "-type", "V7.0", "-jaxwsHandlerListName", "myHandlerList"] )
newService = AdminTask.createWSNService(["-bus", "bus1", "-name",
"NewWSNService", "-type", "V7.0", "-queryWSDL", "false"] )
- Avec Jython :
propName = ["name", "com.ibm.ws.sib.wsn.strictTopicChecking"] propValue = ["value", "TRUE"] propAttrs = [propName, propValue] AdminConfig.create("Property", newService, propAttrs)
- A l'aide de Jacl :
set propName [list name "com.ibm.ws.sib.wsn.strictTopicChecking"] set propValue [list value "TRUE"] set propAttrs [list $propName $propValue] $AdminConfig create Property $newService $propAttrs