type=page
status=published
title=list-protocols
next=list-resource-adapter-configs.html
prev=list-protocol-finders.html
~~~~~~

= list-protocols

[[list-protocols-1]][[GSRFM00195]][[list-protocols]]

== list-protocols

Lists the existing protocols

[[sthref1764]]

=== Synopsis

[source]
----
asadmin [asadmin-options] list-protocols [--help]
[target]
----

[[sthref1765]]

=== Description

The `list-protocols` subcommand lists the existing protocols. This
subcommand is supported in remote mode only.

[[sthref1766]]

=== 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.

[[sthref1767]]

=== Operands

target::
  Restricts the listing to protocols for a specified target. Valid
  values are as follows:

  `server`;;
    Lists the protocols for the default server instance. This is the
    default value.
  configuration-name;;
    Lists the protocols for the specified configuration.
  cluster-name;;
    Lists the protocols for all server instances in the specified
    cluster.
  instance-name;;
    Lists the protocols for the specified server instance.

[[sthref1768]]

=== Examples

[[GSRFM705]][[sthref1769]]

==== Example 1   Listing Protocols

The following command lists all the protocols for the server instance:

[source]
----
asadmin> list-protocols
admin-listener
http-1
http-listener-1
http-listener-2
Command list-protocols executed successfully.
----

[[sthref1770]]

=== Exit Status

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

[[sthref1771]]

=== See Also

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

link:create-protocol.html#create-protocol-1[`create-protocol`(1)],
link:delete-protocol.html#delete-protocol-1[`delete-protocol`(1)]


