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 2005/04/26 05:24:50 UTC
cvs commit: ws-fx/sandesha/src/org/apache/sandesha/util RMMessageCreator.java
jaliya 2005/04/25 20:24:50
Modified: sandesha/interop/org/apache/sandesha/samples/interop
SyncPingClient.java
sandesha/src/org/apache/sandesha Constants.java
EnvelopeCreator.java RMInitiator.java
RMMessageContext.java
sandesha/src/org/apache/sandesha/client
ClientPropertyValidator.java RMSender.java
sandesha/src/org/apache/sandesha/server/msgprocessors
FaultProcessor.java
sandesha/src/org/apache/sandesha/util RMMessageCreator.java
Log:
Added the capability of setting <was:To> from clients
Revision Changes Path
1.6 +3 -3 ws-fx/sandesha/interop/org/apache/sandesha/samples/interop/SyncPingClient.java
Index: SyncPingClient.java
===================================================================
RCS file: /home/cvs/ws-fx/sandesha/interop/org/apache/sandesha/samples/interop/SyncPingClient.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- SyncPingClient.java 19 Apr 2005 11:58:06 -0000 1.5
+++ SyncPingClient.java 26 Apr 2005 03:24:50 -0000 1.6
@@ -31,8 +31,8 @@
private static String defaultServerPort = "8070";
- //private static String targetURL = "http://127.0.0.1:" + defaultServerPort + "/axis/services/RMInteropService?wsdl";
- private static String targetURL ="http://soap.systinet.net:6060/wsrm/round1/ping";
+ private static String targetURL = "http://127.0.0.1:" + defaultServerPort + "/axis/services/RMInteropService?wsdl";
+
public static void main(String[] args) {
System.out.println("Client started...... Synchronous ");
try {
@@ -51,7 +51,7 @@
//http://schemas.xmlsoap.org/ws/2003/03/addressing/role/anonymous
call.setTargetEndpointAddress(targetURL);
- call.setOperationName(new QName("urn:wsrm:Ping", "PingOneWay"));
+ call.setOperationName(new QName("urn:wsrm:Ping", "Ping"));
call.setTransport(new RMTransport(targetURL, ""));
call.addParameter("arg1", XMLType.XSD_STRING, ParameterMode.IN);
1.41 +1 -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.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- Constants.java 12 Apr 2005 11:33:54 -0000 1.40
+++ Constants.java 26 Apr 2005 03:24:50 -0000 1.41
@@ -188,7 +188,7 @@
public static final String SYNC = "sync";
public static final String ACTION = "action";
public static final String ACKS_TO="acksTo";
-
+ public static final String TO="To";
public static final String REQUEST_HANDLER = "requestHandler";
public static final String RESPONSE_HANDLER = "responseHandler";
1.29 +1 -1 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.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- EnvelopeCreator.java 12 Apr 2005 02:15:32 -0000 1.28
+++ EnvelopeCreator.java 26 Apr 2005 03:24:50 -0000 1.29
@@ -131,7 +131,7 @@
outGoingAddressingHaders.setFrom(addressingHeaders.getFrom());
outGoingAddressingHaders.setTo(addressingHeaders.getTo());
if (message.getSync()) {
- outGoingAddressingHaders.setReplyTo(new ReplyTo(new Address(org.apache.axis.message.addressing.Constants.NS_URI_ADDRESSING_DEFAULT)));
+ outGoingAddressingHaders.setReplyTo(new ReplyTo(new Address(Constants.WSA.NS_ADDRESSING_ANONYMOUS)));
} else {
if (addressingHeaders.getReplyTo() != null)
outGoingAddressingHaders.setReplyTo(addressingHeaders
1.13 +0 -3 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.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- RMInitiator.java 12 Apr 2005 02:15:32 -0000 1.12
+++ RMInitiator.java 26 Apr 2005 03:24:50 -0000 1.13
@@ -131,9 +131,6 @@
try {
System.out.println(Constants.InfomationMessage.CLIENT_LISTENER_STARTED);
sas = new SimpleAxisServer();
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- dbf.setNamespaceAware(true);
- DocumentBuilder db = dbf.newDocumentBuilder();
SimpleProvider sp = new SimpleProvider();
sas.setMyConfig(sp);
1.26 +29 -69 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.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- RMMessageContext.java 12 Apr 2005 02:15:32 -0000 1.25
+++ RMMessageContext.java 26 Apr 2005 03:24:50 -0000 1.26
@@ -31,36 +31,38 @@
public class RMMessageContext {
private MessageContext msgContext;
-
private String sequenceID;
-
private String messageID;
-
private AddressingHeaders addressingHeaders;
-
private RMHeaders rmHeaders;
-
private String outGoingAddress;
-
private int messageType;
-
private long reTransmissionCount = 0;
-
private long lastPrecessedTime = 0;
-
private long lastSentTime = 0;
-
private boolean sync = false;
-
private boolean hasResponse = false;
-
private boolean lastMessage = false;
-
private long msgNumber = 0;
-
private String sourceURL = null;
-
private String action = null;
+ private String from = null;
+ private String replyTo = null;
+ private boolean responseReceived = false;
+ private boolean ackReceived = false;
+
+
+ private String acksTo = null;
+ private String to = null;
+ private static final Log log = LogFactory.getLog(RMMessageContext.class.getName());
+
+ public String getTo() {
+ return to;
+ }
+
+ public void setTo(String to) {
+ this.to = to;
+ }
public String getAcksTo() {
return acksTo;
@@ -70,18 +72,6 @@
this.acksTo = acksTo;
}
- private String from = null;
-
- private String replyTo = null;
-
- private boolean responseReceived = false;
-
- private boolean ackReceived = false;
-
- private String acksTo=null;
-
- private static final Log log = LogFactory.getLog(RMMessageContext.class.getName());
-
/**
* @return Returns the responseReceived.
*/
@@ -345,9 +335,11 @@
rmMsgContext.setOutGoingAddress(this.outGoingAddress);
if (msgContext != null)
rmMsgContext.setMsgContext(this.msgContext);
- if(acksTo!=null){
+ if (acksTo != null)
rmMsgContext.setAcksTo(this.acksTo);
- }
+ if (to != null)
+ rmMsgContext.setTo(this.to);
+
rmMsgContext.setReTransmissionCount(this.reTransmissionCount);
rmMsgContext.setLastPrecessedTime(this.lastPrecessedTime);
rmMsgContext.setLastMessage(this.isLastMessage());
@@ -388,57 +380,27 @@
* @param msgContext1
* @param msgContext2
*/
- public static void copyMessageContext(MessageContext msgContext1,
- MessageContext msgContext2) {
+ public static void copyMessageContext(MessageContext msgContext1, MessageContext msgContext2) {
try {
if (msgContext1.getClassLoader() != null)
msgContext2.setClassLoader(msgContext1.getClassLoader());
- //if (msgContext1.getCurrentMessage() != null)
- // msgContext2.setCurrentMessage(msgContext1.getCurrentMessage());
-
if (msgContext1.getEncodingStyle() != null)
msgContext2.setEncodingStyle(msgContext1.getEncodingStyle());
- //if(msgContext1.isHighFidelity()!=null)
- msgContext2.setHighFidelity(msgContext1.isHighFidelity());
-
- //if(msgContext1.getMaintainSession()!=null)
- msgContext2.setMaintainSession(msgContext1.getMaintainSession());
-
- // if (msgContext1.getMessage() != null)
- // msgContext2.setMessage(msgContext1.getMessage());
-
- // if (msgContext1.getOperation() != null)
- // msgContext2.setOperation(msgContext1.getOperation());
-
if (msgContext1.getPassword() != null)
msgContext2.setPassword(msgContext1.getPassword());
- //if(msgContext1.getPastPivot()!=null)
- msgContext2.setPastPivot(msgContext1.getPastPivot());
-
- // if (msgContext1.getRequestMessage() != null)
- // msgContext2.setRequestMessage(msgContext1.getRequestMessage());
-
- // if (msgContext1.getResponseMessage() != null)
- // msgContext2
- // .setResponseMessage(msgContext1.getResponseMessage());
-
if (msgContext1.getRoles() != null)
msgContext2.setRoles(msgContext1.getRoles());
if (msgContext1.getSchemaVersion() != null)
msgContext2.setSchemaVersion(msgContext1.getSchemaVersion());
- // if (msgContext1.getService() != null)
- // msgContext2.setService(msgContext1.getService());
-
if (msgContext1.getSession() != null)
msgContext2.setSession(msgContext1.getSession());
-
if (msgContext1.getSession() != null)
msgContext2.setSession(msgContext1.getSession());
@@ -451,31 +413,29 @@
if (msgContext1.getTargetService() != null)
msgContext2.setTargetService(msgContext1.getTargetService());
- //if(msgContext1.getTimeout()!=null)
- msgContext2.setTimeout(msgContext1.getTimeout());
-
if (msgContext1.getTransportName() != null)
msgContext2.setTransportName(msgContext1.getTransportName());
if (msgContext1.getTypeMappingRegistry() != null)
- msgContext2.setTypeMappingRegistry(msgContext1
- .getTypeMappingRegistry());
+ msgContext2.setTypeMappingRegistry(msgContext1.getTypeMappingRegistry());
if (msgContext1.getUsername() != null)
msgContext2.setUsername(msgContext1.getUsername());
- //if(msgContext1.useSOAPAction()!=null)
- msgContext2.setUseSOAPAction(msgContext1.useSOAPAction());
-
if (msgContext1.getAllPropertyNames() != null) {
Iterator ite = msgContext1.getAllPropertyNames();
-
while (ite.hasNext()) {
String str = (String) ite.next();
msgContext2.setProperty(str, msgContext1.getProperty(str));
}
}
+ msgContext2.setTimeout(msgContext1.getTimeout());
+ msgContext2.setUseSOAPAction(msgContext1.useSOAPAction());
+ msgContext2.setPastPivot(msgContext1.getPastPivot());
+ msgContext2.setHighFidelity(msgContext1.isHighFidelity());
+ msgContext2.setMaintainSession(msgContext1.getMaintainSession());
+
} catch (AxisFault e) {
// TODO Auto-generated catch block
log.error(e);
1.16 +17 -9 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.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- ClientPropertyValidator.java 11 Apr 2005 02:58:55 -0000 1.15
+++ ClientPropertyValidator.java 26 Apr 2005 03:24:50 -0000 1.16
@@ -43,7 +43,8 @@
String sourceURL = null;
String from = getFrom(call);
String replyTo = getReplyTo(call);
- String acksTo=getAcksTo(call);
+ String acksTo = getAcksTo(call);
+ String to = getTo(call);
try {
if (from == null)
@@ -69,6 +70,7 @@
rmMessageContext.setFrom(from);
rmMessageContext.setAction(action);
rmMessageContext.setAcksTo(acksTo);
+ rmMessageContext.setTo(to);
return rmMessageContext;
} else
@@ -76,6 +78,15 @@
}
+ private static String getTo(Call call) {
+ String to = (String) call.getProperty(Constants.ClientProperties.TO);
+ if (to != null)
+ return to;
+ else
+ return null;
+ }
+
+
/**
* This will decide whether we have an IN-OUT style service request
* or IN-ONLY service request by checking the value of the QName
@@ -100,15 +111,15 @@
return action;
else
return null;
- }
+ }
- private static String getAcksTo(Call call) {
+ private static String getAcksTo(Call call) {
String acksTo = (String) call.getProperty(Constants.ClientProperties.ACKS_TO);
if (acksTo != null)
return acksTo;
else
return null;
- }
+ }
private static boolean getSync(Call call) {
Boolean synchronous = (Boolean) call.getProperty(Constants.ClientProperties.SYNC);
@@ -166,15 +177,12 @@
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);
-
}
}
\ No newline at end of file
1.35 +1 -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.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- RMSender.java 17 Mar 2005 05:28:05 -0000 1.34
+++ RMSender.java 26 Apr 2005 03:24:50 -0000 1.35
@@ -38,7 +38,7 @@
//Initialize the storage manager. We are in the client side So initialize the client Storage Manager.
storageManager = new ClientStorageManager();
- // RMInitiator.initClient(requestMesssageContext.getSync());
+
try {
RMMessageContext requestMesssageContext = RMMessageCreator.createServiceRequestMsg(msgContext);
String sequenceID = requestMesssageContext.getSequenceID();
1.8 +3 -2 ws-fx/sandesha/src/org/apache/sandesha/server/msgprocessors/FaultProcessor.java
Index: FaultProcessor.java
===================================================================
RCS file: /home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/msgprocessors/FaultProcessor.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- FaultProcessor.java 12 Apr 2005 02:15:33 -0000 1.7
+++ FaultProcessor.java 26 Apr 2005 03:24:50 -0000 1.8
@@ -15,6 +15,7 @@
import org.apache.commons.logging.Log;
import org.apache.sandesha.IStorageManager;
import org.apache.sandesha.RMMessageContext;
+import org.apache.sandesha.Constants;
import org.apache.sandesha.storage.dao.SandeshaQueueDAO;
import org.apache.sandesha.ws.rm.RMHeaders;
@@ -99,7 +100,7 @@
return false;
}
} else if (addrHeaders.getReplyTo() != null) {
- if (addrHeaders.getReplyTo().getAddress().toString().equals(org.apache.axis.message.addressing.Constants.NS_URI_ADDRESSING_DEFAULT)) {
+ if (addrHeaders.getReplyTo().getAddress().toString().equals(Constants.WSA.NS_ADDRESSING_ANONYMOUS)) {
msgContext.setResponseMessage(new Message(soapFault));
return true;
} else {
@@ -107,7 +108,7 @@
return false;
}
} else if (addrHeaders.getFrom() != null) {
- if (addrHeaders.getFrom().getAddress().toString().equals(org.apache.axis.message.addressing.Constants.NS_URI_ADDRESSING_DEFAULT)) {
+ if (addrHeaders.getFrom().getAddress().toString().equals(Constants.WSA.NS_ADDRESSING_ANONYMOUS)) {
msgContext.setResponseMessage(new Message(soapFault));
return true;
} else {
1.9 +12 -13 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.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- RMMessageCreator.java 12 Apr 2005 02:15:33 -0000 1.8
+++ RMMessageCreator.java 26 Apr 2005 03:24:50 -0000 1.9
@@ -24,12 +24,7 @@
import org.apache.axis.components.uuid.UUIDGen;
import org.apache.axis.components.uuid.UUIDGenFactory;
import org.apache.axis.message.SOAPEnvelope;
-import org.apache.axis.message.addressing.Action;
-import org.apache.axis.message.addressing.Address;
-import org.apache.axis.message.addressing.AddressingHeaders;
-import org.apache.axis.message.addressing.From;
-import org.apache.axis.message.addressing.ReplyTo;
-import org.apache.axis.message.addressing.To;
+import org.apache.axis.message.addressing.*;
import org.apache.axis.types.URI;
import org.apache.sandesha.Constants;
import org.apache.sandesha.EnvelopeCreator;
@@ -107,10 +102,9 @@
RMMessageContext requestMesssageContext = new RMMessageContext();
//Get the message information from the client.
Call call = (Call) newMsgContext.getProperty(MessageContext.CALL);
- //If the property specified by the client is not valid
- //an AxisFault will be sent at this point.
+ //If the property specified by the client is not valid an AxisFault will be sent at this point.
requestMesssageContext = ClientPropertyValidator.validate(call);
- requestMesssageContext.setOutGoingAddress((String) newMsgContext.getProperty(MessageContext.TRANS_URL));
+ requestMesssageContext.setOutGoingAddress((String) msgCtx.getProperty(MessageContext.TRANS_URL));
requestMesssageContext.setMsgContext(newMsgContext);
// long nextMsgNumber = reqRMMsgContext.getMsgNumber();
@@ -118,7 +112,6 @@
UUIDGen uuidGen = UUIDGenFactory.getUUIDGen();
requestMesssageContext.setAddressingHeaders(addrHeaders);
- requestMesssageContext.setOutGoingAddress(addrHeaders.getTo().toString());
requestMesssageContext.setMessageType(Constants.MSG_TYPE_SERVICE_REQUEST);
requestMesssageContext.setMessageID(Constants.UUID + uuidGen.nextUUID());
return requestMesssageContext;
@@ -160,7 +153,7 @@
}
} else {
- from = new From(new Address(org.apache.axis.message.addressing.Constants.NS_URI_ADDRESSING_DEFAULT));
+ from = new From(new Address(Constants.WSA.NS_ADDRESSING_ANONYMOUS));
addrHeaders.setFrom(from);
if (rmMsgContext.isHasResponse()) {
replyTo = new ReplyTo(new Address(replyToURL));
@@ -169,8 +162,14 @@
}
//Set the target endpoint URL
- To to = new To(new Address(rmMsgContext.getOutGoingAddress()));
- addrHeaders.setTo(to);
+ if (rmMsgContext.getTo() != null) {
+ To to = new To(new Address(rmMsgContext.getTo()));
+ addrHeaders.setTo(to);
+ } else {
+ To to = new To(new Address(rmMsgContext.getOutGoingAddress()));
+ addrHeaders.setTo(to);
+ }
+
return addrHeaders;
}