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/02/14 13:08:55 UTC

cvs commit: ws-fx/sandesha/src/org/apache/sandesha/server MessageValidator.java FaultProcessor.java

jaliya      2005/02/14 04:08:55

  Modified:    sandesha/src/org/apache/sandesha/server FaultProcessor.java
  Added:       sandesha/src/org/apache/sandesha/server
                        MessageValidator.java
  Log:
  MessageValidator and the FaultProcessor was modified
  
  Revision  Changes    Path
  1.6       +21 -1     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.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- FaultProcessor.java	11 Feb 2005 11:28:27 -0000	1.5
  +++ FaultProcessor.java	14 Feb 2005 12:08:54 -0000	1.6
  @@ -10,6 +10,7 @@
   import org.apache.sandesha.RMException;
   import org.apache.sandesha.RMMessageContext;
   import org.apache.axis.AxisFault;
  +import org.apache.axis.message.SOAPFault;
   
   /**
    * @author JEkanayake
  @@ -30,13 +31,32 @@
           this.axisFault=axisFault;
       }
   
  +    public IStorageManager getStorageManager() {
  +        return storageManager;
  +    }
  +
  +    public void setStorageManager(IStorageManager storageManager) {
  +        this.storageManager = storageManager;
  +    }
  +
       /*
        * (non-Javadoc)
        * 
        * @see org.apache.sandesha.server.IRMMessageProcessor#processMessage(org.apache.sandesha.RMMessageContext)
        */
          public boolean processMessage(RMMessageContext rmMessageContext) throws RMException {
  -        // TODO Auto-generated method stub
  +
  +        //Check the fault type.
  +        //Create the fault envelop
  +        //identify the target endpoin i.e whether async or sync
  +        //if sync, rmMessageContext.getmsgctx.setresopnes(new msg(fault));
  +        //return true
  +        //else inset to the storage
  +        //return false
  +
  +       SOAPFault soapFault= new SOAPFault(this.axisFault);
  +      
  +
           //If we have an actual fault then process and return
           System.out.println("ERROR: FAULT PROCESSOR ....");
           return false;
  
  
  
  1.1                  ws-fx/sandesha/src/org/apache/sandesha/server/MessageValidator.java
  
  Index: MessageValidator.java
  ===================================================================
  package org.apache.sandesha.server;
  
  import org.apache.axis.message.addressing.AddressingHeaders;
  import org.apache.axis.MessageContext;
  import org.apache.axis.AxisFault;
  import org.apache.sandesha.ws.rm.RMHeaders;
  import org.apache.sandesha.Constants;
  import org.apache.sandesha.RMMessageContext;
  
  import javax.xml.soap.SOAPException;
  import javax.xml.namespace.QName;
  
  
  public final class MessageValidator {
  
  
      public static void validate(final RMMessageContext rmMsgContext) throws AxisFault {
  
          MessageContext msgContext = rmMsgContext.getMsgContext();
          try {
              AddressingHeaders addrHeaders = (AddressingHeaders) msgContext.getProperty(org.apache.axis.message.addressing.Constants.ENV_ADDRESSING_REQUEST_HEADERS);
              validateAddrHeaders(addrHeaders);
              rmMsgContext.setAddressingHeaders(addrHeaders);
  
              RMHeaders rmHeaders = new RMHeaders();
              rmHeaders.fromSOAPEnvelope(msgContext.getRequestMessage().getSOAPEnvelope());
              validateRMHeaders(rmHeaders);
              rmMsgContext.setRMHeaders(rmHeaders);
          } catch (SOAPException e) {
              e.printStackTrace();
          }
      }
  
      private static void validateRMHeaders(RMHeaders rmHeaders) throws AxisFault {
          //Check for Fault scenarios
      }
  
      private static void validateAddrHeaders(AddressingHeaders addrHeaders) throws AxisFault {
          if (addrHeaders == null){
             throw new AxisFault(new QName(Constants.InvalidMessageErrors.IN_CORRECT_MESSAGE),Constants.AddressingHeadersValidationErrors.NO_ADDRESSING_HEADERS, null,null);
          }
  
          if (addrHeaders.getMessageID() == null)
              throw new AxisFault(Constants.AddressingHeadersValidationErrors.NO_MESSAGE_ID);
         }
  
   }