You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fx-dev@ws.apache.org by ch...@apache.org on 2005/11/30 12:03:36 UTC

svn commit: r349921 - in /webservices/sandesha/trunk: ./ test/src/org/apache/sandesha2/wsrm/ xdocs/

Author: chamikara
Date: Wed Nov 30 03:02:30 2005
New Revision: 349921

URL: http://svn.apache.org/viewcvs?rev=349921&view=rev
Log:
Updated maven files and readme file.
Updated test files.
Updated documentation.

Added:
    webservices/sandesha/trunk/xdocs/index.html
    webservices/sandesha/trunk/xdocs/navigation.xml
Modified:
    webservices/sandesha/trunk/README.txt
    webservices/sandesha/trunk/project.properties
    webservices/sandesha/trunk/project.xml
    webservices/sandesha/trunk/test/src/org/apache/sandesha2/wsrm/CreateSequenceResponseTest.java
    webservices/sandesha/trunk/test/src/org/apache/sandesha2/wsrm/CreateSequenceTest.java
    webservices/sandesha/trunk/test/src/org/apache/sandesha2/wsrm/SequenceAcknowledgementTest.java
    webservices/sandesha/trunk/test/src/org/apache/sandesha2/wsrm/SequenceTest.java
    webservices/sandesha/trunk/test/src/org/apache/sandesha2/wsrm/TerminateSequenceTest.java
    webservices/sandesha/trunk/xdocs/architectureGuide.html
    webservices/sandesha/trunk/xdocs/userGuide.html

Modified: webservices/sandesha/trunk/README.txt
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/README.txt?rev=349921&r1=349920&r2=349921&view=diff
==============================================================================
--- webservices/sandesha/trunk/README.txt (original)
+++ webservices/sandesha/trunk/README.txt Wed Nov 30 03:02:30 2005
@@ -1,5 +1,71 @@
-This is Apache Sandesha2 (Implementation of WS-ReliableMessaging on top of Apache Axis2)
-Sandesha for Apache Axis 1.X can be located in
+==========================================================================
+Apache Sandesha2 0.9 build (30 November 2005)
+
+http://ws.apache.org/sandesha/sandesha2
+---------------------------------------------------------------------------
+
+Apache Sandesha2 is a WS-ReliableMessaging implementation on top of Apache 
+Axis2. If you are looking for a WS-ReliableMessaging implementation for 
+Apache Axis 1.x, please go for Sandesha 1.0 which is located at
 http://svn.apache.org/repos/asf/webservices/sandesha/branches/sandesha_1_0/
 
-Apache Sandesha Team.
\ No newline at end of file
+----------------------------------------------------------------------------
+
+Installation
+============
+Download and install Apache Axis2. (see http://ws.apache.org/axis2 for more
+details).
+Add and phase called RMPhase after the postDispatch phase to all four flows 
+of the Axis2.xml.
+Get the binary distribution of Sandesha2 and extract it. You will find the 
+sandesha2-0.9.mar file inside that. This is the current Sandesha2 module 
+file.
+Put Sandesha2 module file to <Axis2_webapp>/WEB-INF/modules directory.
+Put sandesha2.properties file to <Axis2_webapp>/WEB-INF/classes directory (this
+can also be in any other place of your classpath).
+ 
+Using Sandesha2 in the server side
+===================================
+Put a module reference for the Sandesha module in the services.xml files of the
+services to which you hope to give the RM capability.
+For e.g.
+<service>
+    <module ref="sandesha2-0.9" />
+    ...........
+    ...........
+</service>
+
+Using Sandeshsa2 in the client side
+===================================
+
+Engage Sandesha2-0.9 module to the call object or the MessageSender object before
+you doing any invocation. Also add set the property "WSRMLastMessage" (given by
+org.apache.sandesha2.ClientProperties.LAST_MESSAGE ) to "true", before doing the 
+last invocation. 
+
+Example code:
+MessageSender sender = new MessageSender (AXIS2_CLIENT_PATH);
+sender.engageModule(new QName ("Sandesha2-0.9"));
+sender.setTo(new EndpointReference(toEPR));
+sender.set(MessageContextConstants.TRANSPORT_URL,toEPR);
+sender.send("ping",getPingOMBlock("ping1"));
+sender.send("ping",getPingOMBlock("ping2"));
+sender.set(org.apache.sandesha2.Constants.LAST_MESSAGE, "true");
+sender.send("ping",getPingOMBlock("ping3"));
+
+Please see Sandesha2 user guide for more advance details on configuring Sandesha2.
+
+
+Documentation
+=============
+Documentation for Sandesha2 can be found in xdocs directory in the Sandesha2 
+distribution.
+
+Support
+=======
+Please post any problem you encounter to the sandesha developer list 
+(sandesha-dev@ws.apache.org). Please remember to mart the subject with the [Sandesha2]
+prefix. Your comments are highly appreciated and really needed to make this distribution
+a successful one.
+
+Apache Sandesha2 team.
\ No newline at end of file

Modified: webservices/sandesha/trunk/project.properties
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/project.properties?rev=349921&r1=349920&r2=349921&view=diff
==============================================================================
--- webservices/sandesha/trunk/project.properties (original)
+++ webservices/sandesha/trunk/project.properties Wed Nov 30 03:02:30 2005
@@ -1 +1,19 @@
-maven.repo.remote=http://svn.apache.org/repository/,http://www.ibiblio.org/maven/
\ No newline at end of file
+# -----------------------------------------------------------------------------
+# Default properties for the Maven build. You can override these properties
+# either by defining a build.properties file with the overriden properties
+# or by passing them on the command line as system parameters (-D).
+# -----------------------------------------------------------------------------
+
+# MAVEN CORE
+##############
+# comma-spearated list of remote JAR repository URLs
+maven.repo.remote=http://svn.apache.org/repository/,http://www.ibiblio.org/maven/
+
+# XDOC PLUGIN
+###############
+# Display project version and date on web site
+maven.xdoc.date = left
+maven.xdoc.version = ${pom.currentVersion}
+
+maven.html2xdoc.enabled=false
+maven.html2xdoc.dir=./xdocs
\ No newline at end of file

