type=page
status=published
title=list-message-security-providers
next=list-modules.html
prev=list-managed-thread-factories.html
~~~~~~
list-message-security-providers
===============================

[[list-message-security-providers-1]][[GSRFM00184]][[list-message-security-providers]]

list-message-security-providers
-------------------------------

lists all security message providers for the given message layer

[[sthref1677]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] list-message-security-providers [--help]
--layer message_layer
[target]
----

[[sthref1678]]

Description

The `list-message-security-providers` subcommand enables administrators
to list all security message providers (`provider-config` sub-elements)
for the given message layer (`message-security-config` element of
`domain.xml`).

This subcommand is supported in remote mode only.

[[sthref1679]]

Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
`--layer`::
  The message-layer for which the provider has to be listed. The default
  value is `HttpServlet`.

[[sthref1680]]

Operands

target::
  Restricts the listing to message security providers for a specific
  target. Valid values include: +
  `server`;;
    Lists providers for the default server instance `server` and is the
    default value.
  `domain`;;
    Lists providers for the domain.
  cluster;;
    Lists providers for the server instances in the cluster.
  instance;;
    Lists providers for a particular server instance.

[[sthref1681]]

Examples

[[GSRFM684]][[sthref1682]]

Example 1   Listing message security providers

The following example shows how to list message security providers for a
message layer.

[source,oac_no_warn]
----
asadmin> list-message-security-providers 
--layer SOAP 
XWS_ClientProvider
ClientProvider
XWS_ServerProvider
ServerProvider
Command list-message-security-providers executed successfully.
----

[[sthref1683]]

Exit Status

0::
  command executed successfully
1::
  error in executing the command

[[sthref1684]]

See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:create-message-security-provider.html#create-message-security-provider-1[`create-message-security-provider`(1)],
link:delete-message-security-provider.html#delete-message-security-provider-1[`delete-message-security-provider`(1)]


