Interrogation des services Web à l'aide de l'outil de scriptage wsadmin
Les langages de script Jython ou Jacl permettent de rechercher les propriétés des services Web à l'aide de l'outil wsadmin. Les commandes du groupe WebServicesAdmin permettent de répertorier tous les services Web, les références de service et les attributs, de rechercher les attributs d'un service Web particulier, de déterminer le noeud final d'un service Web ou de déterminer le nom des opérations d'un service Web.
Avant de commencer
Le programme de scriptage d'administration wsadmin prend en charge deux langages de script, Jacl et Jython. La syntaxe Jacl est dépréciée. Des exemples écrits en langage de chiffrement Jython uniquement sont inclus.
Pour pouvoir effectuer la procédure des commandes du groupe WebServicesAdmin, vous devez d'abord lancer l'outil wsadmin.
Pourquoi et quand exécuter cette tâche
Les commandes ci-après permettent de soumettre une requête sur les services Web et les attributs de service Web. Si vous recevez une erreur NoItemFoundException, cela signifie que l'application, le module, le service ou le noeud final indiqué est introuvable. Vérifiez que tous les paramètres sont corrects.
Si vous le souhaitez, vous pouvez indiquer le paramètre client pour toute commande du groupe WebServicesAdmin. Le paramètre client indique si la commande doit renvoyer des fournisseurs de services ou des clients de services. Indiquez false ou true selon que vous demandez, respectivement, des fournisseurs de services ou des clients de services.
Procédure
- Recherchez la configuration de tous les services Web installés pour toutes les applications d'entreprise. Entrez la commande ci-après. Vous n'avez pas besoin d'indiquer le paramètre application pour cette commande.
Cette commande renvoie la liste de tous les services Web installés. Elle indique également le nom de l'application, du module et du service, ainsi que le type de chaque service Web.AdminTask.listWebServices()
Exemple de sortie :'[ [service {http://www.ibm.com}service1] [client false] [application application1] [module webapp1.war] [type JAX-WS] ]'
- Recherchez la configuration de tous les services Web installés pour une application d'entreprise spécifique. Entrez la commande suivante en indiquant le nom de l'application à rechercher :
Cette commande renvoie la liste de tous les services Web installés pour l'application nom_application. Elle indique également le nom de l'application, du module et du service, ainsi que le type de chaque service Web.AdminTask.listWebServices('[–application application_name -client false]')
Exemple de sortie :'[ [service {http://www.ibm.com}service1] [client false] [application application1] [module webapp1.war] [type JAX-WS] ]'
- Recherchez la configuration pour le nom et le type d'un service Web pour une application d'entreprise. Entrez la commande ci-après en indiquant le nom de l'application, le nom du module et le nom du service Web. Le paramètre client est facultatif.
La commande renvoie le nom et le type du service Web.AdminTask.getWebService('[–application application_name -module module_name -service webservice_name -client false]')
Exemple de sortie :'[ [service {http://www.ibm.com}service1] [client false] [type JAX-WS] ]'
- Recherchez la configuration pour les noeuds finals de service Web pour une application d'entreprise. Le nom de noeud final logique correspond au nom de port dans le document WSDL (Web Services Description Language). Entrez la commande ci-dessous et indiquez le nom de l'application, le nom du module et le nom du service Web. Le paramètre client est facultatif.
Cette commande renvoie le port sur lequel le service Web est installé.AdminTask.listWebServiceEndpoints('[–application application_name -module module_name -service webservice_name -client false]')
Exemple de sortie :'[logicalEndpoint QuotePort01]'
- Recherchez la configuration pour les noms d'opérations de service Web pour une application d'entreprise. Entrez la commande ci-après en indiquant le nom de l'application, le nom du module, le nom du service Web et le nom du noeud final. Le nom de noeud final logique correspond au nom de port dans le document WSDL (Web Services Description Language). Le paramètre client est facultatif.
Cette commande renvoie toutes les opérations du service Web.AdminTask.listWebServiceOperations('[–application application_name -module module_name -service webservice_name -logicalEndpoint endpoint_name -client false]')
Exemple de sortie :'[operation ivt_app_op1] [operation ivt_app_op2]'
- Recherchez la configuration pour les fournisseurs de services, les noeuds finaux et les opérations de chaque actif déployé.
La commande listServices fournit des fonctions de recherche génériques. Utilisez la commande suivante pour afficher les informations relatives aux fournisseurs de services, noeuds finaux et opérations pour les applications d'entreprise et les clients WSN (Web Services Notification). Chaque paramètre est facultatif. Si vous ne spécifiez pas le paramètre queryProps, la commande renvoie chaque fournisseur de services de votre configuration. si vous ne spécifiez pas le paramètre expandResources, la commande ne renvoie pas les noeuds finals ou les opérations logiques pour chaque service.
L'exemple de commande suivant renvoie chaque fournisseur de services et les noeuds finals correspondants pour l'application monApplication :AdminTask.listServices('-queryProps "[[CompositionUnit=myApplication][client=false]" -expandResources endpoint']
L'exemple de commande suivant renvoie chaque fournisseur de services JAX-WS, les opérations et les noeuds finaux correspondants dans une cellule :
Cette commande renvoie les fournisseurs de services qui correspondent à la demande de recherche.AdminTask.listServices('[-queryProps "[[serviceType JAX-WS][client false]]"]')
Exemple de sortie :'[ [service {http://www.ibm.com}EchoService] [assetType [J2EE Application]] [client false] [application WSSampleServicesSei] [module SampleServicesSei.war] [serviceType JAX-WS] ] [ [service {http://www.ibm.com}EchoService12] [assetType [J2EE Application]] [client false] [application WSSampleServicesSei] [module SampleServicesSei.war] [serviceType JAX-WS] ] [service {http://www.ibm.com}PingService] [assetType [J2EE Application]] [client false] [application WSSampleServicesSei] [module SampleServicesSei.war] [serviceType JAX-WS] ] [ [service {http://www.ibm.com}PingService12] [assetType [J2EE Application]] [client false] [application WSSampleServicesSei] [module SampleServicesSei.war] [serviceType JAX-WS]]'
Utilisez la commande listServices pour plus de détails sur les références de service. Vous pouvez utiliser la propriété serviceRef avec le paramètre queryProps dans la commande listServices pour rechercher toutes les références de service ou une référence de service spécifique. Ce paramètre s'applique seulement aux clients de service. Si vous indiquez un astérisque (*) comme caractère générique dans le nom de la référence de service, toutes les références de service pour le client de service correspondant sont renvoyées. Vous pouvez également rechercher une référence de service spécifique en indiquant le nom de référence de service souhaité. Pour obtenir des informations détaillées sur les références de service pour les noeuds finaux et les opérations, indiquez la propriété expandResource.
L'exemple de commande suivant répertorie tous les clients de service et références de service figurant dans une cellule :
Cette commande renvoie les références de service qui correspondent à la demande de recherche.AdminTask.listServices('[-queryProps [[client true] [serviceRef *]]]')
Dans l'exemple de sortie suivant, les clients de service EchoService et Echoservice12 sont répertoriés et ne comportent pas de références de service dans la cellule. Toutefois, les clients de service TestService et TestService2 contiennent des références de service. Il existe un objet de propriétés pour chaque référence de service dans le client de service. Le nom du composant est uniquement disponible pour un module EJB.'[ [service {http://www.ibm.com}EchoService] [assetType [J2EE Application]] [client true] [application JaxWSServicesSamples] [module SampleClientSei.war] [serviceType JAX-WS] ] [ [service {http://www.ibm.com}EchoService12] [assetType [J2EE Application]] [client true] [application JaxWSServicesSamples] [module SampleClientSei.war] [serviceType JAX-WS] ] [ [service {http://www.ibm.com}TestService] [assetType [J2EE Application]] [client true] [application JaxWSServicesSamples] [module SampleClientSei.war] [serviceType JAX-WS] ] [ [serviceRef testRef] [assetType [J2EE Application]] [service {http://www.ibm.com}TestService] [client true] [application JaxWSServicesSamples] [module SampleClientSei.war] [serviceType JAX-WS] ] [ [service {http://www.ibm.com}TestService2] [assetType [J2EE Application]] [client true] [application JaxWSServicesSamples] [module SampleClientSei.war] [serviceType JAX-WS] ] [ [serviceRef testRef2] [assetType [J2EE Application]] [service {http://www.ibm.com}TestService2] [client true] [application JaxWSServicesSamples] [module SampleClientSei.war] [serviceType JAX-WS] ]
L'exemple de commande suivant répertorie une référence de service spécifique en développant les noeuds finals et les opérations :
Cette commande renvoie les références de service indiquées pour testRef et la propriété serviceRef est incluse dans chaque objet de propriétés ; par exemple :AdminTask.listServices('[-queryProps [[client true] [application JaxWSServicesSamples] [module SampleClientSei.war] [serviceRef testRef] -expandResource logicalEndpoint]')
'[ [serviceRef testRef] [service {http://www.ibm.com}TestService] [assetType [J2EE Application]] [client true] [application JaxWSServicesSamples] [module SampleClientSei.war] [serviceType JAX-WS] ] [ [serviceRef testRef] [module SampleClientSei.war] [serviceType JAX-WS] [client true] [service {http://www.ibm.com}TestService] [assetType [J2EE Application]] [logicalEndpoint portA] [application JaxWSServicesSamples] ] [ [serviceRef testRef] [module SampleClientSei.war] [serviceType JAX-WS] [client true] [service {http://www.ibm.com}TestService] [assetType [J2EE Application]] [logicalEndpoint portB] [application JaxWSServicesSamples] ]'
L'exemple de commande suivant renvoie chaque client de service WSN, les opérations et les noeuds finals correspondants dans une cellule :
Cette commande renvoie les fournisseurs de services qui correspondent à la demande de recherche.AdminTask.listServices('[-queryProps "[[serviceType [JAX-WS (WSN)]][clie nt true]]" -expandResource logicalEndpoint]')
Exemple de sortie :'[ [service {http://www.ibm.com/websphere/wsn/out/remote-publisher}OutboundRemotePublisherService] [assetType [WSN Service]] [client true] [bus bus1] [WSNService wsn1] [serviceType [JAX-WS (WSN)]] ] [ [assetType [WSN Service]] [service {http://www.ibm.com/websphere/wsn/out/remote-publisher}OutboundRemotePublisherService] [bus bus1] [client true] [WSNService wsn1] [serviceType [JAX-WS (WSN)]] [logicalEndpoint OutboundRemotePublisherPort] ] [ [service {http://www.ibm.com/websphere/wsn/out/notification}OutboundNotificationService] [assetType [WSN Service]] [client true] [bus bus1] [WSNService wsn1] [serviceType [JAX-WS (WSN)]] ] [ [assetType [WSN Service]] [service {http://www.ibm.com/websphere/wsn/out/notification}OutboundNotificationService] [bus bus1] [client true] [WSNService wsn1] [serviceType [JAX-WS (WSN)]] [logicalEndpoint OutboundNotificationPort] ]'
Sous-rubriques
Groupe de commandes WebServicesAdmin pour l'objet AdminTask
Vous pouvez utiliser les langages de script Jython ou Jacl pour configurer la sécurité à l'aide de l'outil wsadmin. Les commandes du groupe WebServicesAdmin permettent de répertorier tous les services web, les références de service et les attributs, de rechercher les attributs d'un service Web particulier, de déterminer le noeud final d'un service web ou de déterminer le nom des opérations d'un service Web.


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=txml_wsfpmanagews
Nom du fichier : txml_wsfpmanagews.html