Interop guide for Apache Sandesha

This document explains the interoperability of apache Sandesha with several other well known WS-RM implementations. You can test the interoperability yourself using the stub classes and the test client web application we have provided.

Sandesha client has successfully interoperated with the WS-RM implementations given below. We have developed client classes for each of these endpoints. Please make sure that the server endpoints are available before you try to run the client classes. Also make sure that your computer can get information back asynchronously. (you may have to make sure that a firewall is not blocking the response path (default port 9090) and you may need to have a public IP address).

Public Endpoint for Sandesha

Interop Client is http://ws.zones.apache.org:7070/sandesha-interop/interop.jsp

With IBM Implementation

Server endpoint is http://wsi.alphaworks.ibm.com:8080/wsrm/services/rmDemos

With IBM we have successfully interoperated both Ping and EchoString scenarios. Classes IBMEcho, IBMAsyncPing and IBMSyncPing can be used to test the interoperability with this endpoint. These are available in the package org.apache.sandesha.interop of the 'interop' folder.

With Microsoft Implementation

Server endpoint is http://131.107.153.195/SecureReliableMessaging/ReliableOneWayDual.svc

Sandesha interoperated with the above Ping service ednpoints available from Microsoft. Classes MicrosoftAsyncPing and MicrosoftSyncPing can be used to test the interoperability with this endpoint. These are available in the package org.apache.sandesha.interop of the 'interop' folder.

With Systinet Server

Server endpoint is http://soap.systinet.net:6064/Service

Sandesha has also proved to be interoperable with the Systinet server. The client stub classes are SystinetSyncPing and SystinetAsyncPing, available in the package org.apache.sandesha.interop of the 'interop' folder.

Using Test Client webapp

We have created a simple web application which you can deploy on tomcat and test the interoperability with any available WS-RM server implementation. To build the webapp,

Make sure that you have Apache Ant installed in your system. After this go to the the folder 'interop' in command prompt and type,

ant war

This will create the sandesha-interop.war file in the subfolder 'target/dist/war'. Copy this to the webapps folder of tomcat and start the tomcat server. Now you are ready to run the Sandesha interop client. Start your web browser and go to URL http://localhost:8080/sandesha-interop/interop.jsp This should show you the interop client web page.

Most of the fields in this web page are self-explanatory. First you can set the target field to any valid target URL. After this choose the operation Ping or echoString accordingly. The AcksTo field represents the <wsrm:AcksTo> value. If ScksTo is anonymous the acknowledgements will be sent in a synchronous path. You can also set the fields From, To and ReplyTo which represent <wsa:From>, <wsa:To> and <wsa:ReplyTo> respectively. ReplyTo should say where you expect to receive applications responses. FaultTo URL should point to the location you expect to receive faults. Finally you can mention weather the client should send a sequence offer which is the sequence id of the response path, and the number of application messages you wish to send to the server.