type=page
status=published
title=list-iiop-listeners
next=list-instances.html
prev=list-http-listeners.html
~~~~~~

= list-iiop-listeners

[[list-iiop-listeners-1]][[GSRFM00169]][[list-iiop-listeners]]

== list-iiop-listeners

Lists the existing IIOP listeners

[[sthref1509]]

=== Synopsis

[source]
----
asadmin [asadmin-options] list-iiop-listeners [--help]
[target]
----

[[sthref1510]]

=== Description

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

[[sthref1511]]

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

[[sthref1512]]

=== Operands

target::
  This operand specifies the target for which the IIOP listeners are to
  be listed. Valid values are:

  `server`;;
    Lists the listeners in the default server instance `server` and is
    the default value.
  configuration_name;;
    Lists the listeners in the specified configuration.
  cluster_name;;
    Lists the listeners in the specified cluster.
  instance_name;;
    Lists the listeners in a particular server instance.

[[sthref1513]]

=== Examples

[[GSRFM663]][[sthref1514]]

==== Example 1   Using the list-iiop-listeners subcommand

The following command lists all the IIOP listeners for the server
instance:

[source]
----
asadmin> list-iiop-listeners
orb-listener-1
SSL
SSL_MUTUALAUTH
sample_iiop_listener
Command list-iiop-listeners executed successfully.
----

[[sthref1515]]

=== Exit Status

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

[[sthref1516]]

=== See Also

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

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


