Skip to end of metadata
Go to start of metadata

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 stmts issuing XML-RPC calls to a remote server.

Where params may contain

Property

Type

Required

Notes

url

String

(tick)

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:

  1. Download a copy of Grails and install it.
  2. Create a new Grails application. We'll pick 'exporter' as the application name.
  3. Change into the application's directory. Install the xfire plugin.
  4. Create a MathService
    grails-app/services/MathService.groovy
  5. Create a controller that exposes the service
    grails-app/controllers/MathController.groovy
  6. Start the application

Now we're ready to build the Griffon application

  1. Create a new Griffon application. We'll pick MathClient as the name
  2. Install the xmlrpc plugin
  3. Fix the view script to look like this
    griffon-app/views/MathClientView.groovy
  4. Let's add required properties to the model
    griffon-app/models/MathClientModel.groovy
  5. 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
  6. 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

  • No labels