[jdev] SOAP over XMPP, does my server need anything special?

Jonathan Dickinson chayce.za at gmail.com
Wed Aug 22 12:01:26 CDT 2007


Wow! That's awesome! I just want to re-iterate that XMPP is stateful, I 
would really like to be able to write code like this against a server:

ImageServer.LoadImage("somebackground.png");
ImageServer.OverlayImage("someavatar.png", 100, 100);
ImageServer.GetImage();

That's just a demonstration, but I am sure you can see that it has far 
better qualities than SOAP over HTTP, in which you would probably have 
to write the following:

int token = ImageServer.LoadImage("somebackground.png");
ImageServer.OverlayImage(token, "someavatar.png", 100, 100);
ImageServer.GetImage(token);

I really, really, really, just want to point out that you should adapt 
the framework (Axis2 in your case) to cater for stateful SOAP calls. If 
you use the host JID for hosting the SOAP methods you could even use 
SASL to handle authentication instead of ugly Login() methods. (WildFire 
meets Axis, what fun!). I am a C# programmer, but I can think of many 
ways in which it will be simple to implement (associating a class with 
the SOAP methods with each client connection).

You really need to sit down and think about how you can streamline SOAP 
as a whole using XMPP. You definitely have me thinking!

Good Luck! Java is definitely the way to go when you want to get ideas 
out there.

Jonathan

sumedha rubasinghe wrote:
> Hi,
> I have written a XMPP transport for Axis2/Java [1]. I am planning to submit
> a patch soon.
> Right now I do not have the full spec complacency. But you can call Axis2
> web service from a  Axis2 client using  XMPP as the transport & get the
> response using the same.
> 
> /sumedha
> 
> 
> 
> [1] http://ws.apache.org/axis2/
> 
> On 8/22/07, Jonathan Dickinson <chayce.za at gmail.com> wrote:
>> If you want your server to expose a SOAP endpoint you will need a
>> plugin, otherwise you could always have a custom Jabber client and have
>> JIDs like creditcards at bank.com and accounts at bank.com.
>>
>> It makes more sense to make the server JID (e.g. bank.com) the SOAP
>> endpoint, but that isn't always possible: as it seems to be in your case.
>>
>> Furthermore, I would recommend you alter your SOAP framework somehow,
>> because SOAP is stateless where XMPP is stateful, you can leverage this
>> to your advantage (in my honest opinion, XMPP is better suited to Remote
>> API than HTTP). E.g. most SOAP endpoints require a login of some form,
>> you can have the user log in once using a Login method instead of
>> sending credentials/tokens each time another method is called.
>>
>> Good luck!
>>
>> Devraj Mukherjee wrote:
>>> Hi everyone,
>>>
>>> I am a new to Jabber development, and am trying to carry SOAP messages
>>> over XMPP. I noticed the SOAP extension to XMPP on the XMPP web site.
>>>
>>> My questions is do Jabber servers require additional
>>> plugins/implementations to carry SOAP messages across or can any
>>> standard Jabber server be able to carry the message?
>>>
>>> Thanks.
>>>
> 



More information about the JDev mailing list