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;
       }