Modified: webservices/sandesha/trunk/project.xml
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/project.xml?rev=349921&r1=349920&r2=349921&view=diff
==============================================================================
--- webservices/sandesha/trunk/project.xml (original)
+++ webservices/sandesha/trunk/project.xml Wed Nov 30 03:02:30 2005
@@ -34,7 +34,7 @@
     <!-- the project home page -->
     <url>http://ws.apache.org/ws-fx/sandesha/</url>
 
-    <issueTrackingUrl>http://nagoya.apache.org/jira/browse/WSFX</issueTrackingUrl>
+    <issueTrackingUrl>http://issues.apache.org/jira/browse/SAND</issueTrackingUrl>
     <siteAddress>ws.apache.org</siteAddress>
 
     <siteDirectory>/ws-fx/sandesha/</siteDirectory>

Modified: webservices/sandesha/trunk/test/src/org/apache/sandesha2/wsrm/CreateSequenceResponseTest.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/test/src/org/apache/sandesha2/wsrm/CreateSequenceResponseTest.java?rev=349921&r1=349920&r2=349921&view=diff
==============================================================================
--- webservices/sandesha/trunk/test/src/org/apache/sandesha2/wsrm/CreateSequenceResponseTest.java (original)
+++ webservices/sandesha/trunk/test/src/org/apache/sandesha2/wsrm/CreateSequenceResponseTest.java Wed Nov 30 03:02:30 2005
@@ -1,7 +1,7 @@
 package org.apache.sandesha2.wsrm;
 
 import org.apache.sandesha2.SandeshaTestCase;
-import org.apache.sandesha2.Constants;
+import org.apache.sandesha2.Sandesha2Constants;
 import org.apache.axis2.soap.SOAPEnvelope;
 import org.apache.axis2.soap.SOAPFactory;
 import org.apache.axis2.addressing.EndpointReference;
@@ -60,17 +60,17 @@
         res.toSOAPEnvelope(env);
 
         OMElement createSeqResponsePart = env.getBody().getFirstChildWithName(
-                new QName(Constants.WSRM.NS_URI_RM, Constants.WSRM.CREATE_SEQUENCE_RESPONSE));
+                new QName(Sandesha2Constants.WSRM.NS_URI_RM, Sandesha2Constants.WSRM.CREATE_SEQUENCE_RESPONSE));
         OMElement identifierPart = createSeqResponsePart.getFirstChildWithName(
-                new QName(Constants.WSRM.NS_URI_RM, Constants.WSRM.IDENTIFIER));
+                new QName(Sandesha2Constants.WSRM.NS_URI_RM, Sandesha2Constants.WSRM.IDENTIFIER));
         assertEquals("uuid:88754b00-161a-11da-b6d6-8198de3c47c5", identifierPart.getText());
 
         OMElement acceptPart = createSeqResponsePart.getFirstChildWithName(
-                new QName(Constants.WSRM.NS_URI_RM, Constants.WSRM.ACCEPT));
+                new QName(Sandesha2Constants.WSRM.NS_URI_RM, Sandesha2Constants.WSRM.ACCEPT));
         OMElement acksToPart = acceptPart.getFirstChildWithName(
-                new QName(Constants.WSRM.NS_URI_RM, Constants.WSRM.ACKS_TO));
+                new QName(Sandesha2Constants.WSRM.NS_URI_RM, Sandesha2Constants.WSRM.ACKS_TO));
         OMElement addressPart = acksToPart.getFirstChildWithName(new QName(
-				Constants.WSA.NS_URI_ADDRESSING, Constants.WSA.ADDRESS));
+				Sandesha2Constants.WSA.NS_URI_ADDRESSING, Sandesha2Constants.WSA.ADDRESS));
         assertEquals("http://localhost:8070/axis/services/TestService", addressPart.getText());
     }
 }

Modified: webservices/sandesha/trunk/test/src/org/apache/sandesha2/wsrm/CreateSequenceTest.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/test/src/org/apache/sandesha2/wsrm/CreateSequenceTest.java?rev=349921&r1=349920&r2=349921&view=diff
==============================================================================
--- webservices/sandesha/trunk/test/src/org/apache/sandesha2/wsrm/CreateSequenceTest.java (original)
+++ webservices/sandesha/trunk/test/src/org/apache/sandesha2/wsrm/CreateSequenceTest.java Wed Nov 30 03:02:30 2005
@@ -1,7 +1,7 @@
 package org.apache.sandesha2.wsrm;
 
 import org.apache.sandesha2.SandeshaTestCase;
-import org.apache.sandesha2.Constants;
+import org.apache.sandesha2.Sandesha2Constants;
 import org.apache.sandesha2.wsrm.*;
 import org.apache.axis2.soap.SOAPEnvelope;
 import org.apache.axis2.soap.SOAPFactory;
@@ -58,18 +58,18 @@
         SOAPEnvelope envelope = getEmptySOAPEnvelope();
         createSequence.toSOAPEnvelope(envelope);
 
