Description
The Xmlrpc plugin adds a remoting client capable of communicating via XML-RPC. It is compatible with Grails' Xmlrpc plugin 0.1 (hhttp://grails.org/plugin/xmlrpc).
Installation
The current version of griffon-xmlrpc-plugin is 0.6
To install just issue the following command
Usage
The plugin will inject the following dynamic methods:
- withXmlrpc(Map params, Closure stmts) - executes
stmtsissuing XML-RPC calls to a remote server.
Where params may contain
Property |
Type |
Required |
Notes |
|---|---|---|---|
url |
String |
XML-RPC server endpoint |
This method is also accessible to any component through the singleton griffon.plugins.hessian.XmlRpcConnector. You can inject these methods to non-artifacts via metaclasses. Simply grab hold of a particular metaclass and call XmlRpcConnector.enhance(metaClassInstance).
Configuration
Dynamic method injection
Dynamic methods will be added to controllers by default. You can change this setting by adding a configuration flag in Config.groovy
Examples
This example relies on Grails as the service provider. Follow these steps to configure the service on the Grails side:
- Download a copy of Grails and install it.
- Create a new Grails application. We'll pick 'exporter' as the application name.
- Change into the application's directory. Install the xfire plugin.
- Create a MathService
grails-app/services/MathService.groovy
- Create a controller that exposes the service
grails-app/controllers/MathController.groovy
- Start the application
Now we're ready to build the Griffon application
- Create a new Griffon application. We'll pick MathClient as the name
- Install the xmlrpc plugin
- Fix the view script to look like this
griffon-app/views/MathClientView.groovy
- Let's add required properties to the model
griffon-app/models/MathClientModel.groovy
- Now for the controller code. Notice that there is minimal error handling in place. If the user types something that is not a number the client will surely break, but the code is sufficient for now.
griffon-app/controllers/MathClientController.groovy
- Start the application
All dynamic methods will create a new client when invoked unless you define an id: attribute. When this attribute is supplied the client will be stored as a property on the instance's metaClass. You will be able to access it via regular property access or using the id: again.
History
Version |
Date |
Notes |
|---|---|---|
0.6 |
10-21-11 |
Release sync with Griffon 0.9.4 |
0.5 |
12-21-10 |
Release sync with Griffon 0.9.2 |
0.4.1 |
11-08-10 |
Fix a metaclass problem when injecting dynamic methods |
0.4 |
10-27-10 |
Release sync with Griffon 0.9.1 |
0.3 |
07-22-10 |
Release sync with Griffon 0.9 |
0.2 |
03-01-10 |
Upgraded to Griffon 0.3 |
0.1 |
10-26-09 |
Initial release |


