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.