-        OMElement createSequencePart = envelope.getBody().getFirstChildWithName(new QName(Constants.WSRM.NS_URI_RM,
-                        Constants.WSRM.CREATE_SEQUENCE));
+        OMElement createSequencePart = envelope.getBody().getFirstChildWithName(new QName(Sandesha2Constants.WSRM.NS_URI_RM,
+                        Sandesha2Constants.WSRM.CREATE_SEQUENCE));
         OMElement acksToPart = createSequencePart.getFirstChildWithName(new QName(
-				Constants.WSRM.NS_URI_RM, Constants.WSRM.ACKS_TO));
+				Sandesha2Constants.WSRM.NS_URI_RM, Sandesha2Constants.WSRM.ACKS_TO));
 		OMElement addressPart = acksToPart.getFirstChildWithName(new QName(
-                Constants.WSA.NS_URI_ADDRESSING, Constants.WSA.ADDRESS));
+                Sandesha2Constants.WSA.NS_URI_ADDRESSING, Sandesha2Constants.WSA.ADDRESS));
         assertEquals("http://127.0.0.1:9090/axis/services/RMService", addressPart.getText());
 
         OMElement offerPart = createSequencePart.getFirstChildWithName(
-                new QName(Constants.WSRM.NS_URI_RM, Constants.WSRM.SEQUENCE_OFFER));
+                new QName(Sandesha2Constants.WSRM.NS_URI_RM, Sandesha2Constants.WSRM.SEQUENCE_OFFER));
         OMElement identifierPart = offerPart.getFirstChildWithName(
-                new QName(Constants.WSRM.NS_URI_RM, Constants.WSRM.IDENTIFIER));
+                new QName(Sandesha2Constants.WSRM.NS_URI_RM, Sandesha2Constants.WSRM.IDENTIFIER));
         assertEquals("uuid:c3671020-15e0-11da-9b3b-f0439d4867bd", identifierPart.getText());
     }
 }

Modified: webservices/sandesha/trunk/test/src/org/apache/sandesha2/wsrm/SequenceAcknowledgementTest.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/test/src/org/apache/sandesha2/wsrm/SequenceAcknowledgementTest.java?rev=349921&r1=349920&r2=349921&view=diff
==============================================================================
--- webservices/sandesha/trunk/test/src/org/apache/sandesha2/wsrm/SequenceAcknowledgementTest.java (original)
+++ webservices/sandesha/trunk/test/src/org/apache/sandesha2/wsrm/SequenceAcknowledgementTest.java Wed Nov 30 03:02:30 2005
@@ -1,7 +1,7 @@
 package org.apache.sandesha2.wsrm;
 
 import org.apache.sandesha2.SandeshaTestCase;
-import org.apache.sandesha2.Constants;
+import org.apache.sandesha2.Sandesha2Constants;
 import org.apache.axis2.soap.SOAPEnvelope;
 import org.apache.axis2.soap.SOAPFactory;
 import org.apache.axis2.om.OMAbstractFactory;
@@ -72,9 +72,9 @@
         seqAck.toSOAPEnvelope(env);
 
         OMElement sequenceAckPart = env.getHeader().getFirstChildWithName(
-                new QName(Constants.WSRM.NS_URI_RM, Constants.WSRM.SEQUENCE_ACK));
+                new QName(Sandesha2Constants.WSRM.NS_URI_RM, Sandesha2Constants.WSRM.SEQUENCE_ACK));
         OMElement identifierPart = sequenceAckPart.getFirstChildWithName(
-                new QName(Constants.WSRM.NS_URI_RM, Constants.WSRM.IDENTIFIER));
+                new QName(Sandesha2Constants.WSRM.NS_URI_RM, Sandesha2Constants.WSRM.IDENTIFIER));
         assertEquals("uuid:897ee740-1624-11da-a28e-b3b9c4e71445", identifierPart.getText());
 
 

Modified: webservices/sandesha/trunk/test/src/org/apache/sandesha2/wsrm/SequenceTest.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/test/src/org/apache/sandesha2/wsrm/SequenceTest.java?rev=349921&r1=349920&r2=349921&view=diff
==============================================================================
--- webservices/sandesha/trunk/test/src/org/apache/sandesha2/wsrm/SequenceTest.java (original)
+++ webservices/sandesha/trunk/test/src/org/apache/sandesha2/wsrm/SequenceTest.java Wed Nov 30 03:02:30 2005
@@ -1,7 +1,7 @@
 package org.apache.sandesha2.wsrm;
 
 import org.apache.sandesha2.SandeshaTestCase;
-import org.apache.sandesha2.Constants;
+import org.apache.sandesha2.Sandesha2Constants;
 import org.apache.axis2.soap.SOAPEnvelope;
 import org.apache.axis2.soap.SOAPFactory;
 import org.apache.axis2.om.OMAbstractFactory;
@@ -52,13 +52,13 @@
         sequence.toSOAPEnvelope(envelope);
 
         OMElement sequencePart = envelope.getHeader().getFirstChildWithName(
-                new QName(Constants.WSRM.NS_URI_RM, Constants.WSRM.SEQUENCE));
+                new QName(Sandesha2Constants.WSRM.NS_URI_RM, Sandesha2Constants.WSRM.SEQUENCE));
         OMElement identifierPart = sequencePart.getFirstChildWithName(
-                new QName(Constants.WSRM.NS_URI_RM, Constants.WSRM.IDENTIFIER));
+                new QName(Sandesha2Constants.WSRM.NS_URI_RM, Sandesha2Constants.WSRM.IDENTIFIER));
         assertEquals("uuid:879da420-1624-11da-bed9-84d13db13902", identifierPart.getText());
 
         OMElement msgNumberPart = sequencePart.getFirstChildWithName(
-				new QName (Constants.WSRM.NS_URI_RM,Constants.WSRM.MSG_NUMBER));
+				new QName (Sandesha2Constants.WSRM.NS_URI_RM,Sandesha2Constants.WSRM.MSG_NUMBER));
         assertEquals(1, Long.parseLong(msgNumberPart.getText()));
     }
 }

