jaliya 2005/01/12 04:19:31
Modified: sandesha/src/org/apache/sandesha/client
ClientPropertyValidator.java RMSender.java
sandesha/src/org/apache/sandesha/server
AcknowledgementProcessor.java
CompositeProcessor.java
CreateSequenceProcessor.java
CreateSequenceResponseProcessor.java
FaultProcessor.java IRMMessageProcessor.java
ReTransmissionProcessor.java RequestProcessor.java
Sender.java TerminateSequenceProcessor.java
sandesha/src/org/apache/sandesha/ws/rm/providers
RMProvider.java
Log:
Modified the RMInitiator functionality. And the exception flow in the message
processors
Revision Changes Path
1.5 +1 -1
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.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ClientPropertyValidator.java 24 Dec 2004 04:10:02 -0000 1.4
+++ ClientPropertyValidator.java 12 Jan 2005 12:19:31 -0000 1.5
@@ -136,7 +136,7 @@
InetAddress addr = InetAddress.getLocalHost();
sourceURI="http://"+addr.getHostAddress()+":" +
Constants.SOURCE_ADDRESS_PORT
- + "/axis/services/MyService";
+ + "/axis/services/RMService";
return sourceURI;
}
1.18 +28 -163
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.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- RMSender.java 11 Jan 2005 13:50:49 -0000 1.17
+++ RMSender.java 12 Jan 2005 12:19:31 -0000 1.18
@@ -1,19 +1,19 @@
/*
- * Copyright 1999-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may
not
- * use this file except in compliance with the License. You may obtain a
copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations
under
- * the License.
- *
- */
+* Copyright 1999-2004 The Apache Software Foundation.
+*
+* Licensed under the Apache License, Version 2.0 (the "License"); you may not
+* use this file except in compliance with the License. You may obtain a copy
of
+* the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+* License for the specific language governing permissions and limitations
under
+* the License.
+*
+*/
package org.apache.sandesha.client;
import java.io.IOException;
@@ -45,10 +45,7 @@
import org.apache.axis.transport.http.SimpleAxisServer;
import org.apache.axis.types.URI;
import org.apache.axis.types.URI.MalformedURIException;
-import org.apache.sandesha.Constants;
-import org.apache.sandesha.EnvelopeCreator;
-import org.apache.sandesha.IStorageManager;
-import org.apache.sandesha.RMMessageContext;
+import org.apache.sandesha.*;
import org.apache.sandesha.server.Sender;
import org.apache.sandesha.server.ServerStorageManager;
import org.apache.sandesha.server.queue.ServerQueue;
@@ -69,7 +66,8 @@
private IStorageManager storageManager;
private static SimpleAxisServer sas = null;
private static Sender sender = null;
- private static Thread senderThread=null;
+ private static Thread senderThread = null;
+
public void invoke(MessageContext msgContext) throws AxisFault {
//TODO This we need to check.
@@ -79,7 +77,7 @@
//Initialize the storage manager. We are in the client side
//So initialize the client Storage Manager.
storageManager = new ClientStorageManager();
- initializeRMSender(storageManager, requestMesssageContext.getSync());
+ RMInitiator.initClient(requestMesssageContext.getSync());
try {
String sequenceID = requestMesssageContext.getSequenceID();
AddressingHeaders addrHeaders =
getAddressingHeaders(requestMesssageContext);
@@ -92,8 +90,8 @@
addrHeaders, requestMesssageContext.getSync());
}
- if(requestMesssageContext.isLastMessage()){
-
storageManager.insertTerminateSeqMessage(getTerminateSeqMessage(requestMesssageContext));
+ if (requestMesssageContext.isLastMessage()) {
+
storageManager.insertTerminateSeqMessage(getTerminateSeqMessage(requestMesssageContext));
}
if (requestMesssageContext.isHasResponse() &&
!requestMesssageContext.getSync()) {
@@ -108,7 +106,6 @@
}
msgContext.setResponseMessage(responseMessageContext.getMsgContext()
.getRequestMessage());
- //SEND TERMINATE SEQ
} else {
boolean gotAck = false;
while (!gotAck) {
@@ -116,12 +113,10 @@
requestMesssageContext.getMessageID());
Thread.sleep(Constants.CLIENT_RESPONSE_CHECKING_INTERVAL);
}
-
+
msgContext.setResponseMessage(null);
- //SEND TERMINATE SEQ
- }
-
+ }
} catch (Exception ex) {
ex.printStackTrace();
@@ -137,7 +132,6 @@
MessageContext terSeqMsgContext = new
MessageContext(rmMessageContext.getMsgContext().getAxisEngine());
terSeqRMMsgContext.setSequenceID(rmMessageContext.getSequenceID());
terSeqRMMsgContext.setAddressingHeaders(rmMessageContext.getAddressingHeaders());
- //RMMessageContext.copyMessageContext(msgContext, messageContext);
terSeqRMMsgContext.setOutGoingAddress(rmMessageContext.getOutGoingAddress());
terSeqRMMsgContext.setMsgContext(terSeqMsgContext);
terSeqRMMsgContext.setMessageType(Constants.MSG_TYPE_TERMINATE_SEQUENCE);
@@ -151,7 +145,6 @@
* AxisFault
*/
private MessageContext cloneMsgContext(MessageContext msgContext) throws
AxisFault {
-
MessageContext clone = new
MessageContext(msgContext.getAxisEngine());
String str = msgContext.getRequestMessage().getSOAPPartAsString();
Message msg = new Message(str);
@@ -160,50 +153,9 @@
return clone;
}
- /**
- * @param msgContext
- * @param addrHeaders
- * @return
- */
- private RMMessageContext getReqRMContext(MessageContext msgContext,
- AddressingHeaders addrHeaders, String uuid, long msgNo) {
- //Get the URL to send the message.
- String toAddress = (String)
msgContext.getProperty(MessageContext.TRANS_URL);
- // Create the RMMessageContext to hold the Request message.
- RMMessageContext reqRMMsgContext = new RMMessageContext();
- MessageContext messageContext = new
MessageContext(msgContext.getAxisEngine());
- RMMessageContext.copyMessageContext(msgContext, messageContext);
- reqRMMsgContext.setOutGoingAddress(addrHeaders.getTo().toString());
-
- //RMHeaders for the message.
- RMHeaders rmHeaders = new RMHeaders();
-
- //Sequence for the new message.
- Sequence seq = new Sequence();
- Identifier id = new Identifier();
- id.setIdentifier("uuid:" + uuid);
- seq.setIdentifier(id);
-
- //Message Number for the new message.
- MessageNumber msgNumber = new MessageNumber();
- msgNumber.setMessageNumber(msgNo);
- seq.setMessageNumber(msgNumber);
- rmHeaders.setSequence(seq);
-
- reqRMMsgContext.setMessageType(Constants.MSG_TYPE_SERVICE_REQUEST);
- //Set the RMheaders to the RMMessageContext.
- reqRMMsgContext.setRMHeaders(rmHeaders);
- //Set the addrssing headers to RMMessageContext.
- reqRMMsgContext.setAddressingHeaders(addrHeaders);
-
- reqRMMsgContext.setOutGoingAddress(toAddress);
- reqRMMsgContext.setMsgContext(messageContext);
- return reqRMMsgContext;
- }
private RMMessageContext getCreateSeqRMContext(RMMessageContext
rmMsgContext,
- AddressingHeaders addrHeaders, String uuid) throws
MalformedURIException {
-
+ AddressingHeaders
addrHeaders, String uuid) throws MalformedURIException {
//String toAddress = (String)
// msgContext.getProperty(MessageContext.TRANS_URL);
MessageContext msgContext = rmMsgContext.getMsgContext();
@@ -222,7 +174,6 @@
createSeqRMMsgContext.setOutGoingAddress(toAddress);
SOAPEnvelope resEnvelope =
EnvelopeCreator.createCreateSequenceEnvelope(uuid,
createSeqRMMsgContext, Constants.CLIENT);
-
MessageContext createSeqMsgContext = new
MessageContext(msgContext.getAxisEngine());
//This should be a clone operation.
@@ -235,67 +186,6 @@
return createSeqRMMsgContext;
}
- private void initializeRMSender(IStorageManager storageManager, boolean
sync) {
-
- if (!senderStarted) {
- //Pass the storageManager to the Sender.
- sender = new Sender(storageManager);
- senderThread = new Thread(sender);
- //senderThread.setDaemon(true);
- senderThread.start();
- }
-
- if (!sync && !serverStarted) {
- sas = new SimpleAxisServer();
- serverStarted = true;
- try {
- SimpleProvider sp = new SimpleProvider();
- sas.setMyConfig(sp);
-
- SimpleChain shc = new SimpleChain();
- //We need these two handlers in the request path to the
client.
- //Actually the response messages coming asynchronously should
- //come through the SimpleAxisServer instance.
- //We need to load the response handlers specified by the
users
- // in addtion to the the above two.
- Handler addrHanlder = new AddressingHandler();
- Handler rmHandler = new RMServerRequestHandler();
- shc.addHandler(addrHanlder);
- shc.addHandler(rmHandler);
-
- //Need to use the RMProvider at the client side to handle the
- //Asynchronous responses.
- RMProvider rmProvider = new RMProvider();
- //This is the switch used to inform the RMProvider about the
- // side that it operates.
- rmProvider.setClient(true);
-
- SOAPService myService = new SOAPService(shc, rmProvider,
null);
-
- JavaServiceDesc desc = new JavaServiceDesc();
- myService.setOption("className",
"samples.userguide.example3.MyService");
- myService.setOption("allowedMethods", "*");
-
- //Add Handlers ; Addressing and ws-rm before the service.
- desc.setName("MyService");
- myService.setServiceDescription(desc);
-
- //deploy the service to server
- sp.deployService("MyService", myService);
- //finally start the server
- //Start the simple axis server in port 8090
- sas.setServerSocket(new
ServerSocket(Constants.SOURCE_LISTEN_PORT));
-
- Thread serverThread = new Thread(sas);
- //serverThread.setDaemon(true);
- serverThread.start();
- } catch (IOException ex) {
- ex.printStackTrace();
- }
-
- }
-
- }
private AddressingHeaders getAddressingHeaders(RMMessageContext
rmMsgContext)
throws MalformedURIException {
@@ -338,7 +228,7 @@
}
private RMMessageContext processFirstMessage(RMMessageContext
reqRMMsgContext,
- AddressingHeaders addrHeaders, boolean sync) throws Exception {
+ AddressingHeaders
addrHeaders, boolean sync) throws Exception {
long nextMsgNumber = reqRMMsgContext.getMsgNumber();
System.out.println(nextMsgNumber);
UUIDGen uuidGen = UUIDGenFactory.getUUIDGen();
@@ -348,9 +238,6 @@
addrHeaders, tempUUID);
createSeqRMMsgContext.setMessageID("uuid:" + tempUUID);
//Create a sequence first.
- //storageManager.addSequence(Constants.CLIENT_DEFAULD_SEQUENCE_ID);
- //storageManager.setTemporaryOutSequence(
- // Constants.CLIENT_DEFAULD_SEQUENCE_ID, "uuid:" + tempUUID);
storageManager.addSequence(reqRMMsgContext.getSequenceID());
storageManager.setTemporaryOutSequence(reqRMMsgContext.getSequenceID(), "uuid:"
+ tempUUID);
@@ -369,7 +256,7 @@
}
private RMMessageContext processNonFirstMessage(RMMessageContext
reqRMMsgContext,
- AddressingHeaders addrHeaders, boolean sync) throws Exception {
+ AddressingHeaders
addrHeaders, boolean sync) throws Exception {
UUIDGen uuidGen = UUIDGenFactory.getUUIDGen();
reqRMMsgContext.setAddressingHeaders(addrHeaders);
reqRMMsgContext.setOutGoingAddress(addrHeaders.getTo().toString());
@@ -381,28 +268,6 @@
return reqRMMsgContext;
}
- private boolean getAckExpected(String synchronous, String hasResponse,
String sourceURI) {
- boolean ackExpected = false;
-
- if (synchronous.equals("true") && hasResponse.equals("false") &&
sourceURI.equals(""))
- ackExpected = true;
-
- if (synchronous.equals("true") && hasResponse.equals("false") &&
!sourceURI.equals(""))
- ackExpected = true;
- return ackExpected;
- }
-
- private boolean getResponseExpected(String synchronous, String
hasResponse, String sourceURI) {
- boolean responseExpeceted = false;
-
- if (synchronous.equals("true") && hasResponse.equals("true"))
- responseExpeceted = true;
-
- if (synchronous.equals("false") && hasResponse.equals("true"))
- responseExpeceted = true;
-
- return responseExpeceted;
- }
private boolean checkTheQueueForAck(String sequenceId, String
reqMessageID) {
return storageManager.checkForAcknowledgement(sequenceId,
reqMessageID);
@@ -412,8 +277,6 @@
return storageManager.checkForResponseMessage(sequenceId,
reqMessageID);
}
- private void setProcessingState(RMMessageContext rmMessageContext,
boolean sync) {
- }
private RMMessageContext getRMMessageContext(MessageContext msgContext)
throws AxisFault {
RMMessageContext requestMesssageContext = new RMMessageContext();
@@ -430,4 +293,6 @@
}
}
+
+
1.13 +43 -41
ws-fx/sandesha/src/org/apache/sandesha/server/AcknowledgementProcessor.java
Index: AcknowledgementProcessor.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/AcknowledgementProcessor.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- AcknowledgementProcessor.java 11 Jan 2005 13:51:57 -0000 1.12
+++ AcknowledgementProcessor.java 12 Jan 2005 12:19:31 -0000 1.13
@@ -25,10 +25,8 @@
import org.apache.axis.Message;
import org.apache.axis.MessageContext;
-import org.apache.sandesha.Constants;
-import org.apache.sandesha.EnvelopeCreator;
-import org.apache.sandesha.IStorageManager;
-import org.apache.sandesha.RMMessageContext;
+import org.apache.axis.AxisFault;
+import org.apache.sandesha.*;
import org.apache.sandesha.ws.rm.AcknowledgementRange;
import org.apache.sandesha.ws.rm.SequenceAcknowledgement;
@@ -42,7 +40,7 @@
this.storageManger = storageManger;
}
- public boolean processMessage(RMMessageContext rmMessageContext) {
+ public boolean processMessage(RMMessageContext rmMessageContext)
throws RMException {
SequenceAcknowledgement seqAcknowledgement = rmMessageContext
.getRMHeaders().getSequenceAcknowledgement();
String seqID = seqAcknowledgement.getIdentifier().getIdentifier();
@@ -62,12 +60,8 @@
return false;
}
- public Object getSynchronousResponse() {
- // TODO Auto-generated method stub
- return null;
- }
- public boolean sendAcknowledgement(RMMessageContext rmMessageContext) {
+ public boolean sendAcknowledgement(RMMessageContext rmMessageContext)
throws RMException {
//EnvelopCreater createAcknowledgement
//if async then add message to the queue
//else set the response env of the messageContext.
@@ -82,10 +76,8 @@
System.out.println("MSG Number list is NULL");
else{
Iterator ite = listOfMsgNumbers.keySet().iterator();
- System.out.println("NEXT OF ITE -- " + ite.next());
- }
-
-
+ }
+
Vector ackRangeVector = null;
if (listOfMsgNumbers != null) {
ackRangeVector = getAckRangesVector(listOfMsgNumbers);
@@ -97,13 +89,46 @@
ackRangeVector.add(ackRange);
}
- SOAPEnvelope ackEnvelope = EnvelopeCreator
+ RMMessageContext rmMsgContext
=getAckRMMsgCtx(rmMessageContext,ackRangeVector);
+
+ //FIX THIS FIX THIS //FIX THIS FIX THIS //FIX THIS FIX THIS
+ //Need to change this to the new Anonymous URI.
+ if (((rmMessageContext.getAddressingHeaders().getFrom().getAddress()
+ .toString()
+
.equals(org.apache.axis.message.addressing.Constants.NS_URI_ANONYMOUS)) == true)
+ || (rmMessageContext.getAddressingHeaders().getFrom()
+ .getAddress().toString()
+
.equals("http://schemas.xmlsoap.org/ws/2003/03/addressing/role/anonymous"))) {
+ //Now we have synchronized ack.
+ //The original message context is used to send the ack
+ // asynchronously to the client.
+ //So the response message is replaced by the new ack message.
+ try{
+ rmMessageContext.getMsgContext().setResponseMessage(
+ new
Message(rmMsgContext.getMsgContext().getResponseMessage().getSOAPEnvelope()));
+ } catch(Exception e ){
+ throw new RMException(e.getLocalizedMessage());
+ }
+
+ return true;
+ } else {
+ //Store the asynchronize ack in the queue.
+ //The name for this queue is not yet fixed.
+ //RENAME insertAcknowledgement(rmMessageContext)
+ storageManger.addAcknowledgement(rmMsgContext);
+ return false;
+ }
+
+ }
+
+ private RMMessageContext getAckRMMsgCtx(RMMessageContext
rmMessageContext, Vector ackRangeVector){
+
+ SOAPEnvelope ackEnvelope = EnvelopeCreator
.createAcknowledgementEnvelope(rmMessageContext,
ackRangeVector);
//Add the envelope to the response message of the messageContext.
//rmMessageContext.getMsgContext().setResponseMessage(new
// Message(ackEnvelope));
-
- RMMessageContext rmMsgContext = new RMMessageContext();
+ RMMessageContext rmMsgContext = new RMMessageContext();
try {
//Create a new message using the ackEnvelope
Message resMsg = new Message(ackEnvelope);
@@ -129,30 +154,7 @@
e.printStackTrace();
//TODO: Log the error
}
-
- //FIX THIS FIX THIS //FIX THIS FIX THIS //FIX THIS FIX THIS
- //Need to change this to the new Anonymous URI.
- if (((rmMessageContext.getAddressingHeaders().getFrom().getAddress()
- .toString()
-
.equals(org.apache.axis.message.addressing.Constants.NS_URI_ANONYMOUS)) == true)
- || (rmMessageContext.getAddressingHeaders().getFrom()
- .getAddress().toString()
-
.equals("http://schemas.xmlsoap.org/ws/2003/03/addressing/role/anonymous"))) {
- //Now we have synchronized ack.
- //The original message context is used to send the ack
- // asynchronously to the client.
- //So the response message is replaced by the new ack message.
- rmMessageContext.getMsgContext().setResponseMessage(
- new Message(ackEnvelope));
- return true;
- } else {
- //Store the asynchronize ack in the queue.
- //The name for this queue is not yet fixed.
- //RENAME insertAcknowledgement(rmMessageContext)
- storageManger.addAcknowledgement(rmMsgContext);
- return false;
- }
-
+ return rmMsgContext;
}
/**
1.13 +3 -6
ws-fx/sandesha/src/org/apache/sandesha/server/CompositeProcessor.java
Index: CompositeProcessor.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/CompositeProcessor.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- CompositeProcessor.java 11 Jan 2005 13:51:57 -0000 1.12
+++ CompositeProcessor.java 12 Jan 2005 12:19:31 -0000 1.13
@@ -18,9 +18,11 @@
import org.apache.axis.Message;
import org.apache.axis.MessageContext;
+import org.apache.axis.AxisFault;
import org.apache.sandesha.Constants;
import org.apache.sandesha.IStorageManager;
import org.apache.sandesha.RMMessageContext;
+import org.apache.sandesha.RMException;
import org.apache.sandesha.ws.rm.RMHeaders;
/**
@@ -34,7 +36,7 @@
this.storageManger = storageManger;
}
- public boolean processMessage(RMMessageContext rmMessageContext) {
+ public boolean processMessage(RMMessageContext rmMessageContext) throws
RMException{
//if the message is and Ack then process the ack
//if the message has a body then insert it to the inqueue
@@ -109,11 +111,6 @@
}
}
return false;
- }
-
- public Object getSynchronousResponse() {
- // TODO Auto-generated method stub
- return null;
}
}
1.12 +2 -7
ws-fx/sandesha/src/org/apache/sandesha/server/CreateSequenceProcessor.java
Index: CreateSequenceProcessor.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/CreateSequenceProcessor.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- CreateSequenceProcessor.java 24 Nov 2004 13:37:16 -0000 1.11
+++ CreateSequenceProcessor.java 12 Jan 2005 12:19:31 -0000 1.12
@@ -18,6 +18,7 @@
import org.apache.axis.Message;
import org.apache.axis.MessageContext;
+import org.apache.axis.AxisFault;
import org.apache.axis.components.uuid.UUIDGen;
import org.apache.axis.components.uuid.UUIDGenFactory;
import org.apache.axis.message.SOAPEnvelope;
@@ -40,8 +41,7 @@
this.storageManger = storageManger;
}
- public boolean processMessage(RMMessageContext rmMessageContext)
- throws RMException {
+ public boolean processMessage(RMMessageContext rmMessageContext)
throws RMException {
AddressingHeaders addrHeaders =
rmMessageContext.getAddressingHeaders();
RMHeaders rmHeaders = rmMessageContext.getRMHeaders();
@@ -108,11 +108,6 @@
throw new RMException("REPLY TO CANNOT BE NULL!");
}
- }
-
- public Object getSynchronousResponse() {
-
- return null;
}
}
1.8 +2 -7
ws-fx/sandesha/src/org/apache/sandesha/server/CreateSequenceResponseProcessor.java
Index: CreateSequenceResponseProcessor.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/CreateSequenceResponseProcessor.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- CreateSequenceResponseProcessor.java 11 Oct 2004 10:57:58 -0000
1.7
+++ CreateSequenceResponseProcessor.java 12 Jan 2005 12:19:31 -0000
1.8
@@ -17,6 +17,7 @@
package org.apache.sandesha.server;
import org.apache.axis.message.addressing.RelatesTo;
+import org.apache.axis.AxisFault;
import org.apache.sandesha.IStorageManager;
import org.apache.sandesha.RMException;
import org.apache.sandesha.RMMessageContext;
@@ -33,8 +34,7 @@
this.storageManager = storageManger;
}
- public boolean processMessage(RMMessageContext rmMessageContext)
- throws RMException {
+ public boolean processMessage(RMMessageContext rmMessageContext) throws
RMException {
CreateSequenceResponse createSeqRes = rmMessageContext.getRMHeaders()
.getCreateSequenceResponse();
@@ -50,11 +50,6 @@
sequenceID);
//No response to this message.
return false;
- }
-
- public Object getSynchronousResponse() {
- // TODO Auto-generated method stub
- return null;
}
}
1.4 +2 -12
ws-fx/sandesha/src/org/apache/sandesha/server/FaultProcessor.java
Index: FaultProcessor.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/FaultProcessor.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- FaultProcessor.java 20 Oct 2004 10:33:05 -0000 1.3
+++ FaultProcessor.java 12 Jan 2005 12:19:31 -0000 1.4
@@ -9,6 +9,7 @@
import org.apache.sandesha.IStorageManager;
import org.apache.sandesha.RMException;
import org.apache.sandesha.RMMessageContext;
+import org.apache.axis.AxisFault;
/**
* @author JEkanayake
@@ -28,22 +29,11 @@
*
* @see
org.apache.sandesha.server.IRMMessageProcessor#processMessage(org.apache.sandesha.RMMessageContext)
*/
- public boolean processMessage(RMMessageContext rmMessageContext)
- throws RMException {
+ public boolean processMessage(RMMessageContext rmMessageContext)
throws RMException {
// TODO Auto-generated method stub
//If we have an actual fault then process and return
System.out.println("ERROR: FAULT PROCESSOR ....");
return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
org.apache.sandesha.server.IRMMessageProcessor#getSynchronousResponse()
- */
- public Object getSynchronousResponse() {
- // TODO Auto-generated method stub
- return null;
}
}
1.4 +2 -3
ws-fx/sandesha/src/org/apache/sandesha/server/IRMMessageProcessor.java
Index: IRMMessageProcessor.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/IRMMessageProcessor.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- IRMMessageProcessor.java 13 Sep 2004 11:26:32 -0000 1.3
+++ IRMMessageProcessor.java 12 Jan 2005 12:19:31 -0000 1.4
@@ -18,6 +18,7 @@
import org.apache.sandesha.RMException;
import org.apache.sandesha.RMMessageContext;
+import org.apache.axis.AxisFault;
/**
* @author
@@ -26,8 +27,6 @@
//Returns true if the message has a synchronous response or ack.
public boolean processMessage(RMMessageContext rmMessageContext)
- throws RMException;
-
- public Object getSynchronousResponse();
+ throws RMException ;
}
1.3 +3 -11
ws-fx/sandesha/src/org/apache/sandesha/server/ReTransmissionProcessor.java
Index: ReTransmissionProcessor.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/ReTransmissionProcessor.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ReTransmissionProcessor.java 13 Sep 2004 11:26:32 -0000 1.2
+++ ReTransmissionProcessor.java 12 Jan 2005 12:19:31 -0000 1.3
@@ -17,6 +17,8 @@
package org.apache.sandesha.server;
import org.apache.sandesha.RMMessageContext;
+import org.apache.sandesha.RMException;
+import org.apache.axis.AxisFault;
/**
* @author
@@ -28,19 +30,9 @@
*
* @see
org.apache.sandesha.server.RMMessageProcessor#processMessage(org.apache.sandesha.RMMessageContext)
*/
- public boolean processMessage(RMMessageContext rmMessageContext) {
+ public boolean processMessage(RMMessageContext rmMessageContext)
throws RMException {
// TODO Auto-generated method stub
return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
org.apache.sandesha.server.IRMMessageProcessor#getSynchronousResponse()
- */
- public Object getSynchronousResponse() {
- // TODO Auto-generated method stub
- return null;
}
}
1.3 +0 -10
ws-fx/sandesha/src/org/apache/sandesha/server/RequestProcessor.java
Index: RequestProcessor.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/RequestProcessor.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- RequestProcessor.java 13 Sep 2004 11:26:32 -0000 1.2
+++ RequestProcessor.java 12 Jan 2005 12:19:31 -0000 1.3
@@ -36,14 +36,4 @@
return false;
}
- /*
- * (non-Javadoc)
- *
- * @see
org.apache.sandesha.server.IRMMessageProcessor#getSynchronousResponse()
- */
- public Object getSynchronousResponse() {
- // TODO Auto-generated method stub
- return null;
- }
-
}
1.19 +99 -101 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.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- Sender.java 11 Jan 2005 13:51:57 -0000 1.18
+++ Sender.java 12 Jan 2005 12:19:31 -0000 1.19
@@ -34,7 +34,6 @@
/**
* @author JEkanayake
- *
*/
public class Sender implements Runnable {
private IStorageManager storageManager;
@@ -60,71 +59,77 @@
} else {
//Send the message.
switch (rmMessageContext.getMessageType()) {
- case Constants.MSG_TYPE_CREATE_SEQUENCE_REQUEST: {
- System.out.println("INFO: SENDING CREATE SEQUENCE
REQUEST ....");
- if ((rmMessageContext.getReTransmissionCount() <=
Constants.MAXIMUM_RETRANSMISSION_COUNT)
- && ((System.currentTimeMillis() -
rmMessageContext
+ case Constants.MSG_TYPE_CREATE_SEQUENCE_REQUEST:
+ {
+ System.out.println("INFO: SENDING CREATE
SEQUENCE REQUEST ....");
+ if
((rmMessageContext.getReTransmissionCount() <=
Constants.MAXIMUM_RETRANSMISSION_COUNT)
+ && ((System.currentTimeMillis() -
rmMessageContext
.getLastPrecessedTime()) >
Constants.RETRANSMISSION_INTERVAL)) {
- sendCreateSequenceRequest(rmMessageContext);
- } else {
- //TODO REPORT ERROR
- }
- break;
- }
- case Constants.MSG_TYPE_CREATE_SEQUENCE_RESPONSE: {
- System.out.println("INFO: SENDING CREATE SEQUENCE
RESPONSE ....");
- if ((rmMessageContext.getReTransmissionCount() <=
Constants.MAXIMUM_RETRANSMISSION_COUNT)
- && ((System.currentTimeMillis() -
rmMessageContext
+
sendCreateSequenceRequest(rmMessageContext);
+ } else {
+ //TODO REPORT ERROR
+ }
+ break;
+ }
+ case Constants.MSG_TYPE_CREATE_SEQUENCE_RESPONSE:
+ {
+ System.out.println("INFO: SENDING CREATE
SEQUENCE RESPONSE ....");
+ if
((rmMessageContext.getReTransmissionCount() <=
Constants.MAXIMUM_RETRANSMISSION_COUNT)
+ && ((System.currentTimeMillis() -
rmMessageContext
.getLastPrecessedTime()) >
Constants.RETRANSMISSION_INTERVAL)) {
- sendCreateSequenceResponse(rmMessageContext);
- } else {
- //TODO REPORT ERROR
- }
- break;
- }
- case Constants.MSG_TYPE_TERMINATE_SEQUENCE: {
- System.out.println("INFO: SENDING TERMINATE SEQUENCE
REQUEST ....");
- if ((rmMessageContext.getReTransmissionCount() <=
Constants.MAXIMUM_RETRANSMISSION_COUNT)
- && ((System.currentTimeMillis() -
rmMessageContext
+
sendCreateSequenceResponse(rmMessageContext);
+ } else {
+ //TODO REPORT ERROR
+ }
+ break;
+ }
+ case Constants.MSG_TYPE_TERMINATE_SEQUENCE:
+ {
+ System.out.println("INFO: SENDING TERMINATE
SEQUENCE REQUEST ....");
+ if
((rmMessageContext.getReTransmissionCount() <=
Constants.MAXIMUM_RETRANSMISSION_COUNT)
+ && ((System.currentTimeMillis() -
rmMessageContext
.getLastPrecessedTime()) >
Constants.RETRANSMISSION_INTERVAL)) {
- sendTerminateSequenceRequest(rmMessageContext);
- } else {
- //TODO REPORT ERROR
- }
- break;
- }
- case Constants.MSG_TYPE_ACKNOWLEDGEMENT: {
- System.out.println("INFO: SENDING ACKNOWLEDGEMENT
....\n");
- if ((rmMessageContext.getReTransmissionCount() <=
Constants.MAXIMUM_RETRANSMISSION_COUNT)
- && ((System.currentTimeMillis() -
rmMessageContext
+
sendTerminateSequenceRequest(rmMessageContext);
+ } else {
+ //TODO REPORT ERROR
+ }
+ break;
+ }
+ case Constants.MSG_TYPE_ACKNOWLEDGEMENT:
+ {
+ System.out.println("INFO: SENDING
ACKNOWLEDGEMENT ....\n");
+ if
((rmMessageContext.getReTransmissionCount() <=
Constants.MAXIMUM_RETRANSMISSION_COUNT)
+ && ((System.currentTimeMillis() -
rmMessageContext
.getLastPrecessedTime()) >
Constants.RETRANSMISSION_INTERVAL)) {
- sendAcknowldgement(rmMessageContext);
- } else {
- //TODO REPORT ERROR
- }
- break;
- }
- case Constants.MSG_TYPE_SERVICE_REQUEST: {
- System.out.println("INFO: SENDING REQUEST MESSAGE
....\n");
- if ((rmMessageContext.getReTransmissionCount() <=
Constants.MAXIMUM_RETRANSMISSION_COUNT)
- && ((System.currentTimeMillis() -
rmMessageContext
+ sendAcknowldgement(rmMessageContext);
+ } else {
+ //TODO REPORT ERROR
+ }
+ break;
+ }
+ case Constants.MSG_TYPE_SERVICE_REQUEST:
+ {
+ System.out.println("INFO: SENDING REQUEST
MESSAGE ....\n");
+ if
((rmMessageContext.getReTransmissionCount() <=
Constants.MAXIMUM_RETRANSMISSION_COUNT)
+ && ((System.currentTimeMillis() -
rmMessageContext
.getLastPrecessedTime()) >
Constants.RETRANSMISSION_INTERVAL)) {
- sendServiceRequest(rmMessageContext);
- } else { //TODO REPORT ERROR
- }
- break;
- }
- case Constants.MSG_TYPE_SERVICE_RESPONSE: {
- System.out.println("INFO: SENDING RESPONSE MESSAGE
....\n");
- if ((rmMessageContext.getReTransmissionCount() <=
Constants.MAXIMUM_RETRANSMISSION_COUNT)
- && ((System.currentTimeMillis() -
rmMessageContext
+ sendServiceRequest(rmMessageContext);
+ } else { //TODO REPORT ERROR
+ }
+ break;
+ }
+ case Constants.MSG_TYPE_SERVICE_RESPONSE:
+ {
+ System.out.println("INFO: SENDING RESPONSE
MESSAGE ....\n");
+ if
((rmMessageContext.getReTransmissionCount() <=
Constants.MAXIMUM_RETRANSMISSION_COUNT)
+ && ((System.currentTimeMillis() -
rmMessageContext
.getLastPrecessedTime()) >
Constants.RETRANSMISSION_INTERVAL)) {
- sendServiceResponse(rmMessageContext);
- } else {
- //TODO REPORT ERROR
- }
- break;
- }
+ sendServiceResponse(rmMessageContext);
+ } else {
+ //TODO REPORT ERROR
+ }
+ break;
+ }
}
}
@@ -149,41 +154,41 @@
* @param rmMessageContext
*/
private void sendTerminateSequenceRequest(RMMessageContext
rmMessageContext) {
- SOAPEnvelope
terSeqEnv=EnvelopeCreator.createTerminatSeqMessage(rmMessageContext);
- Message terSeqMsg= new Message(terSeqEnv);
- rmMessageContext.getMsgContext().setRequestMessage(terSeqMsg);
+ SOAPEnvelope terSeqEnv =
EnvelopeCreator.createTerminatSeqMessage(rmMessageContext);
+ Message terSeqMsg = new Message(terSeqEnv);
+ rmMessageContext.getMsgContext().setRequestMessage(terSeqMsg);
- Call call;
- try {
-
rmMessageContext.setLastPrecessedTime(System.currentTimeMillis());
- rmMessageContext
-
.setReTransmissionCount(rmMessageContext.getReTransmissionCount() + 1);
- call = prepareCall(rmMessageContext);
- call.invoke();
- if (call.getResponseMessage() != null) {
- RMHeaders rmHeaders = new RMHeaders();
-
rmHeaders.fromSOAPEnvelope(call.getResponseMessage().getSOAPEnvelope());
- rmMessageContext.setRMHeaders(rmHeaders);
- AddressingHeaders addrHeaders = new
AddressingHeaders(call.getResponseMessage()
- .getSOAPEnvelope());
- rmMessageContext.setAddressingHeaders(addrHeaders);
-
rmMessageContext.getMsgContext().setResponseMessage(call.getResponseMessage());
- IRMMessageProcessor messagePrcessor =
RMMessageProcessorIdentifier
- .getMessageProcessor(rmMessageContext,
storageManager);
- messagePrcessor.processMessage(rmMessageContext);
- }
- } catch (AxisFault e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (SOAPException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
+ Call call;
+ try {
+
rmMessageContext.setLastPrecessedTime(System.currentTimeMillis());
+ rmMessageContext
+
.setReTransmissionCount(rmMessageContext.getReTransmissionCount() + 1);
+ call = prepareCall(rmMessageContext);
+ call.invoke();
+ if (call.getResponseMessage() != null) {
+ RMHeaders rmHeaders = new RMHeaders();
+
rmHeaders.fromSOAPEnvelope(call.getResponseMessage().getSOAPEnvelope());
+ rmMessageContext.setRMHeaders(rmHeaders);
+ AddressingHeaders addrHeaders = new
AddressingHeaders(call.getResponseMessage()
+ .getSOAPEnvelope());
+ rmMessageContext.setAddressingHeaders(addrHeaders);
+
rmMessageContext.getMsgContext().setResponseMessage(call.getResponseMessage());
+ IRMMessageProcessor messagePrcessor =
RMMessageProcessorIdentifier
+ .getMessageProcessor(rmMessageContext,
storageManager);
+ messagePrcessor.processMessage(rmMessageContext);
}
+ } catch (AxisFault e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (SOAPException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
-
}
private void sendServiceResponse(RMMessageContext rmMessageContext) {
@@ -333,8 +338,7 @@
AddressingHeaders addrHeaders = new
AddressingHeaders(call
.getResponseMessage().getSOAPEnvelope());
rmMessageContext.setAddressingHeaders(addrHeaders);
- rmMessageContext.getMsgContext().setResponseMessage(
- call.getResponseMessage());
+
rmMessageContext.getMsgContext().setResponseMessage(call.getResponseMessage());
IRMMessageProcessor messageProcessor =
RMMessageProcessorIdentifier
.getMessageProcessor(rmMessageContext,
storageManager);
messageProcessor.processMessage(rmMessageContext);
@@ -352,9 +356,7 @@
// TODO Auto-generated catch block
e.printStackTrace();
}
- }
-
- else {
+ } else {
try {
Call call = prepareCall(rmMessageContext);
//Send the createSequnceRequest Asynchronously.
@@ -370,11 +372,7 @@
}
}
-
-
}
-
-
}
1.6 +3 -6
ws-fx/sandesha/src/org/apache/sandesha/server/TerminateSequenceProcessor.java
Index: TerminateSequenceProcessor.java
===================================================================
RCS file:
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/TerminateSequenceProcessor.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- TerminateSequenceProcessor.java 11 Jan 2005 07:16:42 -0000 1.5
+++ TerminateSequenceProcessor.java 12 Jan 2005 12:19:31 -0000 1.6
@@ -18,7 +18,9 @@
import org.apache.sandesha.IStorageManager;
import org.apache.sandesha.RMMessageContext;
+import org.apache.sandesha.RMException;
import org.apache.sandesha.ws.rm.TerminateSequence;
+import org.apache.axis.AxisFault;
/**
* @author
@@ -31,7 +33,7 @@
this.storageManger = storageManger;
}
- public boolean processMessage(RMMessageContext rmMessageContext) {
+ public boolean processMessage(RMMessageContext rmMessageContext)
throws RMException {
TerminateSequence terminateSeq =
rmMessageContext.getRMHeaders().getTerminateSequence();
@@ -46,11 +48,6 @@
return false;
- }
-
- public Object getSynchronousResponse() {
- // TODO Auto-generated method stub
- return null;
}
}
1.24 +6 -5
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.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- RMProvider.java 11 Jan 2005 13:59:24 -0000 1.23
+++ RMProvider.java 12 Jan 2005 12:19:31 -0000 1.24
@@ -17,12 +17,13 @@
package org.apache.sandesha.ws.rm.providers;
import org.apache.axis.MessageContext;
+import org.apache.axis.AxisFault;
import org.apache.axis.message.SOAPEnvelope;
import org.apache.axis.message.addressing.AddressingHeaders;
import org.apache.axis.providers.java.RPCProvider;
import org.apache.sandesha.IStorageManager;
import org.apache.sandesha.RMException;
-import org.apache.sandesha.RMIntiator;
+import org.apache.sandesha.RMInitiator;
import org.apache.sandesha.RMMessageContext;
import org.apache.sandesha.server.IRMMessageProcessor;
import org.apache.sandesha.server.RMMessageProcessorIdentifier;
@@ -61,7 +62,7 @@
System.out.println("RMProvider GOT SOAP REQUEST.....\n");
// System.out.println(reqEnv.toString());
//Initiates the StorageManager
- IStorageManager storageManager = RMIntiator.init(client);
+ IStorageManager storageManager = RMInitiator.init(client);
storageManager.init();
//Get the addressing headers.
@@ -102,7 +103,6 @@
rmMessageContext.setAddressingHeaders(addressingHeaders);
rmMessageContext.setRMHeaders(rmHeaders);
-
new RMMessageProcessorIdentifier();
IRMMessageProcessor rmMessageProcessor = RMMessageProcessorIdentifier
.getMessageProcessor(rmMessageContext, storageManager);
@@ -113,13 +113,14 @@
}
} catch (RMException rmEx) {
rmEx.printStackTrace();
+ throw new AxisFault(rmEx.getStackTrace().toString());
//TODO
//throw a SOAPFault.
}
}
- //TODO
- //NEED TO CHECK THIS METHOD.
+ //This is used by the Client to set the
+ //set the side that the RMProvider is used.
public void setClient(boolean client) {
RMProvider.client = client;
}