jaliya      2005/02/11 03:28:27

  Modified:    sandesha/src/org/apache/sandesha Constants.java
                        RMMessageContext.java
               sandesha/src/org/apache/sandesha/server
                        AcknowledgementProcessor.java FaultProcessor.java
                        RMMessageProcessorIdentifier.java
               sandesha/src/org/apache/sandesha/ws/rm/providers
                        RMProvider.java
  Log:
  Fixed some bugs in the code, by testing the inter-op with IBM end point
  
  Revision  Changes    Path
  1.22      +9 -0      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.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- Constants.java    24 Dec 2004 04:13:36 -0000      1.21
  +++ Constants.java    11 Feb 2005 11:28:26 -0000      1.22
  @@ -265,5 +265,14 @@
       public static final String DEFAULT_URI="uri:defaultWSRM";
       
       public static final int CLIENT_RESPONSE_CHECKING_INTERVAL=500;
  +
  +    public interface AddressingHeadersValidationErrors{
  +       public static final String NO_ADDRESSING_HEADERS="No Addressing 
Headers Available in this Message";
  +       public static final String NO_MESSAGE_ID="MessageID should be present 
in the message";
  +
  +    }
  +
  +
  +
   }
   
  
  
  
  1.20      +0 -7      
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.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- RMMessageContext.java     11 Jan 2005 13:49:34 -0000      1.19
  +++ RMMessageContext.java     11 Feb 2005 11:28:26 -0000      1.20
  @@ -157,13 +157,6 @@
           return rmHeaders;
       }
   
  -    /**
  -     * @param rmHeaders
  -     *            The rmHeaders to set.
  -     */
  -    public void setRmHeaders(RMHeaders rmHeaders) {
  -        this.rmHeaders = rmHeaders;
  -    }
   
       /**
        * @return Returns the sourceURL.
  
  
  
  1.15      +1 -1      
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.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- AcknowledgementProcessor.java     2 Feb 2005 13:41:55 -0000       1.14
  +++ AcknowledgementProcessor.java     11 Feb 2005 11:28:27 -0000      1.15
  @@ -33,7 +33,7 @@
   /**
    * @author
    */
  -public final class AcknowledgementProcessor implements 
