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 ja...@apache.org on 2004/10/13 13:08:19 UTC
cvs commit: ws-fx/sandesha/src/org/apache/sandesha EnvelopeCreator.java
jaliya 2004/10/13 04:08:19
Modified: sandesha/src/org/apache/sandesha EnvelopeCreator.java
Log:
Added a mthod createServiceRequestEnvelope to create the request envelope
Revision Changes Path
1.8 +70 -19 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.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- EnvelopeCreator.java 30 Sep 2004 10:48:04 -0000 1.7
+++ EnvelopeCreator.java 13 Oct 2004 11:08:19 -0000 1.8
@@ -16,9 +16,11 @@
*/
package org.apache.sandesha;
+import java.util.List;
import java.util.Vector;
import javax.xml.namespace.QName;
+import javax.xml.soap.SOAPElement;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPHeaderElement;
@@ -31,12 +33,18 @@
import org.apache.axis.message.addressing.AddressingHeaders;
import org.apache.axis.message.addressing.From;
import org.apache.axis.message.addressing.MessageID;
+import org.apache.axis.message.addressing.RelatesTo;
import org.apache.axis.message.addressing.ReplyTo;
import org.apache.axis.message.addressing.To;
import org.apache.axis.types.URI;
import org.apache.axis.types.URI.MalformedURIException;
+import org.apache.log4j.lf5.viewer.configure.MRUFileManager;
+import org.apache.sandesha.server.ServerStorageManager;
import org.apache.sandesha.ws.rm.CreateSequence;
import org.apache.sandesha.ws.rm.CreateSequenceResponse;
+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.utility.Identifier;
@@ -286,7 +294,30 @@
responseEnvelope, null, true, false, true, false, null);
//TODO Action for RESPONSE MESSAGE
//Do we need this????
-
+ Identifier seqId= new Identifier();
+ seqId.setIdentifier(rmMessageContext.getSequenceID());
+ Sequence seq= new Sequence();
+ seq.setIdentifier(seqId);
+
+
+ MessageNumber msgNumber = new MessageNumber();
+ ServerStorageManager ssm = new ServerStorageManager();
+ msgNumber.setMessageNumber(ssm.getNextMessageNumber(rmMessageContext.getOldSequenceID()));
+
+ //System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!! "+msgNumber.getMessageNumber());
+ seq.setMessageNumber(msgNumber);
+ seq.toSoapEnvelop(responseEnvelope);
+
+ //TODO
+ //Adding relatesTo header
+ //List relatesToList = addressingHeaders.getRelatesTo();
+ //List relatesToList.set(0,rmMessageContext.getOldSequenceID());
+ //outGoingAddressingHaders.setRelatesTo(relatesToList);
+ ///RelatesTo relatesTo = new RelatesTo();
+ if(rmMessageContext.getOldSequenceID()!=null)
+ outGoingAddressingHaders.addRelatesTo(rmMessageContext.getMessageID(),new QName("aa","bb"));
+
+
//Set the messageID
UUIDGen uuidGen = UUIDGenFactory.getUUIDGen();
MessageID messageId = new MessageID(new URI("uuid:"
@@ -337,38 +368,58 @@
* @param endPoint
* @return
*/
- public static SOAPEnvelope createServiceRequestEnvelope(
- String uuid,RMMessageContext rmMessageContext, int endPoint) {
+ public static SOAPEnvelope createServiceRequestEnvelope(RMMessageContext rmMessageContext) {
//Variable for SOAPEnvelope
SOAPEnvelope requestEnvelope = null;
//Get the AddressingHeaders
AddressingHeaders addressingHeaders = rmMessageContext
.getAddressingHeaders();
- try {
- //Get the request envelope from the incoming message context.
- requestEnvelope = rmMessageContext.getMsgContext()
- .getRequestMessage().getSOAPEnvelope();
+
+ //RMHeaders for the message.
+ RMHeaders rmHeaders = new RMHeaders();
+ //Sequence for the new message.
+ Sequence seq = new Sequence();
+ Identifier id = new Identifier();
+ id.setIdentifier(rmMessageContext.getSequenceID());
+ seq.setIdentifier(id);
+
+
+
+ //Message Number for the new message.
+ MessageNumber msgNumber = new MessageNumber();
+ msgNumber.setMessageNumber(rmMessageContext.getMsgNumber());
+ seq.setMessageNumber(msgNumber);
+
+ rmHeaders.setSequence(seq);
+ rmMessageContext.setRMHeaders(rmHeaders);
+
+ try {
+
+ //requestEnvelope = new SOAPEnvelope();
+ requestEnvelope = rmMessageContext.getMsgContext().getRequestMessage().getSOAPEnvelope();
+
rmMessageContext.getRMHeaders().toSoapEnvelop(requestEnvelope);
AddressingHeaders outGoingAddressingHaders = new AddressingHeaders(
requestEnvelope, null, true, false, true, false, null);
- //Set the messageID
- MessageID messageId = new MessageID(new URI("uuid:"
- + uuid));
- outGoingAddressingHaders.setMessageID(messageId);
-
- //This method is called from the client only.
- if(endPoint==0){
- //Setting from the Client
- outGoingAddressingHaders.setFrom(addressingHeaders.getFrom());
- outGoingAddressingHaders.setTo(addressingHeaders.getTo());
- outGoingAddressingHaders.setReplyTo(addressingHeaders.getReplyTo());
- }
+ //Set the messageID
+ UUIDGen uuidGen = UUIDGenFactory.getUUIDGen();
+ MessageID messageId = new MessageID(new URI("uuid:"
+ + uuidGen.nextUUID()));
+ outGoingAddressingHaders.setMessageID(messageId);
+
+
+ //Setting from the Client
+ outGoingAddressingHaders.setFrom(addressingHeaders.getFrom());
+ outGoingAddressingHaders.setTo(addressingHeaders.getTo());
+ outGoingAddressingHaders.setReplyTo(addressingHeaders.getReplyTo());
+
//Set the addressing headers to the SOAPEnvelope.
outGoingAddressingHaders.toEnvelope(requestEnvelope, null);
+ //System.out.println(requestEnvelope.toString());
} catch (SOAPException e) {
// TODO Auto-generated catch block