> ## Content Index
> Fetch the complete content index at: https://www.process-one.net/llms.txt
> Use this file to discover other available public pages before exploring further.

# Using Google Wave reference implementation with ejabberd
- URL: https://www.process-one.net/blog/using-google-wave-reference-implementation-with-ejabberd/
- Published: 2009-07-23T22:00:00.000Z
- Updated: 2024-09-24T10:08:18.000Z
- Author: Mickaël Rémond

Following up our work with Google in Mountain View this week ([Federation day](https://googlewavedev.blogspot.com/2009/07/google-wave-hackathon-and-federation.html?ref=process-one.net)), here is the in a few step how to configure Google Wave reference implementation.

## Using Java 6

Make sure you have Java 1.6.0 installed on your system to run Google reference implementation.

For example, on Mac OS X you can change Java preferences or type the following commands:

  
`$ export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home  
$ export PATH=$JAVA_HOME/bin:$PATH`  

## Getting the code

To retrieve the code, you need to have Mercurial installed on your system. Type *hg –version* to check that this is the case. If you need to install it, you can download a binary version for Windows or Mac OS X from this [page](https://mercurial.berkwood.com/?ref=process-one.net).

Then, check out the code with Mercurial.

  
`hg clone `[https://wave-protocol.googlecode.com/hg/](https://www.process-one.net/en?URL=https%3A%2F%2Fwave-protocol.googlecode.com%2Fhg%2F)` wave-protocol`  

To compile the code, type:

  
`ant`  

The *dist* directory should now contain the resulting version of the Google Wave server: fedone-0.2.jar

## Creating the certificates for Google Wave server

The process to create those self-signed certificates are described on Google Wave wiki: [Certificates](https://code.google.com/p/wave-protocol/wiki/Certificates?ref=process-one.net).

## Configuring ejabberd

To configure ejabberd, simply add a new listener service in the listen section of the configuration file:

  
`{listen,  
[  
...  
{8888, ejabberd_service, [{access, all}, {shaper_rule, fast},  
{hosts, ["wave.process-one.net"],  
[{password, "foobar"}]}  
]}  
]}.`  

You can then restart ejabberd. The port 8888 should now be open and ready to accept connections from the Google Wave server.

## Starting the Google Wave server

With the following example command, we launch the Wave server reference implementation and ask it to connect as a component to ejabberd.

  
`java -jar dist/fedone-0.2.jar --client_frontend_hostname localhost --client_frontend_port 3456 --xmpp_component_name=wave --xmpp_server_hostname=process-one.net --xmpp_server_ip=127.0.0.1 --xmpp_server_port=8888 --xmpp_server_secret foobar --xmpp_server_ping="" --certificate_domain process-one.net --certificate_private_key test.key --certificate_files test.cert --waveserver_disable_verification true`  

You should now see the Google Wave component in the server service discovery:

<img src="https://www.process-one.net/images/uploads/Wave\_disco.png" style="border: 0;" alt="image" width="697" height="514" /