NAME

    Broadworks::OCIP - API for communication with Broadworks OCI-P
    Interface

VERSION

    version 0.09

SYNOPSIS

      use Broadworks::OCIP;
    
      my $ocip = Broadworks::OCIP->new(params);
      my $res = $ocip->SystemSoftwareVersionGetRequest();

DESCRIPTION

    Broadworks::OCIP is a perl interface to the Broadworks OCI-P
    Provisioning interface. The functions provided reflect the AS OCI-P.
    The methods supported are documented in the Broadworks::OCIP::Methods
    module, which is autogenerated from the Broadworks schemas.

 Required Parameters

  host

    The host that is being connected to - either a host name or an IP
    address.

  username

    The username to authenticate with on the remote system.

  authhash

    An authentication hash to use for authenticating the username.
    Alternatively the password attribute can be set and this is transformed
    into an appropriate authhash (and the password deleted).

 Other attributes

  version

    Broadworks version - currently defaults to 17sp4.

  character_set

    The character set to use - currently defaults to ISO-8859-1.

  encoder

    A character set encoder - uses an instance of Encode returned by
    "find_encoding" in Encode.

  protocol

    The protocol to implement - always OCI.

  port

    The port number to connect to - default 2208.

  target

    The target to connect to - consists of the host and port linked by a
    colon.

  timeout

    The timeout within the connection in seconds - defaults to 8 can be
    changed during the session.

  socket

    The connection socket - automatically set.

  select

    A select object on the connection socket.

  session

    The session identifier for the session - defaults to a Data::UUID
    string.

  is_authenticated

    Are we authenticated. Checking this forces authentication. If
    authentication fails then we throw an exception.

  last_sent

    The last sent XML document.

  trace

    Are we tracing. If this is true then we output sent and received data
    to STDERR.

METHODS

  BUILDARGS

    Standard Moose BUILDARGS function. If a single argument is passed this
    is treated as a config filename (opened with Config::Any) if it is a
    scalar, or assumed to be a hash reference, which is expanded up.

    If a config filename is passed this is opened, and any Broadworks::OCIP
    is taken as the overall config.

    Any password attribute is removed from the config and an authhash is
    put in its place. This means dumping the object will not reveal the
    password.

  send

    Sends an XML document to the Broadworks remote over the socket. Convert
    the passed string to the correct character set.

  receive

    Receive an XML response from the Broadworks remote over the socket.
    Decode the received string and pass to the Broadworks::OCIP::Response
    constructor.

  send_command_xml

    Builds an XML command document from the command passed and the
    parameters (which are passed as an array ref of pairs).

    When the document has been created it is send using the send method.

  send_query

    Sends an XML command to the Broadworks remote over the socket, and
    receives and passes back the expected response document. Throws an
    exception if the reply type is returned.

  send_command

    Sends an XML command to the Broadworks remote over the socket, and
    receives and passes back the expected SuccessResponse document. An
    exception is not thrown if the wrong reply type is returned, however
    the status_ok attribute should be checked for this.

  DEMOLISH

    On object destruction, if the system has authenticated, sends a
    LogoutRequest command and then tears down the socket connection.

AUTHOR

    Nigel Metheringham <Nigel.Metheringham@redcentricplc.com>

COPYRIGHT

    Copyright 2014-2020 Recentric Solutions Limited. All rights reserved.

AUTHOR

    Nigel Metheringham <nigelm@cpan.org>

COPYRIGHT AND LICENSE

    This software is copyright (c) 2020 by Nigel Metheringham.

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.