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 : Archives

avatar
< Do nothing, successfully   jo!, the unknown development servlet container >
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]
 

Comments

Re: XFire in and Axis out
Yes, it can be easier… I've got my app configured with Spring and XFire to use JSR-181 annotations. When a bean annotated with the JSR-181 annotations is registered with Spring, it is automatically exported as a web service with XFire.
Re: XFire in and Axis out
So you still need to register the bean, I don't see where that is easier.
Re: XFire in and Axis out
Because I was registering the service for internal use anyway, now it's exposed as a Web Service as well.
Re: XFire in and Axis out
Wow, finally a SOAP toolkit that is as easy as GLUE _used_ to be!
Re: XFire in and Axis out
So the question I have is, to use XFire or AXis 2 with Spring? I thought Axis was more integrated, but XFire looks to be a powerfuly fast and easy to use web services framework.

I only looked at the two briefly. Does XFire have a Swing/Client side API that I can use to make calls to the server side XFire deployment and is it easy to use? Any examples to show? I basically have a Swing client (and a J2ME client) that will be making calls to the web services layer. I need both the J2SE and J2ME clients to be able to make use of the server side web services, and both MUST be as secure as possible in both directions. Any tips on this?

Is Xfire faster/better/small/easier than Axis 2? Are there any areas I should be aware of that Axis 2 may provide that XFire doesn't?

Thank you.

Re: XFire in and Axis out
Finally there is a SOAP framework that is easier to use/learn. I have been using Axis since 1.2 and I found out that teaching a fresh grad to build a client takes a few days, but only takes a few hours for XFire.

Could the Axis team try to make Axis a bit easier like EJB from 2.0 to 3.0?
Re: XFire in and Axis out
How good is XFire at WSDL to Service (Server) code?

Add a new comment

:) ;)
=) :-)
:'( :(
:/ :D
:| :p
:o 8)
Your email address will not be displayed at anytime on any page.
Only provide your email address if you'd like updates on this entry
and it's comments by email.
Please answer this simple math question:
9 + 7 = 
 
 
  

Manage subscription

Remove email:
 

< Do nothing, successfully   jo!, the unknown development servlet container >
 
 
 
Google
rifers.org web