Web-Services mit wsadmin-Scripting abfragen
Sie können die Scripting-Sprache Jython oder Jacl verwenden, um Web-Service-Eigenschaften mit dem Tool "wsadmin" abzufragen. Verwenden Sie die Befehle in der Gruppe "WebServicesAdmin", um alle Web-Services, Servicereferenzen und Attribute aufzulisten, Attribute eines bestimmten Web-Service zu suchen, den Web-Service-Endpunkt zu bestimmen und den Operationsnamen eines Web-Service zu bestimmen.
Vorbereitende Schritte
Das Scripting-Programm für die Verwaltung wsadmin unterstützt zwei Scripting-Sprachen, Jacl und Jython. Die Jacl-Syntax ist veraltet. Es werden Beispiele bereitgestellt, die ausschließlich in der Scripting-Sprache Jython geschrieben sind.
Sie müssen das Tool "wsadmin" starten, um die Prozedur für die Befehle in der Gruppe "WebServicesAdmin" auszuführen.
Informationen zu diesem Vorgang
Verwenden Sie die folgenden Befehle, um Web-Services und Web-Service-Attribute abzufragen. Wenn Sie einen Fehler vom Typ "NoItemFoundException" erhalten, wurde die angegebene Anwendung, das angegebene Modul, der angegebene Service oder der angegebene Endpunkt nicht gefunden. Vergewissern Sie sich, dass alle Parameter korrekt sind.
Optional können Sie den Parameter "client" für jeden Befehl in der Befehlsgruppe "WebServicesAdmin" angeben. Der Parameter "client" gibt an, ob Service-Provider oder Service-Clients zurückgegeben werden sollen. Geben Sie false für Service-Provider und true für Service-Clients an.
Vorgehensweise
- Fragen Sie die Konfiguration für alle installierten Web-Services für alle Unternehmensanwendungen ab. Geben Sie den folgenden Befehl ein. Für diesen Befehl muss der Parameter "application" nicht angegeben werden.
Dieser Befehl gibt alle installierten Web-Services zurück. Außerdem gibt der Befehl den Anwendungsnamen, den Modulnamen, den Servicenamen und den Servicetyp für jeden Web-Service zurück.AdminTask.listWebServices()
Beispielausgabe:'[ [service {http://www.ibm.com}service1] [client false] [application application1] [module webapp1.war] [type JAX-WS] ]'
- Fragen Sie die Konfiguration für alle installierten Web-Services für eine bestimmte Unternehmensanwendung ab. Geben Sie den folgenden Befehl ein, und geben Sie den Namen der abzufragenden Anwendung an:
Dieser Befehl gibt alle installierten Web-Services für die angegebene Anwendung (Anwendungsname) zurück. Außerdem gibt der Befehl den Anwendungsnamen, den Modulnamen, den Servicenamen und den Servicetyp für jeden Web-Service zurück.AdminTask.listWebServices('[–application application_name -client false]')
Beispielausgabe:'[ [service {http://www.ibm.com}service1] [client false] [application application1] [module webapp1.war] [type JAX-WS] ]'
- Fragen Sie die Konfiguration für den Web-Service-Namen und -Typ für eine Unternehmensanwendung
ab. Geben Sie den folgenden Befehl ein, und geben Sie den Anwendungsnamen, Modulnamen und Web-Service-Namen an. Der Parameter client ist optional.
Der Befehl gibt den Namen und den Typ des Web-Service zurück.AdminTask.getWebService('[–application application_name -module Modulname -service Name_des_Web-Service -client false]')
Beispielausgabe:'[ [service {http://www.ibm.com}service1] [client false] [type JAX-WS] ]'
- Fragen Sie die Konfiguration für die Web-Service-Endpunkte für eine Unternehmensanwendung ab. Der Name des logischen Endpunkts ist der Portname im WSDL-Dokument (Web Services Description Language). Geben Sie den folgenden Befehl ein, und geben Sie den Anwendungsnamen, Modulnamen und Web-Service-Namen an. Der Parameter client ist optional.
Dieser Befehl gibt den Port zurück, an dem der Web-Service installiert ist.AdminTask.listWebServiceEndpoints('[–application application_name -module Modulname -service Name_des_Web-Service -client false]')
Beispielausgabe:'[logicalEndpoint QuotePort01]'
- Fragen Sie die Konfiguration für die Web-Service-Operationsnamen für eine Unternehmensanwendung ab. Geben Sie den folgenden Befehl ein, und geben Sie den Anwendungsnamen, den Modulnamen, den Web-Service-Namen und den Endpunktnamen an. Der Name des logischen Endpunkts ist der Portname im WSDL-Dokument (Web Services Description Language). Der Parameter client ist optional.
Dieser Befehl gibt alle Operationen des Web-Service zurück.AdminTask.listWebServiceOperations('[–application Anwendungsname -module module_name -service Name_des_Web-Service -logicalEndpoint Endpunktname -client false]')
Beispielausgabe:'[operation ivt_app_op1] [operation ivt_app_op2]'
- Fragen Sie die Konfiguration für die Service-Provider, Endpunkte und Operationen von jedem implementierten Asset ab.
Der Befehl "listServices" stellt generische Abfragefunktionen bereit. Verwenden Sie den folgenden Befehl, um Informationen zu Service-Providern, Endpunkten und Operationen für Unternehmensanwendungen und WSN-Clients (Web Services Notification) anzuzeigen. Jeder Parameter ist optional. Wenn Sie den Parameter "queryProps" nicht angeben, gibt der Befehl jeden Service-Provider in Ihrer Konfiguration zurück. Wenn Sie den Parameter "expandResources" nicht angeben, gibt der Befehl die logischen Endpunkte oder Operationen für die einzelnen Services nicht zurück.
Das folgende Befehlsbeispiel gibt jeden Service-Provider und die entsprechenden Endpunkte für die Anwendung myApplication zurück:AdminTask.listServices('-queryProps "[[CompositionUnit=myApplication][client=false]" -expandResources endpoint']
Das folgende Befehlsbeispiel gibt jeden JAX-WS-Service-Provider und die entsprechenden Endpunkte und Operationen in einer Zelle zurück:
Dieser Befehl gibt die Service-Provider zurück, die der Suchabfrage entsprechen.AdminTask.listServices('[-queryProps "[[serviceType JAX-WS][client false]]"]')
Beispielausgabe:'[ [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]]'
Verwenden Sie den Befehl "listServices", um sich mit Servicereferenzen vertraut zu machen. Sie können die Eigenschaft serviceRef mit dem Parameter "queryProps" für den Befehl "listServices" verwenden, um alle Servicereferenzen oder eine bestimmte Servicereferenz abzufragen. Dieser Parameter ist nur für Service-Clients gültig. Wenn Sie einen Stern (*) als Platzhalter für den Namen der Servicereferenz angeben, werden alle Servicereferenzen für den übereinstimmenden Service-Clients zurückgegeben. Sie können auch eine bestimmte Servicereferenz abfragen, indem Sie den Namen der gewünschten Servicereferenz angeben. Wenn detaillierte Servicereferenzinformationen für Endpunkte und Operationen zurückgegeben werden sollen, geben Sie die Eigenschaft "expandResource" an.
Der folgende Beispielbefehl listet alle Service-Clients und Servicereferenzen in einer Zelle auf:
Dieser Befehl gibt die Servicereferenzen zurück, die der Suchabfrage entsprechen.AdminTask.listServices('[-queryProps [[client true] [serviceRef *]]]')
In der folgenden Beispielausgabe werden die Service-Clients "EchoService" und "Echoservice12" aufgelistet, und diese Clients haben keine Servicereferenzen in der Zelle. Die Service-Clients "TestService" und "TestService2" haben jedoch keine Servicereferenzen. Es gibt ein einziges Eigenschaftenobjekt für jede Servicereferenz im Service-Client. Der Komponentenname ist nur für ein EJB-Modul verfügbar.'[ [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] ]
Der folgende Beispielbefehl listet eine bestimmte Servicereferenz durch Erweiterung von Endpunkten und Operationen auf:
Dieser Befehl gibt die angegebenen Servicereferenzen für testRef zurück, und die Eigenschaft "serviceRef" wird in jedes Eigenschaftenobjekt eingeschlossen, z. B.: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] ]'
Das folgende Befehlsbeispiel gibt jeden WSN-Service-Client und die entsprechenden Endpunkte und Operationen in einer Zelle zurück:
Dieser Befehl gibt die Service-Provider zurück, die der Suchabfrage entsprechen.AdminTask.listServices('[-queryProps "[[serviceType [JAX-WS (WSN)]][clie nt true]]" -expandResource logicalEndpoint]')
Beispielausgabe:'[ [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] ]'
Unterartikel
Befehlsgruppe "WebServicesAdmin" für das Objekt "AdminTask"
Sie können die Scripting-Sprachen Jython und Jacl verwenden, um die Sicherheit mit dem Tool "wsadmin" zu konfigurieren. Verwenden Sie die Befehle in der Gruppe "WebServicesAdmin", um alle Web-Services, Servicereferenzen und Attribute aufzulisten, Attribute eines bestimmten Web-Service zu suchen, den Web-Service-Endpunkt zu bestimmen und den Operationsnamen eines Web-Service zu bestimmen.


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