Modified: webservices/sandesha/trunk/test/src/org/apache/sandesha2/wsrm/TerminateSequenceTest.java
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/test/src/org/apache/sandesha2/wsrm/TerminateSequenceTest.java?rev=349921&r1=349920&r2=349921&view=diff
==============================================================================
--- webservices/sandesha/trunk/test/src/org/apache/sandesha2/wsrm/TerminateSequenceTest.java (original)
+++ webservices/sandesha/trunk/test/src/org/apache/sandesha2/wsrm/TerminateSequenceTest.java Wed Nov 30 03:02:30 2005
@@ -1,7 +1,7 @@
 package org.apache.sandesha2.wsrm;
 
 import org.apache.sandesha2.SandeshaTestCase;
-import org.apache.sandesha2.Constants;
+import org.apache.sandesha2.Sandesha2Constants;
 import org.apache.axis2.soap.SOAPEnvelope;
 import org.apache.axis2.soap.SOAPFactory;
 import org.apache.axis2.om.OMAbstractFactory;
@@ -43,9 +43,9 @@
         terminateSequence.toSOAPEnvelope(env);
 
         OMElement terminateSeqPart = env.getBody().getFirstChildWithName(
-                new QName(Constants.WSRM.NS_URI_RM, Constants.WSRM.TERMINATE_SEQUENCE));
+                new QName(Sandesha2Constants.WSRM.NS_URI_RM, Sandesha2Constants.WSRM.TERMINATE_SEQUENCE));
         OMElement identifierPart = terminateSeqPart.getFirstChildWithName(
-                new QName(Constants.WSRM.NS_URI_RM, Constants.WSRM.IDENTIFIER));
+                new QName(Sandesha2Constants.WSRM.NS_URI_RM, Sandesha2Constants.WSRM.IDENTIFIER));
         assertEquals("uuid:59b0c910-1625-11da-bdfc-b09ed76a1f06", identifierPart.getText());
     }
 }

Modified: webservices/sandesha/trunk/xdocs/architectureGuide.html
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/xdocs/architectureGuide.html?rev=349921&r1=349920&r2=349921&view=diff
==============================================================================
--- webservices/sandesha/trunk/xdocs/architectureGuide.html (original)
+++ webservices/sandesha/trunk/xdocs/architectureGuide.html Wed Nov 30 03:02:30 2005
@@ -26,7 +26,7 @@
 Source is required to send each messages one or more times. RM Destination
 send back acknowledgements to notify the successful reception of messages.
 After receiving the acknowledgement for a certain message RM Source can stop
-retransmission of that message.</p>
+the retransmission of that message.</p>
 
 <p>When all messages of a certain sequence have been successfully transmitted
 to the RM Destination, RM Source sends a TerminateSequence message to the RM
@@ -50,7 +50,7 @@
 <p></p>
 
 <p>RM Destination will obtain the messages and invoke them by passing to the
-Application Destination. If RM Destination is confugired to invoke the
+Application Destination. If RM Destination is configured to invoke the
 messages in order, it will have to pause the invocation of some messages
 until all previous once have been received and invoked.</p>
 
@@ -66,7 +66,7 @@
 
 <p></p>
 
-<p>Above diagram explains the basic architecture of Sandesha2. Let's try to
+<p>Above diagram gives the basic architecture of Sandesha2. Let's try to
 understand each part of this in detail.</p>
 
 <p></p>
@@ -104,19 +104,19 @@
 
 <h3>Sender</h3>
 
-<p>Sender is responsible for transmitting and retransmitting messages. The
-sender is a seperated thread that keeps running all the time. At each
+<p>Sender is responsible for transmition and retransmition of messages. The
+Sender is a seperate thread that keeps running all the time. At each
 iteration Sender check the Sandesha2 Storage to see weather there are any
-messages to be sent. If there are any those messages are sent. If the message
-does not have to be retransmitted the Sender delete this entry from the
-Storage. Otherwise the entry is only modified, and will be sent at some other
-time. How exactly this happens will be explained later.</p>
+messages to be sent. If there are any, they are sent. If a message does not
+have to be retransmitted the Sender delete this entry from the Storage.
+Otherwise the entry is only modified, and will be sent at some other time.
+How exactly this happens will be explained later.</p>
 
 <p></p>
 
 <h3>Message Processors</h3>
 
-<p>Sandesha2 have a set of message processors each extend the
+<p>Sandesha2 have a set of message processors each extending the
 MessageProcessor interface. Each message processor is responsible for
 processing a certain type of message. For example CreateSequenceProcessor
 will process incoming Create Sequence messages and Acknowledgement processor
@@ -127,30 +127,32 @@
 
 <h3>InOrderInvoker</h3>
 
-<p>InOrderInvoker is another seperate thread started by the sandesha2 system.
-This is started only if Sadesha2 has been configured to support InOrder
-Invocation delivery assurance. This is responsible for invoking messages of a
-sequence in the order of message numbers.</p>
+<p>InOrderInvoker is another seperate thread that get started by the
+Sandesha2 system. This is started only if Sadesha2 has been configured to
+support InOrder Invocation delivery assurance. InOrderInvoker is responsible
+for invoking messages of a sequence in the order of message numbers.</p>
 
 <p></p>
 
-<h3>Sandesha Storage Framework</h3>
+<h3>Sandesha2 Storage Framework</h3>
 
