Navigation

RSS 2.0 New Entries Syndication Feed Atom 0.3 New Entries Syndication Feed

Show blog menu v

 

General

Use it

Documentation

Support

Sibling projects

RIFE powered

Valid XHTML 1.0 Transitional

Valid CSS!

Blogs : Latest entries

avatar
XFire in and Axis out

Axis 1.1 used to be the SOAP framework that was integrated with RIFE. The integration was very hackish to say the least since there were no easily replaceable and reusable parts that could be used with another servlet-like gateway in front of it. Since Axis 1.1 doesn't work with Java 5.0, we really had to remove it and either support version 1.2 or use another solution before releasing RIFE 1.0. Since the Axis integration guide didn't really seem to provide me with an easier integration solution, I had a closer look at XFire.

Now listen up people ... this is possibly the nicest designed modular approach to a SOAP framework. All regular functionality was working with merely 50 lines of code. I however want to make it possible for each service to also access RIFE's ElementSupport API and interact with the data flow and logic flow. I was never able to integrate this with Axis, but it already existed for Hessian services. I searched around a little while through the XFire sources and found that I could simply make it use another object invoker. Look at this file, it does exactly what I want and nothing more ... no additional code overhead whatshowever! Wonderful job Dan!

I'm very pleased with the end result too. All that's needed to setup a SOAP webservice in RIFE with XFire now are two properties, like this:

<element extends="rife/soap/xfire.xml">
    <property name="home-class">com.uwyn.rife.engine.testwebservices.soap.xfire.Echo</property>
    <property name="home-api">com.uwyn.rife.engine.testwebservices.soap.xfire.EchoApi</property>
</element>

The Java source code is very simple:

public class Echo implements EchoApi
{
    public String echo(String value)
    {
        return "I got : '"+value+"'";
    }
}

public interface EchoApi
{
    public String echo(String value);
}

Can it possibly be easier? This is SOAP with all the ease-of-use of Hessian!

posted by Geert Bevin in RIFE on Jul 8, 2005 5:24 PM : 7 comments [permalink]
 

 
 
 
Google
rifers.org web