AdminTask 对象的 WebServicesAdmin 命令组
要通过 wsadmin 工具配置安全性,可以使用 Jython 或 Jacl 脚本语言来实现。使用 WebServicesAdmin 组中的命令来列出所有 Web Service、服务引用和属性,查找特定 Web Service 的属性,确定 Web Service 端点以及确定 Web Service 的操作名称。
使用 WebServicesAdmin 组中的命令来查询有关已安装的 Web Service 的信息。有关 AdminTask 对象的更多信息,请参阅“AdminTask 对象的命令”信息。
getWebService
getWebService 命令可用于检索 Web Service 的属性。此命令仅适用于企业应用程序。
目标对象
无。
必需参数
- -application
- 指定已部署企业应用程序的名称。(字符串,必需)
- -module
- 指定模块的名称。(字符串,必需)
- -service
- 指定 Web Service 的名称。(字符串,必需)
可选参数
- -client
- 指定 Web Service 是提供者还是客户机。缺省值为 false(服务提供者)。如果设为 true,那么此命令仅返回 Web Service 客户机。(布尔值,可选)
返回值
返回属性的列表,包括服务名称、服务类型以及服务是提供程序还是客户机。服务类型属性仅适用于服务提供者。
批处理方式示例用法
AdminTask.getWebService('[-application application_name -module module_name -service webservice_name
-client false]')
'[[service {http://www.ibm.com}service1][type JAX-WS][client false]]'
交互方式示例用法
AdminTask.getWebService ('-interactive')
listServices
listServices 命令查询服务、端点和操作的配置。此命令比此命令组中的其余命令提供更为通用的查询功能。它适用于 Java™ 应用程序以及诸如 Web Services Notification (WSN) 客户机之类的其他资产。
目标对象
无。
可选参数
- -queryProps
- 指定用来查找相关服务提供者或客户机的属性。例如,如果指定 [[type=JAX-WS][client=true]],那么此命令返回企业应用程序中的每个 JAX-WS 客户机引用。(属性,可选)-queryProps 参数接受若干个属性。可以使用一个或多个属性来指定查询条件。请不要混合不同资产类型之间的查询属性。例如,如果指定 application 属性和 bus 属性,那么该命令会报告错误。
- 将下列属性与 -queryProps 参数一起指定以查询企业应用程序:
表 1. 用于企业应用程序的 -queryProps 参数的属性. 使用这些属性来查询企业应用程序。 属性和值 描述 assetType=J2EE Application 查询每个 Java EE 应用程序。 application=application_name 查询特定 Java EE 应用程序。 module=module_name 查询特定 Java EE 应用程序模块。必须指定 application 属性和 module 属性,才能查询应用程序模块。 - 将下列属性与 -queryProps 参数一起指定以查询 WSN 客户机:
表 2. 用于查询 WSN 客户机的属性. 使用这些属性来查询 WSN 客户机。 属性和值 描述 assetType=WSN Service 查询每个 WSN 服务客户机。 bus=bus_name 查询特定总线。 WSNService=WSN_service_name 查询特定 WSN 服务。必须指定 bus 属性和 WSNService 属性,才能查询特定 WSN 服务。 - 将下列属性与 -queryProps 参数一起指定以查询所有资产:
表 3. 用于查询所有资产的 -queryProps 参数的属性. 使用这些属性来查询所有资产。 属性和值 描述 serviceType=service_type 按服务类型查询。指定 JAX-WS 以查询 Java™ API for XML-Based Web Services 资产。指定 JAX-WS (WSN) 以查询 Web Services Notification 资产。 client=Boolean 查询客户机或提供程序。指定 true 以查询客户机。指定 false 以查询提供程序。 service=service_name 针对特定服务查询逻辑端点和操作。 - 如果 client=true,那么将下列属性与 -queryProps 参数一起指定,以查询所有服务引用或者特定服务引用:
表 4. 用于查询服务引用的 -queryProps 参数的属性. 使用这些属性来查询服务客户机的所有服务引用。 属性和值 描述 serviceRef=serviceref_name 查询特定服务引用。
您还可以将星号 (*) 用作通配符,以指定返回匹配服务客户机下的所有服务引用。
- 将下列属性与 -queryProps 参数一起指定以查询企业应用程序:
- -expandResource
- 指定是否仅返回服务名称或服务以及详细的资源信息。指定 logicalEndpoint 或 operation。如果指定 logicalEndpoint 值,那么该命令返回匹配的服务以及这些服务中的每个端点。如果指定 operation 值,那么该命令返回匹配的服务以及对应的端点和操作。(字符串,可选)
- 可以使用 expandResource 参数来返回服务引用下的端点和操作的详细资源信息。
返回值
该命令返回每个服务的属性列表以及详细的端点和操作信息(如果查询端点和操作)。
批处理方式示例用法
[ [service {http://www.ibm.com}EchoService] [assetType [J2EE Application]]
[client false] [application MyWSApplication] [module ServicesModule.war] [serviceType JAX-WS] ]
[ [assetType [J2EE Application]] [service {http://www.ibm.com}EchoService]
[client false] [application MyWSApplication] [module ServicesModule.war] [serviceType JAX-WS]
[logicalEndpoint EchoServicePort] ]
[ [service {http://www.ibm.com}PingService] [assetType [J2EE Application]]
[client false] [application MyWSApplication] [module ServicesModule.war] [serviceType JAX-WS] ]
[ [assetType [J2EE Application]] [service {http://www.ibm.com}PingService]
[client false] [application MyWSApplication] [module ServicesModule.war] [serviceType JAX-WS]
[logicalEndpoint PingServicePort] ]
AdminTask.listServices('[-queryProps [[application MyWSApplication][client false]] -expandResource
logicalEndpoint]')
AdminTask.listServices(['–queryProps', '[[application myApplication][client false]]', '-expandResource',
'logicalEndpoint'])
下列示例查询 myBus 总线下的每个服务客户机。这些示例不会为每个服务客户机返回逻辑端点或操作,因为未指定 -expandResource 参数。
AdminTask.listServices('[-queryProps [[bus myBus][client true]] ]')
AdminTask.listServices(['-queryProps', '[[bus myBus][client true]]'])
下列示例会针对 JaxWSServicesSamples 应用程序的每个服务客户机,查询名称为 testRef 的服务引用。由于指定了 -expandResource 参数,这些示例将返回各个服务引用的逻辑端点或操作的详细资源信息。
AdminTask.listServices('[-queryProps [[client true] [application JaxWSServicesSamples] [module SampleClientSei.war]
[serviceRef testRef] -expandResource logicalEndpoint]')
AdminTask.listServices(['-queryProps', '[[application JaxWSServicesSamples][client true][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] ]'
交互方式示例用法
AdminTask.listServices('-interactive')
listWebServices
listWebServices 命令用于检索一个或所有应用程序的可用 Web Service 列表。如果未提供应用程序名称,那么此命令会列出所有 Web Service。此命令仅适用于企业应用程序。
目标对象
无。
必需参数
无。
可选参数
- -application
- 指定已部署企业应用程序的名称。如果未指定此参数,那么此命令返回单元中的所有 Web Service。(字符串,可选)
- -client
- 指定 Web Service 是提供者还是客户机。缺省值为 false(服务提供者)。如果设为 true,那么此命令仅返回 Web Service 客户机。(布尔值,可选)
返回值
所指定应用程序的所有 Web Service。对于每个 Web Service,此命令返回下列属性和相应的值:应用程序名称、模块名称、服务名称、服务类型以及 Web Service 是服务提供者还是服务客户机。仅当 Web Service 是服务提供者时才指定服务类型。
批处理方式示例用法
AdminTask.listWebServices('[-application application1 -client false]')
AdminTask.listWebServices(['-application', 'application1', '-client', 'false'])
'[[service {http://www.ibm.com}service1][application application1][module webapp1.war][type JAX-WS][client false]]'
交互方式示例用法
AdminTask.listWebServices('-interactive')
listWebServiceEndpoints
listWebServiceEndpoints 命令返回 Web Service 的逻辑端点列表。逻辑端点名称是 Web 服务描述语言 (WSDL) 文档中的端口名称。此命令仅适用于企业应用程序。
目标对象
无。
必需参数
- -application
- 指定已部署企业应用程序的名称。(字符串,必需)
- -module
- 指定模块的名称。(字符串,必需)
- -service
- 指定 Web Service 的名称。(字符串,必需)
可选参数
- -client
- 指定 Web Service 是提供者还是客户机。缺省值为 false(服务提供者)。如果设为 true,那么此命令仅返回 Web Service 客户机。(布尔值,可选)
返回值
返回所指定 Web Service 的逻辑端点名称。
批处理方式示例用法
AdminTask.listWebServiceEndpoints('[-application application_name -module module_name -service webservice_name -client false]')
AdminTask.listWebServiceEndpoints(['-application', 'application_name', '-module', 'module_name', '-service', 'webservice_name', '-client', 'false'])
'[[logicalEndpoint QuotePort01]]'
交互方式示例用法
AdminTask.listWebServiceEndpoints('-interactive')
listWebServiceOperations
listWebServiceOperations 命令返回 Web Service 操作的列表。此命令仅适用于企业应用程序。
目标对象
无。
必需参数
- -application
- 指定已部署企业应用程序的名称。(字符串,必需)
- -module
- 指定模块的名称。(字符串,必需)
- -service
- 指定 Web Service 的名称。(字符串,必需)
- -logicalEndpoint
- Web 服务描述语言 (WSDL) 文档中的端口名。(字符串,必需)
可选参数
- -client
- Web Service 是提供者还是客户机。缺省值为 false(服务提供者)。如果设为 true,那么此命令仅返回 Web Service 客户机。(布尔值,可选)
返回值
返回所指定 Web Service 的操作名称。
批处理方式示例用法
AdminTask.listWebServiceOperations('[-application application_name -module module_name -service webservice_name -client false
-logicalEndpoint endpoint_name]')
AdminTask.listWebServiceOperations(['-application', 'application_name', '-module', 'module_name', '-service', 'webservice_name', '-client',
'false', '-logicalEndpoint', 'endpoint_name'])
'[[operation ivt_app_op1][operation ivt_app_op2]]'
交互方式示例用法
AdminTask.listWebServiceOperations('-interactive')