org.apache.sandesha.server.IRMMessageProcessor {
  +public final class AcknowledgementProcessor implements IRMMessageProcessor {
       private IStorageManager storageManger = null;
   
       public AcknowledgementProcessor(IStorageManager storageManger) {
  
  
  
  1.5       +6 -0      
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.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- FaultProcessor.java       12 Jan 2005 12:19:31 -0000      1.4
  +++ FaultProcessor.java       11 Feb 2005 11:28:27 -0000      1.5
  @@ -19,11 +19,17 @@
    */
   public class FaultProcessor implements IRMMessageProcessor {
       private IStorageManager storageManager = null;
  +    private AxisFault axisFault=null;
   
       public FaultProcessor(IStorageManager storageManager) {
           this.storageManager = storageManager;
       }
   
  +    public FaultProcessor (IStorageManager storageManager, AxisFault 
axisFault){
  +        this.storageManager=storageManager;
  +        this.axisFault=axisFault;
  +    }
  +
       /*
        * (non-Javadoc)
        * 
  
  
  
  1.9       +7 -2      
ws-fx/sandesha/src/org/apache/sandesha/server/RMMessageProcessorIdentifier.java
  
  Index: RMMessageProcessorIdentifier.java
  ===================================================================
  RCS file: 
/home/cvs/ws-fx/sandesha/src/org/apache/sandesha/server/RMMessageProcessorIdentifier.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- RMMessageProcessorIdentifier.java 20 Oct 2004 10:36:25 -0000      1.8
  +++ RMMessageProcessorIdentifier.java 11 Feb 2005 11:28:27 -0000      1.9
  @@ -17,6 +17,7 @@
   package org.apache.sandesha.server;
   
   import org.apache.axis.message.addressing.AddressingHeaders;
  +import org.apache.axis.AxisFault;
   import org.apache.sandesha.Constants;
   import org.apache.sandesha.IStorageManager;
   import org.apache.sandesha.RMMessageContext;
  @@ -37,6 +38,11 @@
        */
       public static IRMMessageProcessor getMessageProcessor(
               RMMessageContext rmMessageContext, IStorageManager 
storageManager) {
  +       try{
  +           MessageValidator.validate(rmMessageContext);
  +       }catch(AxisFault af){
  +          return new FaultProcessor(storageManager,af);
  +       }
   
           AddressingHeaders addrHeaders = 
rmMessageContext.getAddressingHeaders();
           RMHeaders rmHeaders = rmMessageContext.getRMHeaders();
  @@ -52,8 +58,7 @@
               return new TerminateSequenceProcessor(storageManager);
           } else if ((rmHeaders.getSequenceAcknowledgement() != null)
                   || (rmHeaders.getSequence().getMessageNumber() != null)) {
  -
  -            return new CompositeProcessor(storageManager);
  +                return new CompositeProcessor(storageManager);
           } else
               return new FaultProcessor(storageManager);
       }
  
  
  
  1.27      +34 -66    
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.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- RMProvider.java   2 Feb 2005 13:41:55 -0000       1.26
  +++ RMProvider.java   11 Feb 2005 11:28:27 -0000      1.27
  @@ -16,23 +16,23 @@
    */
   package org.apache.sandesha.ws.rm.providers;
   
  -import org.apache.axis.MessageContext;
   import org.apache.axis.AxisFault;
  +import org.apache.axis.MessageContext;
  +import org.apache.axis.components.logger.LogFactory;
   import org.apache.axis.message.SOAPEnvelope;
  -import org.apache.axis.message.SOAPHeaderElement;
   import org.apache.axis.message.addressing.AddressingHeaders;
   import org.apache.axis.providers.java.RPCProvider;
  +import org.apache.commons.logging.Log;
   import org.apache.sandesha.IStorageManager;
   import org.apache.sandesha.RMException;
   import org.apache.sandesha.RMInitiator;
   import org.apache.sandesha.RMMessageContext;
   import org.apache.sandesha.server.IRMMessageProcessor;
  +import org.apache.sandesha.server.MessageValidator;
   import org.apache.sandesha.server.RMMessageProcessorIdentifier;
  +import org.apache.sandesha.server.dao.ServerQueueDAO;
   import org.apache.sandesha.ws.rm.RMHeaders;
   
  -import java.util.Vector;
  -import java.util.Iterator;
  -
   /**
    * class RMProvider
    *
  @@ -44,91 +44,59 @@
   public class RMProvider extends RPCProvider {
   
       private static boolean rmInvokerStarted = false;
  +    private static boolean senderStarted;
  +    private boolean client;
  +    private static final Log log = 
LogFactory.getLog(ServerQueueDAO.class.getName());
   
  -    private static boolean senderStarted = false;
  -
  -    private static boolean client = false;
  -
  -    /**
  -     * Method processMessage
  -     *
  -     * @param msgContext
  -     * @param reqEnv
  -     * @param resEnv
  -     * @param obj
  -     * @throws Exception
  -     */
   
  -    public void processMessage(MessageContext msgContext, SOAPEnvelope 
reqEnv,
  -            SOAPEnvelope resEnv, Object obj) throws Exception {
  +    public void processMessage(
  +            MessageContext msgContext, SOAPEnvelope reqEnv, SOAPEnvelope 
resEnv, Object obj)
  +            throws Exception {
   
  -        /** 
********************************************************************* */
  -        System.out.println("RMProvider GOT SOAP REQUEST.....\n");
  +        System.out.println("RMProvider Received a SOAP REQUEST.....\n");
  +        RMProvider.log.info("RMProvider Received a SOAP REQUEST");
   
  -        // System.out.println(reqEnv.toString());
  -        //Initiates the StorageManager
           IStorageManager storageManager = RMInitiator.init(client);
           storageManager.init();
   
  -        //Get the addressing headers.
  -        AddressingHeaders addressingHeaders = null;
  -        addressingHeaders = (AddressingHeaders) msgContext
  -                
.getProperty(org.apache.axis.message.addressing.Constants.ENV_ADDRESSING_REQUEST_HEADERS);
  -
  -        //Get the RM headers
  -        RMHeaders rmHeaders = new RMHeaders();
  -        rmHeaders.fromSOAPEnvelope(reqEnv);
  -
  -
  -        //Set the RMMessageContext
           RMMessageContext rmMessageContext = new RMMessageContext();
  +        rmMessageContext.setMsgContext(msgContext);
  +        try {
  +            MessageValidator.validate(rmMessageContext);
  +        } catch (AxisFault af) {
  +            //send the falut
  +        }
   
  -        if (rmHeaders.getSequence() != null) {
  -            
rmMessageContext.setSequenceID(rmHeaders.getSequence().getIdentifier().toString());
  +        RMHeaders rmHeaders = rmMessageContext.getRMHeaders();
  +        AddressingHeaders addrHeaders = 
rmMessageContext.getAddressingHeaders();
   
  -            if(rmHeaders.getSequence().getLastMessage()!=null){
  -               System.out.println("SETTING THE LAST MESSAGE");
  -               rmMessageContext.setLastMessage(true);
  -             }
  +        if (null != rmHeaders.getSequence()) {
  +            
rmMessageContext.setSequenceID(rmHeaders.getSequence().getIdentifier().toString());
  +            if (null != rmHeaders.getSequence().getLastMessage()) {
  +                rmMessageContext.setLastMessage(true);
  +            }
           }
   
  -        if (addressingHeaders.getMessageID() != null) {
  -            rmMessageContext.setMessageID(addressingHeaders.getMessageID()
  -                    .toString());
  -            //System.out.println("MSG ID :
  -            // "+addressingHeaders.getMessageID().toString());
  -        }
  -        //This should be there in the final version.
  -        else {
  -            System.out
  -                    
.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~111");
  -            throw new RMException("MessageID should be present in the 
message.");
  +        if (null != addrHeaders.getMessageID()) {
  +            
rmMessageContext.setMessageID(addrHeaders.getMessageID().toString());
           }
   
  -        rmMessageContext.setMsgContext(msgContext);
  -        rmMessageContext.setAddressingHeaders(addressingHeaders);
  -        rmMessageContext.setRMHeaders(rmHeaders);
  -
  -        new RMMessageProcessorIdentifier();
  -        IRMMessageProcessor rmMessageProcessor = RMMessageProcessorIdentifier
  -                .getMessageProcessor(rmMessageContext, storageManager);
  -        //Process message.
  +        IRMMessageProcessor rmMessageProcessor = 
RMMessageProcessorIdentifier.getMessageProcessor(
  +                rmMessageContext, storageManager);
           try {
               if (!rmMessageProcessor.processMessage(rmMessageContext)) {
                   msgContext.setResponseMessage(null);
               }
           } catch (RMException rmEx) {
               rmEx.printStackTrace();
  -            throw new AxisFault(rmEx.getStackTrace().toString());
  -            //TODO
  -            //throw a SOAPFault.
  +            RMProvider.log.error(rmEx);
           }
       }
   
  -   //This is used by the Client to set the
  -   //set the side that the RMProvider is used.
  +    //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;
  +        this.client = client;
       }
   
   }
  \ No newline at end of file
  
  
  

Reply via email to