-<p>Sandesha Storage Framework is the cornerstone of Sandesha2. This was
-designed to support the RM Message exchage while being independent of the
-storage implementation used. Two main storage implementations are InMemory
-storage implementation and Database based storage implementations.</p>
+<p>Sandesha2 Storage Framework cab be given as the cornerstone of Sandesha2
+system. This was designed to support the RM Message exchage while being
+independent of the storage implementation used. Two main storage
+implementations are InMemory storage implementation and Database based
+storage implementation.</p>
 
 <p>Storage framework define several beans that extend the RMBean storage (so
-these are called RMBeans). Currently there are five RMBeans. They are.</p>
+these are called RM Beans). Currently there are five RM Beans. They are.</p>
 <ol>
   <li>CreateSequenceBean (fields - InternalSequenceID, CreateSequenceMsgID,
     SequenceID)</li>
   <li>SenderBean (fields - key, internalSequenceID, msgNo, msgID, msgType,
     send, resent, sentCount)</li>
-  <li>NextMsgBean (fields sequenceID, nextMsgToInvoke)</li>
-  <li>InvokerBean (fields are key, sequenceID, msgNo)</li>
-  <li>SequencePropertyBean (sequenceID, propertyName, propertyValue)</li>
+  <li>NextMsgBean (fields - sequenceID, nextMsgToInvoke)</li>
+  <li>InvokerBean (fields - key, sequenceID, msgNo)</li>
+  <li>SequencePropertyBean (fields - sequenceID, propertyName,
+  propertyValue)</li>
 </ol>
 
 <p>Each storage implementation should have five BeanManagers that define how
@@ -180,11 +182,11 @@
 
 <p>You can instruct Sandesha2 to give the delivery assurance you want. The
 bacis configurable delivery assurance we provide is the odering of messages.
-By setting the InOrderInvocation property of sandesha2.properties file to
-true (the default), you can tell sandesha2 to invoke messages of a sequence
+By setting the InOrderInvocation property of Sandesha2.properties file to
+true (the default), you can tell Sandesha2 to invoke messages of a sequence
 in the order. Order will be decided based on the wsrm:messageNumber. If you
-set this property to false, sandesha2 will invoke messages as they come.
-Please note that if you set an invalid value to this property, sandesha2 will
+set this property to false, Sandesha2 will invoke messages as they come.
+Please note that if you set an invalid value to this property, Sandesha2 will
 use the defult.</p>
 
 <p>Which delivery assurance to use depend on your requirements. If you want
@@ -193,13 +195,13 @@
 There could be a considerable performance improvement if you set this to
 false.</p>
 
-<p>Internally sandesha2 start a special thread if inorder invocation is
+<p>Internally sandesha2 start a special thread if in-order invocation is
 required (InOrderInvoker). This thread which is continuously running will
 only invoke the messages in order.</p>
 
 <p>In the current implementation each message (identified by sequenceID and
 message number) will be invoked only once. So exactly once delivey assurance
-is guaranteed. You cannot ask sandesha2 to invoke the same message more than
+is guaranteed. You cannot ask Sandesha2 to invoke the same message more than
 once.</p>
 
 <p></p>
@@ -210,7 +212,7 @@
 common RM scenario. Which is the sending of a couple of Ping messages from a
 client to the server. We will mailnly look at how Sandesha2 use its storage
 to do the RM message exchange correctly. While reading this please keep in
-mind the RMBeans and their fields which were mentioned before.</p>
+mind the RM Beans and their fields which were mentioned before.</p>
 
 <p><b>Client side</b></p>
 <ul>
@@ -220,7 +222,7 @@
   <li>SandeshaOutHandler adds an entry to the CreateSequenceBeanManager. The
     internalSequenceId is an identifier unique to the whole sequence. For the
     client side this is the concantination of wsa:To and a constants set by
-    the client (SEQUENCE_KEY). The seqienceId property is initially null. The
+    the client (SEQUENCE_KEY). The seqenceID property is initially null. The
     createSeqMsgID is the message ID of the crerated Create Sequence
   message.</li>
   <li>SandeshaOutHandler adds two entries to the SenderBeanManager. One which
@@ -236,11 +238,11 @@
     (the value of the create sequence message ID comes in the relatesTo part
     of the Create Sequence Response message).</p>
   </li>
-  <li>Client update the sequenceId property of the CreateSequence entry. Also
-    the send value of the application message entries are set to true, so
-    that the sender start sending (and retransmitting) them.</li>
+  <li>Client update the sequenceID property of the CreateSequence BeanManager
+    entry. Also the send value of the application message entries are set to
+    true, so that the sender start sending (and retransmitting) them.</li>
   <li>When the client receive acknowlegements for the messages it sent, the
