jaliya 2005/05/18 21:08:02
Modified: sandesha/src/org/apache/sandesha EnvelopeCreator.java
RMInitiator.java
sandesha/src/org/apache/sandesha/client
ClientPropertyValidator.java
sandesha/src/org/apache/sandesha/server Sender.java
sandesha/src/org/apache/sandesha/util RMMessageCreator.java
Log:
Modified the addressing header addition from the client. Now, the client can
add any addressing headers and they will be used to send messages
Revision Changes Path
1.41 +5 -0
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.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- EnvelopeCreator.java 18 May 2005 12:57:54 -0000 1.40
+++ EnvelopeCreator.java 19 May 2005 04:08:02 -0000 1.41
@@ -314,6 +314,9 @@
//if (addressingHeaders.getReplyTo() != null &&
rmMessageContext.isHasResponse())
if (addressingHeaders.getReplyTo() != null)//&&
rmMessageContext.isHasResponse())
outGoingAddressingHaders.setReplyTo(addressingHeaders.getReplyTo());
+
+ if (addressingHeaders.getFaultTo() != null)//&&
rmMessageContext.isHasResponse())
+
outGoingAddressingHaders.setFaultTo(addressingHeaders.getFaultTo());
try {
Action action = new Action(new
URI(rmMessageContext.getAction()));
outGoingAddressingHaders.setAction(action);
@@ -353,6 +356,8 @@
if(addressingHeaders.getReplyTo()!=null)
outGoingAddressingHaders.setReplyTo(addressingHeaders.getReplyTo());
+ if(addressingHeaders.getFaultTo()!=null)
+
outGoingAddressingHaders.setFaultTo(addressingHeaders.getFaultTo());
outGoingAddressingHaders.toEnvelope(terSeqEnv, null);
1.19 +8 -0 ws-fx/sandesha/src/org/apache/sandesha/RMInitiator.java
Index: RMInitiator.java
===================================================================
RCS file: /home/cvs/ws-fx/sandesha/src/org/apache/sandesha/RMInitiator.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- RMInitiator.java 16 May 2005 13:09:18 -0000 1.18
+++ RMInitiator.java 19 May 2005 04:08:02 -0000 1.19
@@ -104,6 +104,14 @@
}
}
+ public static void initClient() {
+ init(true);
+ if (!listenerStarted) {
+ listenerStarted = true;
+ startListener();
+ }
+ }
+
public static RMStatus stopClient() throws AxisFault {
//This should check whether we have received all the acks or
reponses if any
IStorageManager storageManager = new ClientStorageManager();
1.23 +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.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- ClientPropertyValidator.java 18 May 2005 12:57:55 -0000 1.22
+++ ClientPropertyValidator.java 19 May 2005 04:08:02 -0000 1.23
@@ -145,7 +145,7 @@
if (synchronous != null) {
return synchronous.booleanValue();
} else
- return true;//If the user has not specified the synchronous
+ return false;//If the user has not specified the synchronous
}
1.40 +2 -1 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.39
retrieving revision 1.40
diff -u -r1.39 -r1.40
--- Sender.java 18 May 2005 12:57:55 -0000 1.39
+++ Sender.java 19 May 2005 04:08:02 -0000 1.40
@@ -147,9 +147,10 @@
*/
private void sendTerminateSequenceRequest(RMMessageContext
rmMessageContext) throws Exception {
SOAPEnvelope terSeqEnv =
EnvelopeCreator.createTerminatSeqMessage(rmMessageContext);
+
Message terSeqMsg = new Message(terSeqEnv);
rmMessageContext.getMsgContext().setRequestMessage(terSeqMsg);
-
+
Call call;
rmMessageContext.setLastPrecessedTime(System.currentTimeMillis());
rmMessageContext.setReTransmissionCount(rmMessageContext.getReTransmissionCount()
+ 1);
1.18 +40 -54
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.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- RMMessageCreator.java 18 May 2005 12:57:55 -0000 1.17
+++ RMMessageCreator.java 19 May 2005 04:08:02 -0000 1.18
@@ -90,21 +90,10 @@
} else {
csAddrHeaders.setTo(new To(rmMsgCtx.getTo()));
if (rmMsgCtx.getSync()) {
- if (rmMsgCtx.getFrom() != null)
- csAddrHeaders.setFrom(new
EndpointReference(rmMsgCtx.getFrom()));
- else
- csAddrHeaders.setFrom(
- new
EndpointReference(Constants.WSA.NS_ADDRESSING_ANONYMOUS));
- if (rmMsgCtx.getFaultTo() != null)
- csAddrHeaders.setFrom(new
EndpointReference(rmMsgCtx.getFaultTo()));
- else
- csAddrHeaders.setFaultTo(
- new
EndpointReference(Constants.WSA.NS_ADDRESSING_ANONYMOUS));
- if (rmMsgCtx.getReplyTo() != null)
- csAddrHeaders.setFrom(new
EndpointReference(rmMsgCtx.getReplyTo()));
- else
- csAddrHeaders.setReplyTo(
- new
EndpointReference(Constants.WSA.NS_ADDRESSING_ANONYMOUS));
+ setSyncAddressingHeaders(csAddrHeaders);
+ csAddrHeaders.setReplyTo(
+ new
EndpointReference(Constants.WSA.NS_ADDRESSING_ANONYMOUS));
+
} else {
String sourceURL = rmMsgCtx.getSourceURL();
if (rmMsgCtx.getFrom() != null)
@@ -122,6 +111,30 @@
return csAddrHeaders;
}
+ private static void setSyncAddressingHeaders(AddressingHeaders
csAddrHeaders)
+ throws URI.MalformedURIException {
+ csAddrHeaders.setFrom(new
EndpointReference(Constants.WSA.NS_ADDRESSING_ANONYMOUS));
+ csAddrHeaders.setFaultTo(new
EndpointReference(Constants.WSA.NS_ADDRESSING_ANONYMOUS));
+
+ }
+
+ private static void setAsyncAddressingHeaders(RMMessageContext rmMsgCtx,
+ AddressingHeaders
csAddrHeaders)
+ throws URI.MalformedURIException {
+ String sourceURL = rmMsgCtx.getSourceURL();
+ if (rmMsgCtx.getFrom() != null)
+ csAddrHeaders.setFrom(new EndpointReference(rmMsgCtx.getFrom()));
+ else
+ csAddrHeaders.setFrom(new EndpointReference(sourceURL));
+
+ if (rmMsgCtx.getReplyTo() != null)
+ csAddrHeaders.setReplyTo(new
EndpointReference(rmMsgCtx.getReplyTo()));
+
+ if (rmMsgCtx.getFaultTo() != null)
+ csAddrHeaders.setFaultTo(new
EndpointReference(rmMsgCtx.getFaultTo()));
+ }
+
+
private static AcksTo getAcksTo(RMMessageContext rmMsgCtx, byte
endPoint) throws Exception {
AcksTo acksTo = null;
if (endPoint == Constants.CLIENT) {
@@ -178,16 +191,12 @@
csAddrHeaders.setFrom(new
EndpointReference(ah.getTo().toString()));
} else {
csAddrHeaders.setTo(new To(rmMsgCtx.getTo()));
- String sourceURL = rmMsgCtx.getSourceURL();
- if (rmMsgCtx.getFrom() != null)
- csAddrHeaders.setFrom(new
EndpointReference(rmMsgCtx.getFrom()));
- else
- csAddrHeaders.setFrom(new EndpointReference(sourceURL));
- if (rmMsgCtx.getFaultTo() != null)
- csAddrHeaders.setFaultTo(new
EndpointReference(rmMsgCtx.getFaultTo()));
- if (rmMsgCtx.getReplyTo() != null)
- csAddrHeaders.setFaultTo(new
EndpointReference(rmMsgCtx.getReplyTo()));
+ if (rmMsgCtx.getSync()) {
+ setSyncAddressingHeaders(csAddrHeaders);
+ } else {
+ setAsyncAddressingHeaders(rmMsgCtx, csAddrHeaders);
+ }
}
return csAddrHeaders;
}
@@ -205,6 +214,7 @@
public static RMMessageContext
createServiceRequestMessage(RMMessageContext rmMsgCtx)
throws Exception {
AddressingHeaders addrHeaders =
getAddressingHeaedersForServiceRequest(rmMsgCtx);
+
if (rmMsgCtx.getAction() != null)
addrHeaders.setAction(new Action(new URI(rmMsgCtx.getAction())));
rmMsgCtx.setAddressingHeaders(addrHeaders);
@@ -218,36 +228,12 @@
RMMessageContext rmMsgCtx) throws Exception {
AddressingHeaders csAddrHeaders = new AddressingHeaders();
csAddrHeaders.setTo(new To(rmMsgCtx.getTo()));
- if (rmMsgCtx.getSync()) {
- if (rmMsgCtx.getFrom() != null)
- csAddrHeaders.setFrom(new
EndpointReference(rmMsgCtx.getFrom()));
- else
- csAddrHeaders.setFrom(
- new
EndpointReference(Constants.WSA.NS_ADDRESSING_ANONYMOUS));
- if (rmMsgCtx.getFaultTo() != null)
- csAddrHeaders.setFrom(new
EndpointReference(rmMsgCtx.getFaultTo()));
- else
- csAddrHeaders.setFaultTo(
- new
EndpointReference(Constants.WSA.NS_ADDRESSING_ANONYMOUS));
- if (rmMsgCtx.getReplyTo() != null)
- csAddrHeaders.setFrom(new
EndpointReference(rmMsgCtx.getReplyTo()));
- else
- csAddrHeaders.setReplyTo(
- new
EndpointReference(Constants.WSA.NS_ADDRESSING_ANONYMOUS));
- } else {
- String sourceURL = rmMsgCtx.getSourceURL();
- if (rmMsgCtx.getFrom() != null)
- csAddrHeaders.setFrom(new
EndpointReference(rmMsgCtx.getFrom()));
- else
- csAddrHeaders.setFrom(new EndpointReference(sourceURL));
- if (rmMsgCtx.isHasResponse()) {
- if (rmMsgCtx.getReplyTo() != null)
- csAddrHeaders.setReplyTo(new
EndpointReference(rmMsgCtx.getReplyTo()));
- else
- csAddrHeaders.setReplyTo(new
EndpointReference(sourceURL));
- }
- if (rmMsgCtx.getFaultTo() != null)
- csAddrHeaders.setFaultTo(new
EndpointReference(rmMsgCtx.getFaultTo()));
+ if (rmMsgCtx.getSync()) {
+ setSyncAddressingHeaders(csAddrHeaders);
+ } else {
+ setAsyncAddressingHeaders(rmMsgCtx, csAddrHeaders);
+ if (rmMsgCtx.isHasResponse() && csAddrHeaders.getReplyTo() ==
null)
+ csAddrHeaders.setReplyTo(new
EndpointReference(rmMsgCtx.getSourceURL()));
}
return csAddrHeaders;
}