---
name: "Catalyst::Plugin::XMLRPC"
section: "3pm"
platform: "linux"
package: "libcatalyst-modules-perl"
version: "31"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/Catalyst::Plugin::XMLRPC"
---

# Catalyst::Plugin::XMLRPC(3pm)

Catalyst::Plugin::XMLRPC - Dispatch XMLRPC methods with Catalyst

```
    # Include it in plugin list
    use Catalyst qw/XMLRPC/;
    # Public action to redispatch somewhere in a controller
    sub entrypoint : Global {
        my ( $self, $c ) = @_;
        # Redispatch to XMLRPC methods by calling this method
        $c->xmlrpc;
    }
    # Methods with XMLRPC attribute in any controller
    sub echo : XMLRPC('myAPI.echo') {
        my ( $self, $c, @args ) = @_;
        return RPC::XML::fault->new( 400, "No input!" ) unless @args;
        return join ' ', @args;
    }
    sub add : XMLRPC {
        my ( $self, $c, $a, $b ) = @_;
        return $a + $b;
    }
```

This plugin allows your controller class to dispatch XMLRPC methods from its own class.\
 **$c-\>xmlrpc** Call this method from a controller action to set it up as a endpoint.\
 **setup\_dispatcher** Catalyst::Manual, Catalyst::Test, Catalyst::Request, Catalyst::Response, Catalyst::Helper, RPC::XML Sebastian Riedel, `"sri@oook.de"` Marcus Ramberg, `"mramberg@cpan.org"` Christian Hansen Yoshinori Sano Michiel Ootjers Jos Boumans This library is free software, you can redistribute it and/or modify  it under the same terms as Perl itself. Hey! **The above document had some coding errors, which are explained below:** =back without =over