-    tast is deligate to the Acknwoledgement processor, It removes the
+    task is deligate to the Acknwoledgement processor, It removes the
     corresponsing entry of that application message ifrom the
     SenderBeanManager.</li>
   <li>If an acknowledgement says that all the sent messages (upto last
@@ -264,12 +266,12 @@
     enabled, an entry is added to the InvokerBeanManager representing this.
     (suppose the message number of this message is 2)</li>
   <li>The InOrderInvoker which keeps looking at the InvokerBeanManager
-    entries sees that there are entries to be invoked. </li>
+    entries sees that there are entries to be invoked.</li>
   <li>the InOrderInvoker checks the entry of the NextMessageBeanManager of
     the relevent sequence and sees that it is 1. But since only message
     number 2 is present in the invokerBeanManager entries the invocation is
     not done.</li>
-  <li>After some time application message 1 also comes. Now the invoker sees
+  <li>After some time application message 1 also comes. Now the Invoker sees
     this entry and invoke the message. It also update the
     NextMessageBeanManager nextMessageToInvoke property to 2. The invoker
     again check weather the new entry for the NextMessageToInvoke (2) is

Added: webservices/sandesha/trunk/xdocs/index.html
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/xdocs/index.html?rev=349921&view=auto
==============================================================================
--- webservices/sandesha/trunk/xdocs/index.html (added)
+++ webservices/sandesha/trunk/xdocs/index.html Wed Nov 30 03:02:30 2005
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+       "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+  <title>Welcome to Sandesha2 home page</title>
+  <meta name="generator" content="amaya 9.2.2, see http://www.w3.org/Amaya/"
+  />
+</head>
+
+<body>
+<h1>Welcome to Apache Sandesha2</h1>
+
+<p>Sandesha2 is an implementation of WS-ReliableMessaging specification
+published IBM, Microsoft, BEA and TIBCO. Sandesha2 was built on top of Axis2.
+So by using Sandesha2 you can add reliable messaging capability to the web
+services you have hosted using Axis2. You can also use Sandesha2 with Axis2
+client to interact with already hosted web services in a reliable manner.
+Please see sandesha2 user guide for more information on using Sandesha2. Read
+Sandesha2 Architecture guide to see how Sandesha2 work internally.</p>
+
+<p></p>
+
+<h1>Releases</h1>
+
+<p></p>
+</body>
+</html>

Added: webservices/sandesha/trunk/xdocs/navigation.xml
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/xdocs/navigation.xml?rev=349921&view=auto
==============================================================================
--- webservices/sandesha/trunk/xdocs/navigation.xml (added)
+++ webservices/sandesha/trunk/xdocs/navigation.xml Wed Nov 30 03:02:30 2005
@@ -0,0 +1,22 @@
+<project name="Sandesha2">
+    <title>Sandesha2</title>
+    <body>
+        <menu name="Apache Sandesha2">
+            <item name="Home" href="index.html" />
+            <item name="Downloads">
+                <item name="Releases" href="releases.html"/>
+                <item name="Source Code" href="http://svn.apache.org/repos/asf/webservices/sandesha/trunk"/>
+            </item>
+		<item name="Documentation">
+			<item name="User Guide" href="userGuide.html"/>
+ 			<item name="Architecture Guide" href="architectureGuide.html"/>
+  			<item name="Java Docs" href="apidocs/index.html" />
+            </item>
+            <item name="Project Information">
+                <item name="Mailing Lists" href="mail-lists.html"/>
+                <item name="Project Team" href="team-list.html"/>
+            </item>
+        </menu>
+    </body>
+</project>
+

Modified: webservices/sandesha/trunk/xdocs/userGuide.html
URL: http://svn.apache.org/viewcvs/webservices/sandesha/trunk/xdocs/userGuide.html?rev=349921&r1=349920&r2=349921&view=diff
==============================================================================
--- webservices/sandesha/trunk/xdocs/userGuide.html (original)
+++ webservices/sandesha/trunk/xdocs/userGuide.html Wed Nov 30 03:02:30 2005
@@ -1,172 +1,167 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
-       "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
-  <title>Sandesha2 User Guide</title>
-  <meta name="generator" content="amaya 9.2.2, see http://www.w3.org/Amaya/"
-  />
-</head>
-
-<body>
-<h2>Sandesha2 User Guide</h2>
-
-<p>This document introduces you to Apache Sandesha2. Sandesha2 is the
-WS-ReliableMessaging implementation for Axis2. With Sandesha2 you can host
-some reliable web services or interact with reliable web services hosted by
-others.</p>
-
-<p></p>
-
-<h2>Using Sandesha2 in the server side</h2>
-
-<p>First lets look at how to use Sandesha2 in the server side.</p>
-
-<p>You can set up Sandesha2 for the server side in three steps.</p>
-<ol>
-  <li>Download and deploy axis2(please see Axis2 user guide for more
-  details).</li>
-  <li>Add a user phase called RMPhase to all four flows of axis2.xml.</li>
-  <li>Download latest Sandesha2 distribution and add sandesha.mar file to
-    &lt;AXIS2_HOME&gt;\WEB_INF\modules directory.</li>
-</ol>
-
-<p>Now your sandesha2 module is setup and deployed.</p>
-
-<p></p>
-
-<p>To host reliable web service you have to create a service archive (aar)
-file with the given details (please see Axis2 user guide for more details on
-creating aar files).</p>
-
-<p>Add sandesha module reference to the services.xml (within the aar file) as
-given below.</p>
-<source><pre>&lt;service name="OneWayService"&gt;
-&lt;module ref="sandesha"/&gt;
-.......................
-&lt;!-- Your operation definitions and other stuff
-........................
-&lt;/service&gt;</pre></source>
-
-<p>Create the service archieve file.</p>
-
-<p>Deploy it by dropping it to &lt;AXIS2_HOME&gt;/WEB-INF/services
-directory.</p>
-
-<p>Now your service is deployed with reliable messaging support.</p>
-
-<p></p>
-
-<h2>Using Sandesha2 in the client side</h2>
-
-<p>Add Sandesha2 module (sandesha.mar) in the way you normally add a module
-to the Axis2 client side (see Axis2 user guide for more details). Following
-scenarios will explain you how to write the client code.</p>
-
-<p></p>
-
-<h3>Basic scenarios</h3>
-
-<p></p>
-
-<p><b>Sample RM enabled client code for a one way service call.</b></p>
-
-<p></p>
-<source><pre>MessageSender sender = new MessageSender (AXIS2_CLIENT_PATH);
-<span style="background-color: #CCCCCC">sender.engageModule(new QName ("sandesha"));</span>
-sender.setTo(new EndpointReference(toEPR));
-sender.set(MessageContextConstants.TRANSPORT_URL,toEPR);
-sender.send("ping",getPingOMBlock("ping1"));
-sender.send("ping",getPingOMBlock("ping2"));
-<span style="background-color: #CCCCCC">sender.set(org.apache.sandesha2.Constants.LAST_MESSAGE, "true");</span>
-sender.send("ping",getPingOMBlock("ping3"));</pre></source>
-
-<p></p>
-
-<p></p>
-
-<p>There are only two difference here from your normal client code.</p>
-
-<p>First you have to engage the sandesha module as given in the line 2.</p>
-
-<p>Before the last message you must set the last message property, which is
-given in the line 7.</p>
-
-<p></p>
-
-<p><b>Simple RM enabled client code for a request reply service call.</b></p>
-
-<p>First thing to remember is that you are not able to get synchronous
-responses with Sandesha2. Because of this if you expect response message, you
-must have a return endpoint accessible from the server side. But making two
-channel blocking invocation is perfectly valid. But please make sure tht you
-have set a suitable time out interval.</p>
-
-<p></p>
-
-<p>Here is a code sample for this scenario.</p>
-
-<p></p>
-<source><pre>Call call = new Call(AXIS2_CLIENT_PATH);
-<span style="background-color: #CCCCCC">call.engageModule(new QName("sandesha"));</span>
-call.setTo(new EndpointReference(toEPR));
-call.setTransportInfo(org.apache.axis2.Constants.TRANSPORT_HTTP,org.apache.axis2.Constants.TRANSPORT_HTTP,true);
-Callback callback1 = new TestCallback ("Callback 1");
-call.invokeNonBlocking("echoString",getEchoOMBlock("echo1"),callback1);
-Callback callback2 = new TestCallback ("Callback 2");
-call.invokeNonBlocking("echoString",getEchoOMBlock("echo2"),callback2);
-<span style="background-color: #CCCCCC">call.set(Constants.LAST_MESSAGE, "true");</span>
-Callback callback3 = new TestCallback ("Callback 3");
-call.invokeNonBlocking("echoString",getEchoOMBlock("echo3"),callback3);</pre></source>
-
-<p></p>
-
-<p>Here also the only difference from a normal client code is addition of the
-sandesha module reference and the last message tag.</p>
-
-<p></p>
-
-<h3>Advance scenarios</h3>
-
-<p><b>Getting acknowledgements and faults to a given endpoint.</b></p>
-
-<p>In the dafault configuration response path for acknowledgements and faults
-related to a sequene is the anonymous endpoint. Because of this for example
-HTTP transport will send acknowledgements and faults in the HTTP response. If
-you want to avaoid this and if you want to get acknowledgements and faults to
-a different endpoing add following part to the client code before doing any
-incovation.</p>
-<source><pre>sender.set(Constants.AcksTo,&lt;endpoint&gt;); //example endpoing - http://tempuri.org/acks.</pre></source>
-
-<p></p>
-
-<p><b>Managing sequences.</b></p>
-
-<p>I the default behavious Sandesha 2 assumes that messages going to the same
-endpoing should go in the same RM sequence. If you invoke two endpoints they
-will go in two sequences. If you want you can tell sandesha2 to start two
-sequences for the same endpoint as well. To do this you have to set a
-property called Sequence Key.</p>
-<source><pre>call.set(Constants.SEQUENCE_KEY,&lt;a string to identify the sequence&gt;);</pre></source>
-
-<p>If the sequence key is different Sandesha2 will send messages in two
-sequences even if they are sent to the same endpoint.</p>
-
-<p></p>
-
-<p><b>Offering a sequence ID for the response sequence.</b></p>
-
-<p>This is a concept of reliable messaging which may not be very useful to
-you as a user. Here what you do is offering a sequene ID for the sequence to
-be created in the response side withing the first Create Sequence Request
-message itself. with this you can avoid sending of a extra Create Sequence
-message from the server to the client. To do this add following to the client
-code.</p>
-<source><pre>call.set(Constants.OFFERED_SEQUENCE_ID,&lt;new uuid&gt;);</pre></source>
-
-<p></p>
-
-<p></p>
-</body>
-</html>
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
+       "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+  <title>Sandesha2 User Guide</title>
+  <meta name="generator" content="amaya 9.2.2, see http://www.w3.org/Amaya/"
+  />
+</head>
+
+<body>
+<h2>Sandesha2 User Guide</h2>
+
+<p>This document introduces you to Apache Sandesha2. Sandesha2 is the
+WS-ReliableMessaging implementation for Axis2. With Sandesha2 you can host
+some reliable web services or interact with reliable web services hosted by
+others.</p>
+
+<p></p>
+
+<h2>Using Sandesha2 in the server side</h2>
+
+<p>First lets look at how to use Sandesha2 in the server side.</p>
+
+<p>You can set up Sandesha2 for the server side in three steps.</p>
+<ol>
+  <li>Download and deploy axis2(please see Axis2 user guide for more
+  details).</li>
+  <li>Add a user phase called RMPhase to all four flows of axis2.xml.</li>
+  <li>Download latest Sandesha2 distribution and add Sandesha2 mar file to
+    &lt;AXIS2_WEBAPP&gt;\WEB_INF\modules directory.</li>
+  <li>Add sandesha2.properties file to the
+    &lt;AXIS2_WEBAPP&gt;\WEB_INF\classes directory.</li>
+</ol>
+
+<p>Now your Sandesha2 module is setup and deployed.</p>
+
+<p></p>
+
+<p>To host reliable web service you have to create a service archive (aar)
+file with the given details (please see Axis2 user guide for more details on
+creating aar files).</p>
+
+<p>Add a module reference for Sandesha2 to the services.xml (within the aar
+file) as given below.</p>
+<pre>&lt;service name="OneWayService"&gt;
+&lt;module ref="&lt;Sandesha2 module name&gt;"/&gt;
+.......................
+&lt;!-- Your operation definitions and other stuff
+........................
+&lt;/service&gt;</pre>
+
+<p>Create the service archieve file.</p>
+
+<p>Deploy it by dropping it to &lt;AXIS2_WEBAPP&gt;/WEB-INF/services
+directory.</p>
+
+<p>Now your service is deployed with reliable messaging support.</p>
+
+<p></p>
+
+<h2>Using Sandesha2 in the client side</h2>
+
+<p>Add Sandesha2 module in the way you normally add a module to the Axis2
+client side (see Axis2 user guide for more details). Following scenarios will
+explain you how to write the client code.</p>
+
+<p></p>
+
+<h3>Basic scenarios</h3>
+
+<p><b>Sample RM enabled client code for a one way service call.</b></p>
+<source><pre>MessageSender sender = new MessageSender (AXIS2_CLIENT_PATH);
+<span style="background-color: #CCCCCC">sender.engageModule(new QName ("&lt;Sandesha2 module name&gt;"));</span>
+sender.setTo(new EndpointReference(toEPR));
+sender.set(MessageContextConstants.TRANSPORT_URL,toEPR);
+sender.send("ping",getPingOMBlock("ping1"));
+sender.send("ping",getPingOMBlock("ping2"));
+<span style="background-color: #CCCCCC">sender.set(org.apache.sandesha2.Constants.LAST_MESSAGE, "true");</span>
+sender.send("ping",getPingOMBlock("ping3"));</pre></source>
+
+<p></p>
+
+<p>There are only two difference here from your normal client code.</p>
+
+<p>First you have to engage the sandesha module as given in the line 2.</p>
+
+<p>Before the last message you must set the last message property, which is
+given in the line 7.</p>
+
+<p></p>
+
+<p><b>Simple RM enabled client code for a request reply service call.</b></p>
+
+<p>First thing to remember is that you are not able to get synchronous
+(single channel) responses with Sandesha2. Because of this if you expect
+response message, you must have a return endpoint accessible from the server
+side. But making two channel blocking invocations is perfectly valid. But
+please make sure tht you have set a suitable time out interval within your
+call object.</p>
+
+<p></p>
+
+<p>Here is a code sample for this scenario.</p>
+<source><pre>Call call = new Call(AXIS2_CLIENT_PATH);
+<span style="background-color: #CCCCCC">call.engageModule(new QName("&lt;Sandesha2 module name&gt;"));</span>
+call.setTo(new EndpointReference(toEPR));
+call.setTransportInfo(org.apache.axis2.Constants.TRANSPORT_HTTP,org.apache.axis2.Constants.TRANSPORT_HTTP,true);
+Callback callback1 = new TestCallback ("Callback 1");
+call.invokeNonBlocking("echoString",getEchoOMBlock("echo1"),callback1);
+Callback callback2 = new TestCallback ("Callback 2");
+call.invokeNonBlocking("echoString",getEchoOMBlock("echo2"),callback2);
+<span style="background-color: #CCCCCC">call.set(Constants.LAST_MESSAGE, "true");</span>
+Callback callback3 = new TestCallback ("Callback 3");
+call.invokeNonBlocking("echoString",getEchoOMBlock("echo3"),callback3);</pre></source>
+
+<p></p>
+
+<p>Here also the only difference from a normal client code is addition of the
+Sandesha2 module reference and setting the last message property.</p>
+
+<p></p>
+
+<h3>Advance scenarios</h3>
+
+<p><b>Getting acknowledgements and faults to a given endpoint.</b></p>
+
+<p>In the dafault configuration response path for acknowledgements and faults
+related to a sequene is the anonymous endpoint. Because of this for example
+HTTP transport will send acknowledgements and faults in the HTTP response. If
+you want to avaoid this and if you want to get acknowledgements and faults to
+a different endpoing add following part to the client code before doing any
+incovation.</p>
+<pre>sender.set(Constants.AcksTo,&lt;endpoint&gt;); //example endpoint - http://tempuri.org/acks.</pre>
+
+<p></p>
+
+<p><b>Managing sequences.</b></p>
+
+<p>I the default behavious Sandesha 2 assumes that messages going to the same
+endpoing should go in the same RM sequence. If you invoke two endpoints they
+will go in two sequences. If you want you can tell sandesha2 to start two
+sequences for the same endpoint as well. To do this you have to set a
+property called Sequence Key.</p>
+<pre>call.set(Constants.SEQUENCE_KEY,&lt;a string to identify the sequence&gt;);</pre>
+
+<p>If the sequence key is different Sandesha2 will send messages in two
+sequences even if they are sent to the same endpoint.</p>
+
+<p></p>
+
+<p><b>Offering a sequence ID for the response sequence.</b></p>
+
+<p>This is a concept of reliable messaging which may not be very useful to
+you as a user. Here what you do is offering a sequene ID for the sequence to
+be created in the response side withing the first Create Sequence Request
+message itself. with this you can avoid sending of a extra Create Sequence
+message from the server to the client. To do this add following to the client
+code.</p>
+<pre>call.set(Constants.OFFERED_SEQUENCE_ID,&lt;new uuid&gt;);</pre>
+
+<p></p>
+
+<p></p>
+</body>
+</html>



---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org