jaliya 2005/05/07 01:14:44
Modified: sandesha/interop/org/apache/sandesha/samples/interop
EchoClientAsyncAck.java
sandesha/src/org/apache/sandesha Constants.java
EnvelopeCreator.java IStorageManager.java
RMMessageContext.java
sandesha/src/org/apache/sandesha/client
ClientPropertyValidator.java
ClientStorageManager.java RMSender.java
sandesha/src/org/apache/sandesha/server RMInvoker.java
Sender.java ServerStorageManager.java
sandesha/src/org/apache/sandesha/server/msgprocessors
AcknowledgementProcessor.java
CreateSequenceProcessor.java
CreateSequenceResponseProcessor.java
sandesha/src/org/apache/sandesha/storage/dao
ISandeshaDAO.java SandeshaDatabaseDAO.java
SandeshaQueueDAO.java
sandesha/src/org/apache/sandesha/storage/queue
IncomingSequence.java OutgoingSequence.java
SandeshaQueue.java
sandesha/src/org/apache/sandesha/util RMMessageCreator.java
sandesha/src/org/apache/sandesha/ws/rm Accept.java
CreateSequenceResponse.java SequenceOffer.java
sandesha/src/org/apache/sandesha/ws/rm/providers
RMProvider.java
Log:
Several changes are made to Sequnce Offer handeling by doing interops
Revision Changes Path
1.2 +1 -0
ws-fx/sandesha/interop/org/apache/sandesha/samples/interop/EchoClientAsyncAck.java
Index: EchoClientAsyncAck.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/interop/org/apache/sandesha/samples/interop/EchoClientAsyncAck.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- EchoClientAsyncAck.java 7 Mar 2005 05:34:34 -0000 1.1
+++ EchoClientAsyncAck.java 7 May 2005 08:14:44 -0000 1.2
@@ -58,6 +58,7 @@
//call.setProperty("from","http://schemas.xmlsoap.org/ws/2003/03/addressing/role/anonymous");
call.setProperty(Constants.ClientProperties.FROM,"http://127.0.0.1:"+defaultClientPort+"/axis/services/RMService");
call.setProperty(Constants.ClientProperties.REPLY_TO,"http://127.0.0.1:"+defaultClientPort+"/axis/services/RMService");
+ call.setProperty(Constants.ClientProperties.SEND_OFFER,new
Boolean(true));
call.setTargetEndpointAddress(targetURL);
call.setOperationName(new QName("RMInteropService",
"echoString"));
1.44 +2 -1 ws-fx/sandesha/src/org/apache/sandesha/Constants.java
Index: Constants.java
===================================================================
RCS file: /home/cvs/ws-fx/sandesha/src/org/apache/sandesha/Constants.java,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -r1.43 -r1.44
--- Constants.java 5 May 2005 12:57:01 -0000 1.43
+++ Constants.java 7 May 2005 08:14:44 -0000 1.44
@@ -44,7 +44,7 @@
public static final long RETRANSMISSION_INTERVAL = 4000;
public static final long ACKNOWLEDGEMENT_INTERVAL = 200;
public static final long INACTIVITY_TIMEOUT = 600000;
- public static final int MAXIMUM_RETRANSMISSION_COUNT = 20;
+ public static final int MAXIMUM_RETRANSMISSION_COUNT = 4;
public static final long RMINVOKER_SLEEP_TIME = 2000;
public static final long SENDER_SLEEP_TIME = 2000;
public static final int CLIENT_RESPONSE_CHECKING_INTERVAL = 500;
@@ -196,6 +196,7 @@
public static final String ACKS_TO="acksTo";
public static final String TO="To";
public static final String FAULT_TO="faultTo";
+ public static final String SEND_OFFER="offer";
public static final String REQUEST_HANDLER = "requestHandler";
public static final String RESPONSE_HANDLER = "responseHandler";
1.36 +21 -14
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.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- EnvelopeCreator.java 5 May 2005 12:57:01 -0000 1.35
+++ EnvelopeCreator.java 7 May 2005 08:14:44 -0000 1.36
@@ -27,6 +27,7 @@
import org.apache.commons.logging.Log;
import org.apache.sandesha.ws.rm.*;
import org.apache.sandesha.ws.rm.Identifier;
+import org.apache.sandesha.client.ClientStorageManager;
import javax.xml.namespace.QName;
import javax.xml.soap.SOAPHeaderElement;
@@ -39,7 +40,7 @@
private static final Log log =
LogFactory.getLog(EnvelopeCreator.class.getName());
private static final UUIDGen uuidGen = UUIDGenFactory.getUUIDGen();
- public static SOAPEnvelope createCreateSequenceResponseEnvelope(String
uuid, RMMessageContext rmMessageContext,boolean hasOffer, boolean
offerAccepted) throws Exception {
+ public static SOAPEnvelope createCreateSequenceResponseEnvelope(String
seqId, RMMessageContext rmMessageContext,boolean hasOffer, boolean
offerAccepted) throws Exception {
AddressingHeaders addressingHeaders =
rmMessageContext.getAddressingHeaders();
RMHeaders rmHeaders = rmMessageContext.getRMHeaders();
@@ -86,7 +87,7 @@
//now set the body elements
CreateSequenceResponse response = new CreateSequenceResponse();
Identifier id = new Identifier();
- id.setIdentifier(Constants.UUID + uuid);
+ id.setIdentifier(seqId);
response.setIdentifier(id);
if(hasOffer&&offerAccepted){
@@ -111,14 +112,18 @@
//uncommenting following will send the sequence with a offer (for
response seq) to the create seq msg.
//offer
- /* SequenceOffer offer = new SequenceOffer ();
- Identifier id = new Identifier ();
- UUIDGen uuidGen = UUIDGenFactory.getUUIDGen();
- String offerUuid = Constants.UUID + uuidGen.nextUUID();
- id.setIdentifier(offerUuid);
+// SequenceOffer offer = new SequenceOffer ();
+// Identifier id = new Identifier ();
+// UUIDGen uuidGen = UUIDGenFactory.getUUIDGen();
+// String offerUuid = Constants.UUID + uuidGen.nextUUID();
+// id.setIdentifier(offerUuid);
+//
+// offer.setIdentifier(id);
+// crSeq.setOffer(offer);
+
+ //offered sequence will be considered as a requested one and will be
added. So that the validation wont fail in response
+ //path
- offer.setIdentifier(id);
- crSeq.setOffer(offer);*/
//end offer
crSeq.toSoapEnvelop(envelope);
@@ -141,7 +146,7 @@
}
- public static SOAPEnvelope
createAcknowledgementEnvelope(RMMessageContext rmMessageContext, Vector
ackRangeVector) throws Exception {
+ public static SOAPEnvelope
createAcknowledgementEnvelope(RMMessageContext rmMessageContext, String
toAddress,Vector ackRangeVector) throws Exception {
AddressingHeaders addressingHeaders =
rmMessageContext.getAddressingHeaders();
SOAPEnvelope envelope = createBasicEnvelop();
@@ -167,8 +172,8 @@
outGoingAddressingHaders.setFrom(from);
//Add to <To>
- AttributedURI inFrom = addressingHeaders.getFrom().getAddress();
- To to = new To(new URI(inFrom.toString()));
+
+ To to = new To(new URI(toAddress));
outGoingAddressingHaders.setTo(to);
//Set the addressing headers to the SOAPEnvelope.
@@ -232,8 +237,10 @@
//outGoingAddressingHaders.setReplyTo(from);
//Add to <To>
- AttributedURI inFrom = addressingHeaders.getFrom().getAddress();
- To to = new To(new URI(inFrom.toString()));
+ if(addressingHeaders.getReplyTo()==null)
+ throw new Exception("ReplyTo is required to send Responses");
+ AttributedURI inReplyTo =
addressingHeaders.getReplyTo().getAddress();
+ To to = new To(new URI(inReplyTo.toString()));
outGoingAddressingHaders.setTo(to);
//Set the action
1.20 +3 -0
ws-fx/sandesha/src/org/apache/sandesha/IStorageManager.java
Index: IStorageManager.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/IStorageManager.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- IStorageManager.java 5 May 2005 07:35:16 -0000 1.19
+++ IStorageManager.java 7 May 2005 08:14:44 -0000 1.20
@@ -162,4 +162,7 @@
public String getAcksTo(String seqId);
+ void addOffer(String msgID, String offerID);
+
+ String getOffer(String msgID);
}
\ No newline at end of file
1.29 +21 -0
ws-fx/sandesha/src/org/apache/sandesha/RMMessageContext.java
Index: RMMessageContext.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/RMMessageContext.java,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- RMMessageContext.java 2 May 2005 04:17:09 -0000 1.28
+++ RMMessageContext.java 7 May 2005 08:14:44 -0000 1.29
@@ -49,11 +49,32 @@
private String action = null;
private String from = null;
private String replyTo = null;
+
+ public String getOffer() {
+ return offer;
+ }
+
+ public void setOffer(String offer) {
+ this.offer = offer;
+ }
+
private boolean responseReceived = false;
private boolean ackReceived = false;
private String faultTo=null;
private String acksTo = null;
private String to = null;
+ private String offer=null;
+
+
+ public boolean isSendOffer() {
+ return sendOffer;
+ }
+
+ public void setSendOffer(boolean sendOffer) {
+ this.sendOffer = sendOffer;
+ }
+
+ private boolean sendOffer;
private static final Log log =
LogFactory.getLog(RMMessageContext.class.getName());
private ArrayList msgIdList = new ArrayList ();
1.19 +15 -5
ws-fx/sandesha/src/org/apache/sandesha/client/ClientPropertyValidator.java
Index: ClientPropertyValidator.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/client/ClientPropertyValidator.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- ClientPropertyValidator.java 5 May 2005 06:06:30 -0000 1.18
+++ ClientPropertyValidator.java 7 May 2005 08:14:44 -0000 1.19
@@ -45,7 +45,8 @@
String replyTo = getReplyTo(call);
String acksTo = getAcksTo(call);
String to = getTo(call);
- String faultTo=getFaultTo(call);
+ String faultTo = getFaultTo(call);
+ boolean sendOffer = getOffer(call);
try {
if (from == null)
@@ -53,7 +54,7 @@
else
sourceURL = from;
} catch (UnknownHostException e) {
- throw new AxisFault(e.getMessage());
+ throw new AxisFault(e.getMessage());
}
String errorMsg = getValidated(msgNumber, action, replyTo, sync,
inOut);
@@ -72,6 +73,7 @@
rmMessageContext.setAcksTo(acksTo);
rmMessageContext.setTo(to);
rmMessageContext.setFaultTo(faultTo);
+ rmMessageContext.setSendOffer(sendOffer);
return rmMessageContext;
} else
@@ -79,8 +81,16 @@
}
+ private static boolean getOffer(Call call) {
+ Boolean sendOffer = (Boolean)
call.getProperty(Constants.ClientProperties.SEND_OFFER);
+ if (sendOffer != null) {
+ return sendOffer.booleanValue();
+ } else
+ return false;
+ }
+
private static String getFaultTo(Call call) {
- String faultTo = (String)
call.getProperty(Constants.ClientProperties.FAULT_TO);
+ String faultTo = (String)
call.getProperty(Constants.ClientProperties.FAULT_TO);
if (faultTo != null)
return faultTo;
else
@@ -186,9 +196,9 @@
return errorMsg;
}
- private static String getFrom(Call call) {
+ private static String getFrom(Call call) {
return (String) call.getProperty(Constants.ClientProperties.FROM);
- }
+ }
private static String getReplyTo(Call call) {
return (String)
call.getProperty(Constants.ClientProperties.REPLY_TO);
1.29 +10 -2
ws-fx/sandesha/src/org/apache/sandesha/client/ClientStorageManager.java
Index: ClientStorageManager.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/client/ClientStorageManager.java,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- ClientStorageManager.java 5 May 2005 07:35:16 -0000 1.28
+++ ClientStorageManager.java 7 May 2005 08:14:44 -0000 1.29
@@ -167,8 +167,8 @@
public boolean setApprovedOutSequence(String createSeqId, String
newOutSequenceId) {
boolean done = false;
- String oldOutsequenceId =
accessor.getFirstCreateSequenceMsgId(createSeqId);
-
+ // String oldOutsequenceId =
accessor.getFirstCreateSequenceMsgId(createSeqId);
+ String oldOutsequenceId = createSeqId;
if(oldOutsequenceId==null){
return false;
}
@@ -401,4 +401,12 @@
return accessor.getAcksTo(seqId);
}
+ public void addOffer(String msgID, String offerID) {
+ accessor.addOffer(msgID,offerID);
+ }
+
+ public String getOffer(String msgID) {
+ return accessor.getOffer(msgID);
+ }
+
}
\ No newline at end of file
1.39 +15 -1
ws-fx/sandesha/src/org/apache/sandesha/client/RMSender.java
Index: RMSender.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/client/RMSender.java,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- RMSender.java 5 May 2005 12:57:01 -0000 1.38
+++ RMSender.java 7 May 2005 08:14:44 -0000 1.39
@@ -21,6 +21,8 @@
import org.apache.axis.MessageContext;
import org.apache.axis.client.Call;
import org.apache.axis.components.logger.LogFactory;
+import org.apache.axis.components.uuid.UUIDGen;
+import org.apache.axis.components.uuid.UUIDGenFactory;
import org.apache.axis.handlers.BasicHandler;
import org.apache.axis.message.addressing.AddressingHeaders;
import org.apache.commons.logging.Log;
@@ -34,6 +36,7 @@
private IStorageManager storageManager;
private static final Log log =
LogFactory.getLog(RMSender.class.getName());
+ private static final UUIDGen uuidGen = UUIDGenFactory.getUUIDGen();
public void invoke(MessageContext msgContext) throws AxisFault {
@@ -79,7 +82,18 @@
private RMMessageContext processFirstRequestMessage(RMMessageContext
reqRMMsgContext, boolean sync) throws Exception {
- RMMessageContext createSeqRMMsgContext =
RMMessageCreator.createCreateSeqMsg(reqRMMsgContext, Constants.CLIENT);
+
+ String msgID = Constants.UUID + uuidGen.nextUUID();
+ String offerID = null;
+ if (reqRMMsgContext.isHasResponse()) {
+ offerID = Constants.UUID + uuidGen.nextUUID();
+ storageManager.addRequestedSequence(offerID);
+ storageManager.addOffer(msgID,offerID);
+
+ }
+
+
+ RMMessageContext createSeqRMMsgContext =
RMMessageCreator.createCreateSeqMsg(reqRMMsgContext, Constants.CLIENT, msgID,
offerID);
storageManager.addOutgoingSequence(reqRMMsgContext.getSequenceID());
storageManager.setTemporaryOutSequence(reqRMMsgContext.getSequenceID(),
createSeqRMMsgContext.getMessageID());
1.26 +19 -10
ws-fx/sandesha/src/org/apache/sandesha/server/RMInvoker.java
Index: RMInvoker.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/RMInvoker.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- RMInvoker.java 5 May 2005 12:57:01 -0000 1.25
+++ RMInvoker.java 7 May 2005 08:14:44 -0000 1.26
@@ -53,17 +53,17 @@
try {
Thread.sleep(Constants.RMINVOKER_SLEEP_TIME);
RMMessageContext rmMessageContext =
storageManager.getNextMessageToProcess();
+ AddressingHeaders addrHeaders =
rmMessageContext.getAddressingHeaders();
if (rmMessageContext != null) {
Class c = Class.forName(PropertyLoader.getProvider());
JavaProvider provider = (JavaProvider) c.newInstance();
provider.invoke(rmMessageContext.getMsgContext());
if
(rmMessageContext.getMsgContext().getOperation().getMethod().getReturnType() !=
Void.TYPE) {
- String
oldAction=rmMessageContext.getAddressingHeaders().getAction().toString();
-
rmMessageContext.getAddressingHeaders().setAction(oldAction+Constants.RESPONSE);
+ String oldAction =
rmMessageContext.getAddressingHeaders().getAction().toString();
+
rmMessageContext.getAddressingHeaders().setAction(oldAction +
Constants.RESPONSE);
if (rmMessageContext.isLastMessage()) {
//Insert Terminate Sequnce.
- AddressingHeaders addrHeaders =
rmMessageContext.getAddressingHeaders();
if (addrHeaders.getReplyTo() != null) {
String replyTo =
addrHeaders.getReplyTo().getAddress().toString();
RMMessageContext terminateMsg =
RMMessageCreator.createTerminateSeqMsg(rmMessageContext, Constants.SERVER);
@@ -78,21 +78,30 @@
// used in this case. This is done by the RMSender.
rmMessageContext.setMessageType(Constants.MSG_TYPE_SERVICE_RESPONSE);
- boolean firstMsgOfResponseSeq =
!storageManager.isResponseSequenceExist(rmMessageContext.getSequenceID());
-
rmMessageContext.setMsgNumber(storageManager.getNextMessageNumber(rmMessageContext
- .getSequenceID()));
+ boolean hasResponseSeq =
storageManager.isResponseSequenceExist(rmMessageContext.getSequenceID());
+ boolean firstMsgOfResponseSeq = false;
+ if (hasResponseSeq == true &&
rmMessageContext.getRMHeaders().getSequence().getMessageNumber().getMessageNumber()
== 1){
+
+ }
+ else
+ firstMsgOfResponseSeq = !hasResponseSeq;
+
+
+
rmMessageContext.setMsgNumber(storageManager.getNextMessageNumber(rmMessageContext.getSequenceID()));
storageManager.insertOutgoingMessage(rmMessageContext);
+
+
if (firstMsgOfResponseSeq) {
- RMMessageContext csRMMsgCtx =
RMMessageCreator.createCreateSeqMsg(rmMessageContext, Constants.SERVER);
+
+ String msgIdStr = Constants.UUID
+uuidGen.nextUUID();
+
+ RMMessageContext csRMMsgCtx =
RMMessageCreator.createCreateSeqMsg(rmMessageContext,
Constants.SERVER,msgIdStr,null);
csRMMsgCtx.setOutGoingAddress(rmMessageContext.getAddressingHeaders().getReplyTo().getAddress().toString());
- String id = uuidGen.nextUUID();
- String msgIdStr = Constants.UUID + id;
csRMMsgCtx.addToMsgIdList(msgIdStr);
csRMMsgCtx.setMessageID(msgIdStr);
-
csRMMsgCtx.getAddressingHeaders().setMessageID(new MessageID(new
URI(msgIdStr)));
storageManager.setTemporaryOutSequence(csRMMsgCtx.getSequenceID(), msgIdStr);
storageManager.addCreateSequenceRequest(csRMMsgCtx);
}
1.37 +29 -25 ws-fx/sandesha/src/org/apache/sandesha/server/Sender.java
Index: Sender.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/Sender.java,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- Sender.java 2 May 2005 08:38:09 -0000 1.36
+++ Sender.java 7 May 2005 08:14:44 -0000 1.37
@@ -155,6 +155,10 @@
Service service = new Service();
Call call = (Call) service.createCall();
+ if (rmMessageContext.getAddressingHeaders().getAction() != null) {
+
call.setSOAPActionURI(rmMessageContext.getAddressingHeaders().getAction().toString());
+ }
+
call.setTargetEndpointAddress(rmMessageContext.getAddressingHeaders().getReplyTo().getAddress().toString());
//NOTE: WE USE THE REQUEST MESSAGE TO SEND THE RESPONSE.
String soapMsg =
rmMessageContext.getMsgContext().getRequestMessage().getSOAPPartAsString();
@@ -173,43 +177,43 @@
// //The code should not come to this point.
// System.err.println(Constants.ErrorMessages.NULL_REQUEST_MSG);
// } else {
- Call call;
+ Call call;
- //EDITED FOR MSG NO REPITITION
- String oldOutSeqId, newOutSeqId;
+ //EDITED FOR MSG NO REPITITION
+ //String oldOutSeqId, newOutSeqId;
- String oldCreateSeqId = rmMsgCtx.getMessageID().toString();
- String uuid = uuidGen.nextUUID();
+ // String oldCreateSeqId = rmMsgCtx.getMessageID().toString();
+ // String uuid = uuidGen.nextUUID();
- String newCreateSeqId = Constants.UUID + uuid;
- rmMsgCtx.setMessageID(newCreateSeqId);
+ // String newCreateSeqId = Constants.UUID + uuid;
+ // rmMsgCtx.setMessageID(newCreateSeqId);
- oldOutSeqId = oldCreateSeqId;
- newOutSeqId = newCreateSeqId;
+ // oldOutSeqId = oldCreateSeqId;
+ // newOutSeqId = newCreateSeqId;
- //MessageContext msgContext = tempMsg.getMsgContext();
- //String toAddress = tempMsg.getOutGoingAddress();
+ //MessageContext msgContext = tempMsg.getMsgContext();
+ //String toAddress = tempMsg.getOutGoingAddress();
- //AddressingHeaders addrHeaders = new
AddressingHeaders(rmMessageContext.getMsgContext().getRequestMessage().getSOAPEnvelope());
- rmMsgCtx.getAddressingHeaders().setMessageID(new MessageID(new
URI(newCreateSeqId)));
-
//addrHeaders.toEnvelope(rmMessageContext.getMsgContext().getRequestMessage().getSOAPEnvelope());
+ //AddressingHeaders addrHeaders = new
AddressingHeaders(rmMessageContext.getMsgContext().getRequestMessage().getSOAPEnvelope());
+ // rmMsgCtx.getAddressingHeaders().setMessageID(new MessageID(new
URI(newCreateSeqId)));
+
//addrHeaders.toEnvelope(rmMessageContext.getMsgContext().getRequestMessage().getSOAPEnvelope());
- SOAPEnvelope reqEnvelope =
EnvelopeCreator.createCreateSequenceEnvelope( rmMsgCtx);
- rmMsgCtx.getMsgContext().setRequestMessage(new
Message(reqEnvelope));
+ SOAPEnvelope reqEnvelope =
EnvelopeCreator.createCreateSequenceEnvelope(rmMsgCtx);
+ rmMsgCtx.getMsgContext().setRequestMessage(new Message(reqEnvelope));
- rmMsgCtx.addToMsgIdList(rmMsgCtx.getMessageID().toString());
- List msgIdList = rmMsgCtx.getMessageIdList();
- //Iterator it = msgIdList.iterator();
- rmMsgCtx.setLastPrecessedTime(System.currentTimeMillis());
-
rmMsgCtx.setReTransmissionCount(rmMsgCtx.getReTransmissionCount() + 1);
- call = prepareCall(rmMsgCtx);
- call.invoke();
+ // rmMsgCtx.addToMsgIdList(rmMsgCtx.getMessageID().toString());
+ // List msgIdList = rmMsgCtx.getMessageIdList();
+ //Iterator it = msgIdList.iterator();
+ rmMsgCtx.setLastPrecessedTime(System.currentTimeMillis());
+ rmMsgCtx.setReTransmissionCount(rmMsgCtx.getReTransmissionCount() +
1);
+ call = prepareCall(rmMsgCtx);
+ call.invoke();
- processResponseMessage(call, rmMsgCtx);
- // }
+ processResponseMessage(call, rmMsgCtx);
+ // }
}
private void sendCreateSequenceResponse(RMMessageContext
rmMessageContext) throws Exception {
1.26 +27 -11
ws-fx/sandesha/src/org/apache/sandesha/server/ServerStorageManager.java
Index: ServerStorageManager.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/ServerStorageManager.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- ServerStorageManager.java 5 May 2005 07:35:16 -0000 1.25
+++ ServerStorageManager.java 7 May 2005 08:14:44 -0000 1.26
@@ -21,9 +21,9 @@
import org.apache.sandesha.Constants;
import org.apache.sandesha.IStorageManager;
import org.apache.sandesha.RMMessageContext;
-import org.apache.sandesha.client.ClientStorageManager;
import org.apache.sandesha.storage.dao.ISandeshaDAO;
import org.apache.sandesha.storage.dao.SandeshaDAOFactory;
+import org.apache.sandesha.storage.queue.SandeshaQueue;
import org.apache.sandesha.ws.rm.RMHeaders;
import java.util.HashMap;
@@ -205,8 +205,16 @@
public boolean setApprovedOutSequence(String createSeqId, String
newOutSequenceId) {
- String oldOutsequenceId =
accessor.getFirstCreateSequenceMsgId(createSeqId);
- String sequenceID =
accessor.getSequenceOfOutSequence(oldOutsequenceId);
+ // String oldOutsequenceId =
accessor.getFirstCreateSequenceMsgId(createSeqId);
+ String oldOutsequenceId1 = createSeqId;
+
+ String tempOutSeq = oldOutsequenceId1;
+ if (tempOutSeq == null)
+ tempOutSeq = createSeqId;
+
+
+ SandeshaQueue.getInstance().displayOutgoingMap();
+ String sequenceID = accessor.getSequenceOfOutSequence(tempOutSeq);
if (sequenceID == null) {
log.error(Constants.ErrorMessages.SET_APPROVED_OUT_SEQ);
@@ -214,7 +222,7 @@
}
accessor.setOutSequence(sequenceID, newOutSequenceId);
accessor.setOutSequenceApproved(sequenceID, true);
- accessor.removeCreateSequenceMsg(oldOutsequenceId);
+ accessor.removeCreateSequenceMsg(tempOutSeq);
return true;
}
@@ -396,14 +404,22 @@
public String getKeyFromOutgoingSeqId(String seqId) {
return null; //To change body of implemented methods use File |
Settings | File Templates.
}
-
- public void setAcksTo(String seqId,String acksTo){
- accessor.setAcksTo(seqId,acksTo);
+
+ public void setAcksTo(String seqId, String acksTo) {
+ accessor.setAcksTo(seqId, acksTo);
}
-
- public String getAcksTo(String seqId){
+
+ public String getAcksTo(String seqId) {
return accessor.getAcksTo(seqId);
}
-
-
+
+ public void addOffer(String msgID, String offerID) {
+ //To change body of implemented methods use File | Settings | File
Templates.
+ }
+
+ public String getOffer(String msgID) {
+ return null; //To change body of implemented methods use File |
Settings | File Templates.
+ }
+
+
}
\ No newline at end of file
1.10 +7 -5
ws-fx/sandesha/src/org/apache/sandesha/server/msgprocessors/AcknowledgementProcessor.java
Index: AcknowledgementProcessor.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/msgprocessors/AcknowledgementProcessor.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- AcknowledgementProcessor.java 2 May 2005 04:17:09 -0000 1.9
+++ AcknowledgementProcessor.java 7 May 2005 08:14:44 -0000 1.10
@@ -90,8 +90,7 @@
}
RMMessageContext rmMsgContext = getAckRMMsgCtx(rmMessageContext,
ackRangeVector);
- if (true ==
(rmMessageContext.getAddressingHeaders().getFrom().getAddress().toString()
- .equals(Constants.WSA.NS_ADDRESSING_ANONYMOUS))) {
+ if (true ==
(storageManager.getAcksTo(seqID).equals(Constants.WSA.NS_ADDRESSING_ANONYMOUS)))
{
try {
String soapMsg =
rmMsgContext.getMsgContext().getResponseMessage().getSOAPPartAsString();
rmMessageContext.getMsgContext().setResponseMessage(new
Message(soapMsg));
@@ -107,10 +106,13 @@
}
}
- private static RMMessageContext getAckRMMsgCtx(RMMessageContext
rmMessageContext, Vector ackRangeVector) {
+ private RMMessageContext getAckRMMsgCtx(RMMessageContext
rmMessageContext, Vector ackRangeVector) {
RMMessageContext rmMsgContext = new RMMessageContext();
try {
- SOAPEnvelope ackEnvelope =
EnvelopeCreator.createAcknowledgementEnvelope(rmMessageContext, ackRangeVector);
+
+ String
to=storageManager.getAcksTo(rmMessageContext.getRMHeaders().getSequence().getIdentifier().getIdentifier());
+
+ SOAPEnvelope ackEnvelope =
EnvelopeCreator.createAcknowledgementEnvelope(rmMessageContext,to,ackRangeVector);
//Create a new message using the ackEnvelope
Message resMsg = new Message(ackEnvelope);
//Create a new message context to store the ack message.
@@ -124,7 +126,7 @@
//Get the from address to send the Ack. Doesn't matter whether
we have Sync or ASync messages.
//If we have Sync them this property is not used.
-
rmMsgContext.setOutGoingAddress(rmMessageContext.getAddressingHeaders().getFrom().getAddress().toString());
+ rmMsgContext.setOutGoingAddress(to);
//Set the messsage type
rmMsgContext.setMessageType(Constants.MSG_TYPE_ACKNOWLEDGEMENT);
} catch (Exception e) {
1.17 +21 -14
ws-fx/sandesha/src/org/apache/sandesha/server/msgprocessors/CreateSequenceProcessor.java
Index: CreateSequenceProcessor.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/msgprocessors/CreateSequenceProcessor.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- CreateSequenceProcessor.java 5 May 2005 12:57:01 -0000 1.16
+++ CreateSequenceProcessor.java 7 May 2005 08:14:44 -0000 1.17
@@ -57,11 +57,17 @@
if (rmHeaders.getCreateSequence() == null)
throw new AxisFault();
- String uuid = uuidGen.nextUUID();
-
storageManager.addRequestedSequence(org.apache.sandesha.Constants.UUID + uuid);
+ String seqId =Constants.UUID+ uuidGen.nextUUID();
+ storageManager.addRequestedSequence(seqId);
+
- //To support offer
CreateSequence createSeq =
rmMessageContext.getRMHeaders().getCreateSequence();
+ //Support AcksTo
+ if(createSeq.getAcksTo()!=null){
+
storageManager.setAcksTo(seqId,createSeq.getAcksTo().getAddress().toString());
+ }
+
+ //Support offer
SequenceOffer offer = createSeq.getOffer();
boolean offerAccepted = false;
boolean hasOffer=false;
@@ -75,7 +81,7 @@
if (id != null)
responseSeqId = id.getIdentifier();
}
- String incomingSeqId = Constants.UUID + uuid;
+ String incomingSeqId = seqId;
if (responseSeqId != null) {
storageManager.addOutgoingSequence(incomingSeqId);
storageManager.setTemporaryOutSequence(incomingSeqId,
responseSeqId);
@@ -90,7 +96,7 @@
SOAPEnvelope resEnvelope = null;
try {
- resEnvelope =
EnvelopeCreator.createCreateSequenceResponseEnvelope(uuid,
rmMessageContext,hasOffer,offerAccepted);
+ resEnvelope =
EnvelopeCreator.createCreateSequenceResponseEnvelope(seqId,
rmMessageContext,hasOffer,offerAccepted);
} catch (Exception e) {
throw new
AxisFault(org.apache.sandesha.Constants.FaultCodes.WSRM_SERVER_INTERNAL_ERROR);
}
@@ -126,16 +132,17 @@
ackProcessor.processMessage(rmMsgCtx);
}
- private void setOutGoingAddress(RMMessageContext rmMsgCtx,
AddressingHeaders addrHeaders) {
+ private void setOutGoingAddress(RMMessageContext rmMsgCtx,
AddressingHeaders addrHeaders) throws AxisFault{
CreateSequence createSeq =
rmMsgCtx.getRMHeaders().getCreateSequence();
- if ((createSeq.getAcksTo() != null)) {
- if
((createSeq.getAcksTo().getAddress().toString().equals(Constants.WSA.NS_ADDRESSING_ANONYMOUS)))
{
- rmMsgCtx.setSync(true);
- } else {
- rmMsgCtx.setSync(false);
-
rmMsgCtx.setOutGoingAddress(createSeq.getAcksTo().getAddress().toString());
- }
- } else if (addrHeaders.getReplyTo() == null ||
addrHeaders.getReplyTo().getAddress().toString().equals(Constants.WSA.NS_ADDRESSING_ANONYMOUS))
{
+// if ((createSeq.getAcksTo() != null)) {
+// if
((createSeq.getAcksTo().getAddress().toString().equals(Constants.WSA.NS_ADDRESSING_ANONYMOUS)))
{
+// rmMsgCtx.setSync(true);
+// } else {
+// rmMsgCtx.setSync(false);
+//
rmMsgCtx.setOutGoingAddress(createSeq.getAcksTo().getAddress().toString());
+// }
+// } else
+ if (addrHeaders.getReplyTo() == null ||
addrHeaders.getReplyTo().getAddress().toString().equals(Constants.WSA.NS_ADDRESSING_ANONYMOUS))
{
rmMsgCtx.setSync(true);
} else {
rmMsgCtx.setSync(false);
1.5 +8 -0
ws-fx/sandesha/src/org/apache/sandesha/server/msgprocessors/CreateSequenceResponseProcessor.java
Index: CreateSequenceResponseProcessor.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/msgprocessors/CreateSequenceResponseProcessor.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- CreateSequenceResponseProcessor.java 27 Feb 2005 18:17:20 -0000
1.4
+++ CreateSequenceResponseProcessor.java 7 May 2005 08:14:44 -0000
1.5
@@ -40,7 +40,15 @@
String sequenceID = createSeqRes.getIdentifier().toString();
//Approve the sequences. Now we can start sending the messages using
// that sequence.
+
storageManager.setApprovedOutSequence(relatesTo.getURI().toString(),
sequenceID);
+ String offerID =
storageManager.getOffer(relatesTo.getURI().toString());
+
+
+ if (createSeqRes.getAccept() != null) {
+ storageManager.setAcksTo(sequenceID,
createSeqRes.getAccept().getAcksTo().getAddress().toString());
+ storageManager.setAcksTo(offerID,
createSeqRes.getAccept().getAcksTo().getAddress().toString());
+ }
//No response to this message.
return false;
}
1.10 +4 -0
ws-fx/sandesha/src/org/apache/sandesha/storage/dao/ISandeshaDAO.java
Index: ISandeshaDAO.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/storage/dao/ISandeshaDAO.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- ISandeshaDAO.java 5 May 2005 07:35:17 -0000 1.9
+++ ISandeshaDAO.java 7 May 2005 08:14:44 -0000 1.10
@@ -126,4 +126,8 @@
public void setAcksTo(String seqId,String acksTo);
public String getAcksTo(String seqId);
+
+ void addOffer(String msgID, String offerID);
+
+ public String getOffer(String msgID);
}
\ No newline at end of file
1.10 +13 -0
ws-fx/sandesha/src/org/apache/sandesha/storage/dao/SandeshaDatabaseDAO.java
Index: SandeshaDatabaseDAO.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/storage/dao/SandeshaDatabaseDAO.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- SandeshaDatabaseDAO.java 5 May 2005 07:35:17 -0000 1.9
+++ SandeshaDatabaseDAO.java 7 May 2005 08:14:44 -0000 1.10
@@ -37,6 +37,19 @@
// TODO Auto-generated method stub
return null;
}
+
+ public void addOffer(String msgID, String offerID) {
+ //To change body of implemented methods use File | Settings | File
Templates.
+ }
+
+ public void setOffer(String seqID, String Offer) {
+ //To change body of implemented methods use File | Settings | File
Templates.
+ }
+
+ public String getOffer(String seqID) {
+ return null; //To change body of implemented methods use File |
Settings | File Templates.
+ }
+
/* (non-Javadoc)
* @see
org.apache.sandesha.storage.dao.ISandeshaDAO#setAcksTo(java.lang.String,
java.lang.String)
*/
1.11 +12 -0
ws-fx/sandesha/src/org/apache/sandesha/storage/dao/SandeshaQueueDAO.java
Index: SandeshaQueueDAO.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/storage/dao/SandeshaQueueDAO.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- SandeshaQueueDAO.java 5 May 2005 07:35:17 -0000 1.10
+++ SandeshaQueueDAO.java 7 May 2005 08:14:44 -0000 1.11
@@ -488,4 +488,16 @@
return sq.getAcksTo(seqId);
}
+
+ public void addOffer(String msgID, String offerID) {
+ SandeshaQueue sq = SandeshaQueue.getInstance();
+ sq.addOffer(msgID,offerID);
+ }
+
+ public String getOffer(String msgID) {
+ SandeshaQueue sq = SandeshaQueue.getInstance();
+ return sq.getOffer(msgID);
+ }
+
+
}
1.7 +9 -0
ws-fx/sandesha/src/org/apache/sandesha/storage/queue/IncomingSequence.java
Index: IncomingSequence.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/storage/queue/IncomingSequence.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- IncomingSequence.java 5 May 2005 07:35:17 -0000 1.6
+++ IncomingSequence.java 7 May 2005 08:14:44 -0000 1.7
@@ -46,6 +46,15 @@
private boolean beingProcessedLock = false; //When true messages are
private long lastMsgNo = -1;
private String acksTo = null;
+ private String offer;
+
+ public String getOffer() {
+ return offer;
+ }
+
+ public void setOffer(String offer) {
+ this.offer = offer;
+ }
public void setAcksTo(String ack){
acksTo = ack;
1.7 +9 -0
ws-fx/sandesha/src/org/apache/sandesha/storage/queue/OutgoingSequence.java
Index: OutgoingSequence.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/storage/queue/OutgoingSequence.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- OutgoingSequence.java 12 Apr 2005 02:15:33 -0000 1.6
+++ OutgoingSequence.java 7 May 2005 08:14:44 -0000 1.7
@@ -54,6 +54,15 @@
private static final Log log =
LogFactory.getLog(OutgoingSequence.class.getName());
public boolean terminateSent = false;
private boolean hasResponse = false;
+ private String offer;
+
+ public String getOffer() {
+ return offer;
+ }
+
+ public void setOffer(String offer) {
+ this.offer = offer;
+ }
public boolean hasResponse() {
return hasResponse;
1.15 +52 -25
ws-fx/sandesha/src/org/apache/sandesha/storage/queue/SandeshaQueue.java
Index: SandeshaQueue.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/storage/queue/SandeshaQueue.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- SandeshaQueue.java 5 May 2005 07:35:17 -0000 1.14
+++ SandeshaQueue.java 7 May 2005 08:14:44 -0000 1.15
@@ -47,6 +47,8 @@
HashMap queueBin; // Messaged processed from out queue will be moved
ArrayList lowPriorityQueue;
private List requestedSequences;
+ HashMap acksToMap;
+ HashMap offerMap;
private static final Log log =
LogFactory.getLog(SandeshaQueue.class.getName());
public static final UUIDGen uuidGen = UUIDGenFactory.getUUIDGen();
@@ -58,6 +60,8 @@
queueBin = new HashMap();
lowPriorityQueue = new ArrayList();
requestedSequences = new ArrayList();
+ acksToMap = new HashMap();
+ offerMap = new HashMap();
}
public static SandeshaQueue getInstance() {
@@ -472,6 +476,7 @@
System.out.println("\n Sequence id - " + s);
OutgoingSequence rsh = (OutgoingSequence) outgoingMap.get(s);
+ System.out.println("out seq id:" + rsh.getOutSequenceId());
Iterator it1 = rsh.getAllKeys().iterator();
while (it1.hasNext()) {
Long l = (Long) it1.next();
@@ -490,9 +495,9 @@
while (it.hasNext()) {
String s = (String) it.next();
System.out.println("\n Sequence id - " + s);
-
+
IncomingSequence sh = (IncomingSequence) incomingMap.get(s);
-
+
Iterator it1 = sh.getAllKeys().iterator();
while (it1.hasNext()) {
Long l = (Long) it1.next();
@@ -924,46 +929,68 @@
return null;
}
-
- public void setAcksTo(String seqId,String acksTo){
-
- if(seqId==null){
+
+ public void setAcksTo(String seqId, String acksTo) {
+
+ if (seqId == null) {
System.out.println("ERROR: seq is null");
return;
}
-
- Iterator it = incomingMap.keySet().iterator();
-
- while(it.hasNext()){
- String key = (String) it.next();
- if(key.equals(seqId)){
- IncomingSequence ics = (IncomingSequence)
incomingMap.get(key);
- if(ics!=null){
- ics.setAcksTo(acksTo);
- break;
- }
- }
- }
+
+ /* Iterator it = incomingMap.keySet().iterator();
+
+ while(it.hasNext()){
+ String key = (String) it.next();
+ if(key.equals(seqId)){
+ IncomingSequence ics = (IncomingSequence)
incomingMap.get(key);
+ if(ics!=null){
+ ics.setAcksTo(acksTo);
+ break;
+ }
+ }
+ } */
+
+ acksToMap.put(seqId, acksTo);
}
-
- public String getAcksTo(String seqId){
-
- displayIncomingMap();
- if(seqId==null){
+
+ public String getAcksTo(String seqId) {
+
+ if (seqId == null) {
System.out.println("ERROR: seq is null");
return null;
}
- IncomingSequence ics = (IncomingSequence) incomingMap.get(seqId);
+ /*IncomingSequence ics = (IncomingSequence) incomingMap.get(seqId);
if(ics!=null){
return ics.getAcksTo();
}else {
System.out.println("ERROR: ics null");
return null;
+ } */
+
+ String str = (String) acksToMap.get(seqId);
+ String strTemp = str.toString();
+ // return (String) acksToMap.get(seqId);
+ return strTemp;
+ }
+
+
+ public void addOffer(String msgID, String offerID) {
+
+ if (msgID == null) {
+ System.out.println("ERROR: seq is null");
}
+ offerMap.put(msgID, offerID);
}
+ public String getOffer(String msgID) {
+ if (msgID == null) {
+ System.out.println("ERROR: seq is null");
+ return null;
+ }
+ return (String) offerMap.get(msgID);
+ }
}
1.16 +17 -9
ws-fx/sandesha/src/org/apache/sandesha/util/RMMessageCreator.java
Index: RMMessageCreator.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/util/RMMessageCreator.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- RMMessageCreator.java 5 May 2005 12:57:01 -0000 1.15
+++ RMMessageCreator.java 7 May 2005 08:14:44 -0000 1.16
@@ -27,14 +27,12 @@
import org.apache.axis.types.URI;
import org.apache.sandesha.Constants;
import org.apache.sandesha.RMMessageContext;
-import org.apache.sandesha.ws.rm.AcksTo;
-import org.apache.sandesha.ws.rm.CreateSequence;
-import org.apache.sandesha.ws.rm.RMHeaders;
+import org.apache.sandesha.ws.rm.*;
public class RMMessageCreator {
private static final UUIDGen uuidGen = UUIDGenFactory.getUUIDGen();
- public static RMMessageContext createCreateSeqMsg(RMMessageContext
rmMsgCtx, byte endPoint) throws Exception {
+ public static RMMessageContext createCreateSeqMsg(RMMessageContext
rmMsgCtx, byte endPoint, String msgID, String offer) throws Exception {
RMMessageContext createSeqRMMsgContext = new RMMessageContext();
rmMsgCtx.copyContents(createSeqRMMsgContext);
@@ -43,17 +41,26 @@
CreateSequence createSeq = new CreateSequence();
AcksTo acksTo = getAcksTo(rmMsgCtx, endPoint);
createSeq.setAcksTo(acksTo);
+
+ if (offer != null) {
+ SequenceOffer seqOffer = new SequenceOffer();
+ Identifier id = new Identifier();
+ id.setIdentifier(offer);
+
+ seqOffer.setIdentifier(id);
+ createSeq.setOffer(seqOffer);
+ }
+
rmHeaders.setCreateSequence(createSeq);
createSeqRMMsgContext.setRMHeaders(rmHeaders);
- AddressingHeaders csAddrHeaders =
getAddressingHeaedersForCreateSequenceRequest(rmMsgCtx, endPoint);
+ AddressingHeaders csAddrHeaders =
getAddressingHeaedersForCreateSequenceRequest(rmMsgCtx, endPoint, msgID);
csAddrHeaders.setAction(new Action(new
URI(Constants.WSRM.ACTION_CREATE_SEQUENCE)));
createSeqRMMsgContext.setAddressingHeaders(csAddrHeaders);
- String msgId = Constants.UUID + uuidGen.nextUUID();
- createSeqRMMsgContext.setMessageID(msgId);
- createSeqRMMsgContext.addToMsgIdList(msgId);
+ createSeqRMMsgContext.setMessageID(msgID);
+ createSeqRMMsgContext.addToMsgIdList(msgID);
createSeqRMMsgContext.setSync(rmMsgCtx.getSync());
createSeqRMMsgContext.setMessageType(Constants.MSG_TYPE_CREATE_SEQUENCE_REQUEST);
@@ -68,8 +75,9 @@
return createSeqRMMsgContext;
}
- private static AddressingHeaders
getAddressingHeaedersForCreateSequenceRequest(RMMessageContext rmMsgCtx, byte
endPoint) throws Exception {
+ private static AddressingHeaders
getAddressingHeaedersForCreateSequenceRequest(RMMessageContext rmMsgCtx, byte
endPoint, String msgID) throws Exception {
AddressingHeaders csAddrHeaders = new AddressingHeaders();
+ csAddrHeaders.setMessageID(new MessageID(new URI(msgID)));
if (endPoint == Constants.SERVER) {
AddressingHeaders ah = rmMsgCtx.getAddressingHeaders();
csAddrHeaders.setFrom(new
EndpointReference(ah.getTo().toString()));
1.2 +7 -0 ws-fx/sandesha/src/org/apache/sandesha/ws/rm/Accept.java
Index: Accept.java
===================================================================
RCS file: /home/cvs/ws-fx/sandesha/src/org/apache/sandesha/ws/rm/Accept.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Accept.java 5 May 2005 13:06:02 -0000 1.1
+++ Accept.java 7 May 2005 08:14:44 -0000 1.2
@@ -77,6 +77,9 @@
acksTo.fromSOAPEnvelope(childElement);
}
+ if (childElement.getName().equals(Constants.WSRM.ACKS_TO)) {
+ acksTo = new AcksTo();
+ acksTo.fromSOAPEnvelope(childElement);}
}
@@ -136,5 +139,9 @@
this.acksTo=acksTo;
}
+ public AcksTo getAcksTo(){
+ return this.acksTo;
+ }
+
}
\ No newline at end of file
1.16 +1 -1
ws-fx/sandesha/src/org/apache/sandesha/ws/rm/CreateSequenceResponse.java
Index: CreateSequenceResponse.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/ws/rm/CreateSequenceResponse.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- CreateSequenceResponse.java 5 May 2005 12:57:01 -0000 1.15
+++ CreateSequenceResponse.java 7 May 2005 08:14:44 -0000 1.16
@@ -120,7 +120,7 @@
identifier.fromSOAPEnvelope(childElement);
}
- if (childElement.getName().equals(Constants.WSU.WSU_PREFIX +
Constants.COLON + Constants.WSRM.ACCEPT)) {
+ if (childElement.getName().equals(Constants.WSRM.NS_PREFIX_RM +
Constants.COLON + Constants.WSRM.ACCEPT)) {
accept = new Accept();
accept.fromSOAPEnvelope(childElement);
}
1.4 +2 -2
ws-fx/sandesha/src/org/apache/sandesha/ws/rm/SequenceOffer.java
Index: SequenceOffer.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/ws/rm/SequenceOffer.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- SequenceOffer.java 2 May 2005 04:34:04 -0000 1.3
+++ SequenceOffer.java 7 May 2005 08:14:44 -0000 1.4
@@ -36,8 +36,8 @@
private Identifier identifier;
public SequenceOffer (){
- offerElement = new MessageElement();
-
offerElement.setName(Constants.WSRM.NS_PREFIX_RM+Constants.COLON+Constants.WSRM.SEQUENCE_OFFER);
+ offerElement = new
MessageElement(Constants.WSRM.SEQUENCE_OFFER,Constants.WSRM.NS_PREFIX_RM,Constants.WSRM.NS_URI_RM);
+
//offerElement.setName(Constants.WSRM.NS_PREFIX_RM+Constants.COLON+Constants.WSRM.SEQUENCE_OFFER);
}
public void addChildElement(MessageElement element) throws SOAPException
{
1.45 +3 -1
ws-fx/sandesha/src/org/apache/sandesha/ws/rm/providers/RMProvider.java
Index: RMProvider.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/ws/rm/providers/RMProvider.java,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -r1.44 -r1.45
--- RMProvider.java 5 May 2005 12:57:01 -0000 1.44
+++ RMProvider.java 7 May 2005 08:14:44 -0000 1.45
@@ -61,6 +61,7 @@
//user can specify them in the server-config.wsdd as parameters to
the service
//parameter names should be in ignoreAction1, ignoreAction2 format.
+
if (isIgnorableMessage(msgContext)) {
RPCProvider rpcProvider = new RPCProvider();
rpcProvider.invoke(msgContext);
@@ -73,6 +74,7 @@
try {
MessageValidator.validate(rmMessageContext, client);
} catch (AxisFault af) {
+ af.printStackTrace();
FaultProcessor faultProcessor = new
FaultProcessor(storageManager, af);
if (!faultProcessor.processMessage(rmMessageContext)) {
msgContext.setPastPivot(true);
@@ -81,7 +83,6 @@
}
return;
}
-
RMHeaders rmHeaders = rmMessageContext.getRMHeaders();
AddressingHeaders addrHeaders =
rmMessageContext.getAddressingHeaders();
@@ -97,6 +98,7 @@
} else {
rmMessageContext.setMessageID(addrHeaders.getMessageID().toString());
}
+
IRMMessageProcessor rmMessageProcessor =
RMMessageProcessorIdentifier.getMessageProcessor(rmMessageContext,
storageManager);
try {