Florian Merges

NAME

Catalyst::Model::XMLRPC - XMLRPC model class for Catalyst

SYNOPSIS

 # Model
 __PACKAGE__->config(
    location => 'http://webservice.example.com:9000',
 );

 # Controller
 sub default : Private {
    my ($self, $c) = @_;

    my $res;
    
    eval {
        $res = $c->model('RemoteService')->send_request('system.listMethods');
        $c->stash->{value} = $res->value;
    };
    if ($@) {
        # Something went wrong...
    }
    
    ...
};

DESCRIPTION

This model class uses RPC::XML::Client to invoke remote procedure calls using XML-RPC.

CONFIGURATION

You can pass the same configuration fields as when you call RPC::XML::Client, the only special thing is that the URI is provided via the location field.

METHODS

General

Take a look at RPC::XML::Client to see the method you can call.

new

Called from Catalyst.

NOTES

By default, there is an error_handler and a fault_handler provided for the RPC::XML::Client object that call Carp::croak. You can override it if you want via the config call.

DIAGNOSTICS

Must provide an location

You'll get this error, if you haven't provided a location. See Config.

Can't create RPC::XML::Client object

Something went wrong while trying to create an RPC::XML::Client object. See documentation of this module for further references.

SEE ALSO

ACKNOWLEDGEMENTS

  • Daniel Westermann-Clark's module, Catalyst::Model::LDAP, it was my reference.

  • Lee Aylward, for reporting the issue regarding v.0.03.

AUTHOR

Florian Merges, <fmerges@cpan.org>

LICENSE

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