jaliya 2005/01/10 04:11:26
Modified: sandesha/src/org/apache/sandesha EnvelopeCreator.java
Log:
createTerminatSeqMessage() method is added
Revision Changes Path
1.13 +45 -4
ws-fx/sandesha/src/org/apache/sandesha/EnvelopeCreator.java
Index: EnvelopeCreator.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/EnvelopeCreator.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- EnvelopeCreator.java 24 Dec 2004 04:15:00 -0000 1.12
+++ EnvelopeCreator.java 10 Jan 2005 12:11:26 -0000 1.13
@@ -38,10 +38,12 @@
import org.apache.axis.types.URI.MalformedURIException;
import org.apache.sandesha.ws.rm.CreateSequence;
import org.apache.sandesha.ws.rm.CreateSequenceResponse;
+import org.apache.sandesha.ws.rm.LastMessage;
import org.apache.sandesha.ws.rm.MessageNumber;
import org.apache.sandesha.ws.rm.RMHeaders;
import org.apache.sandesha.ws.rm.Sequence;
import org.apache.sandesha.ws.rm.SequenceAcknowledgement;
+import org.apache.sandesha.ws.rm.TerminateSequence;
import org.apache.sandesha.ws.utility.Identifier;
/**
@@ -388,6 +390,10 @@
Identifier id = new Identifier();
id.setIdentifier(rmMessageContext.getSequenceID());
seq.setIdentifier(id);
+
+ if(rmMessageContext.isLastMessage()){
+ seq.setLastMessage(new LastMessage());
+ }
//Message Number for the new message.
MessageNumber msgNumber = new MessageNumber();
@@ -396,6 +402,8 @@
rmHeaders.setSequence(seq);
rmMessageContext.setRMHeaders(rmHeaders);
+
+
try {
@@ -432,7 +440,8 @@
} catch (Exception e) {
e.printStackTrace();
}
-
+
+
//Set the addressing headers to the SOAPEnvelope.
outGoingAddressingHaders.toEnvelope(requestEnvelope, null);
//System.out.println(requestEnvelope.toString());
@@ -451,9 +460,41 @@
* @param sequenceID
* @return
*/
- public static SOAPEnvelope createTerminatSeqMessage(String sequenceID) {
- // TODO Auto-generated method stub
- return null;
+ public static SOAPEnvelope createTerminatSeqMessage(RMMessageContext
rmMessageContext) {
+ AddressingHeaders addressingHeaders =
rmMessageContext.getAddressingHeaders();
+ SOAPEnvelope terSeqEnv = createBasicEnvelop();
+ try {
+ AddressingHeaders outGoingAddressingHaders = new
AddressingHeaders(terSeqEnv,
+ null, true, false, true, false, null);
+ Identifier seqId = new Identifier();
+ seqId.setIdentifier(rmMessageContext.getSequenceID());
+ Sequence seq = new Sequence();
+ seq.setIdentifier(seqId);
+ seq.toSoapEnvelop(terSeqEnv);
+
+
+ Action terSeqAction = new Action(new
URI(Constants.ACTION_TERMINATE_SEQUENCE));
+ outGoingAddressingHaders.setAction(terSeqAction);
+
+ UUIDGen uuidGen = UUIDGenFactory.getUUIDGen();
+ MessageID messageId = new MessageID(new URI("uuid:"+
uuidGen.nextUUID()));
+ outGoingAddressingHaders.setMessageID(messageId);
+
+ outGoingAddressingHaders.setFrom(addressingHeaders.getFrom());
+ outGoingAddressingHaders.setTo(addressingHeaders.getTo());
+
+ outGoingAddressingHaders.toEnvelope(terSeqEnv, null);
+
+
+ TerminateSequence terSeq= new TerminateSequence();
+ terSeq.toSoapEnvelop( terSeqEnv);
+
+
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return terSeqEnv;
}
}