The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

MooseX::Role::XMLRPC::Client - provide the needed bits to be a XML-RPC client

SYNOPSIS

    package MultipleWiths;
    use Moose;

    # ...

    # we don't want to keep any login information here
    with 'MooseX::Role::XMLRPC::Client' => {
        name => 'bugzilla',
        uri  => 'https://bugzilla.redhat.com/xmlrpc.cgi',
        login_info => 0,
    };

    # basic info
    with 'MooseX::Role::XMLRPC::Client' => {
        name => 'foo',
        uri  => 'http://foo.org/a/b/c',
    };

    sub _build_foo_userid { 'userid'   }
    sub _build_foo_passwd { 'passw0rd' }

    sub foo_login  { 'do login magic here..'   }
    sub foo_logout { 'do logout magic here...' }

DESCRIPTION

This is a Moose role that provides methods and attributes needed to enable a class to serve as an XML-RPC client. It is parameterized through MooseX::Role::Parameterized, so you can customize how it embeds in your class. You can even embed it multiple times with different paramaterization, if it strikes your fancy :-)

ROLE PARAMETERS

This role generates methods and attributes depending on these parameters. None of them are required.

name

This parameter defaults to "xlmrpc". It serves as a prefix to all generated methods and attributes. File and URI types are coerced.

uri (URI)

login_info (Bool)

traits (ArrayRef[Str])

An arrayref of traits to apply to the attributes.

METHODS/ATTRIBUTES

Right now, the best documentation can be found in the tests.

SEE ALSO

RPC::XML::Client, Moose::Role, MooseX::Role::Parameterized.

BUGS AND LIMITATIONS

There are no known bugs in this module.

Please report problems to Chris Weyl <cweyl@alumni.drew.edu>, or (preferred) to this package's RT tracker at <bug-MooseX-Role-XMLRPC-Client@rt.cpan.org>.

Patches are welcome.

AUTHOR

Chris Weyl <cweyl@alumni.drew.edu>

LICENSE AND COPYRIGHT

Copyright (c) 2009 Chris Weyl <cweyl@alumni.drew.edu>

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the

    Free Software Foundation, Inc.
    59 Temple Place, Suite 330
    Boston, MA  02111-1307  USA