You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by de...@apache.org on 2005/04/18 11:52:23 UTC

svn commit: r161750 - in webservices/axis/trunk/java/modules: core/src/org/apache/axis/deployment/ core/src/org/apache/axis/description/ core/src/org/apache/axis/engine/ core/src/org/apache/axis/phaseresolver/ core/src/org/apache/axis/util/ core/test/org/apache/axis/deployment/ core/test/org/apache/axis/description/ samples/test/org/apache/axis/engine/

Author: deepal
Date: Mon Apr 18 02:52:19 2005
New Revision: 161750

URL: http://svn.apache.org/viewcvs?view=rev&rev=161750
Log:
Made changes to deployment to match with refactoring.
(NB: all the deployment test cases will be faild and I will be fix them soon :) )

Modified:
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentEngine.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentParser.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/AxisModule.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/AxisService.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/DescriptionConstants.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/FlowInclude.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/FlowIncludeImpl.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/PhasesIncludeImpl.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/AxisEngine.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/EngineConfiguration.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/phaseresolver/PhaseHolder.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/phaseresolver/PhaseResolver.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/util/Utils.java
    webservices/axis/trunk/java/modules/core/test/org/apache/axis/deployment/BuildERWithDeploymentTest.java
    webservices/axis/trunk/java/modules/core/test/org/apache/axis/description/RegistryTest.java
    webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/MessageWithServerTest.java

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentEngine.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentEngine.java?view=diff&r1=161749&r2=161750
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentEngine.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentEngine.java Mon Apr 18 02:52:19 2005
@@ -30,6 +30,7 @@
 import javax.xml.stream.XMLStreamException;
 
 import org.apache.axis.context.EngineContext;
+import org.apache.axis.context.ServiceContext;
 import org.apache.axis.deployment.listener.RepositoryListenerImpl;
 import org.apache.axis.deployment.repository.utill.HDFileItem;
 import org.apache.axis.deployment.repository.utill.UnZipJAR;
@@ -94,6 +95,8 @@
     // private static ServerMetaData server = new ServerMetaData();
     private AxisGlobal server;
 
+    private EngineContext engineContext;
+
 
     private HDFileItem currentFileItem;
 
@@ -245,7 +248,7 @@
             }
         }
         PhaseResolver phaseResolver = new PhaseResolver(engineconfig);
-        phaseResolver.buildGlobalChains(server);
+        phaseResolver.buildGlobalChains(engineContext);
         phaseResolver.buildTranspotsChains();
 
     }
@@ -269,6 +272,7 @@
 
         server = new AxisGlobal();
         newEngineRegisty = new EngineConfigurationImpl(server);
+        engineContext = new EngineContext(newEngineRegisty);
 
         return newEngineRegisty;
     }
@@ -276,9 +280,10 @@
 
     private void addnewService(AxisService serviceMetaData) throws AxisFault, PhaseException {
         currentFileItem.setClassLoader();
-        serviceMetaData = getRunnableService(serviceMetaData);
+        ServiceContext serviceContext = getRunnableService(serviceMetaData);
+        engineContext.addService(serviceContext);
         engineconfig.addService(serviceMetaData);
-        Parameter para = serviceMetaData.getParameter("OUTSERVICE");
+        /*Parameter para = serviceMetaData.getParameter("OUTSERVICE");
         if (para != null) {
             String value = (String) para.getValue();
             if ("true".equals(value)) {
@@ -293,7 +298,7 @@
                 }
 
             }
-        }
+        }*/
     }
 
     /**
@@ -305,7 +310,7 @@
      * @throws AxisFault
      * @throws PhaseException
      */
-    private AxisService getRunnableService(AxisService serviceMetaData) throws AxisFault, PhaseException {
+    private ServiceContext getRunnableService(AxisService serviceMetaData) throws AxisFault, PhaseException {
         loadMessageReceiver(serviceMetaData);
         Flow inflow = serviceMetaData.getInFlow();
         if (inflow != null) {
@@ -317,14 +322,15 @@
             addFlowHandlers(outFlow);
         }
 
-        Flow faultFlow = serviceMetaData.getFaultFlow();
+        Flow faultFlow = serviceMetaData.getFaultInFlow();
         if (faultFlow != null) {
             addFlowHandlers(faultFlow);
         }
-        PhaseResolver reolve = new PhaseResolver(engineconfig, serviceMetaData);
+        ServiceContext serviceContext = new ServiceContext(serviceMetaData);
+        PhaseResolver reolve = new PhaseResolver(engineconfig, serviceMetaData,serviceContext);
         reolve.buildchains();
         serviceMetaData.setClassLoader(currentFileItem.getClassLoader());
-        return serviceMetaData;
+        return serviceContext;
     }
 
 
@@ -390,7 +396,7 @@
         Flow outFlow = moduelmetada.getOutFlow();
         addFlowHandlers(outFlow);
 
-        Flow faultFlow = moduelmetada.getFaultFlow();
+        Flow faultFlow = moduelmetada.getFaultInFlow();
         addFlowHandlers(faultFlow);
 
         engineconfig.addMdoule(moduelmetada);
@@ -513,7 +519,7 @@
         return fileName;
     }
 
-    public AxisService deployService(ClassLoader classLoder, InputStream serviceStream, String servieName) throws DeploymentException {
+   /* public AxisService deployService(ClassLoader classLoder, InputStream serviceStream, String servieName) throws DeploymentException {
         AxisService service = null;
         try {
             currentFileItem = new HDFileItem(SERVICE, servieName);
@@ -531,6 +537,6 @@
         }
         return service;
     }
-
+*/
 
 }

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentParser.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentParser.java?view=diff&r1=161749&r2=161750
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentParser.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentParser.java Mon Apr 18 02:52:19 2005
@@ -363,7 +363,7 @@
                         axisService.setOutFlow(outFlow);
                     } else if (IN_FAILTFLOW.equals(ST)) {
                         Flow faultFlow = processFaultFlow();
-                        axisService.setFaultFlow(faultFlow);
+                        axisService.setFaultInFlow(faultFlow);
                     } else if (MODULEST.equals(ST)) {
                         attribCount = pullparser.getAttributeCount();
                         if (attribCount > 0) {
@@ -715,7 +715,7 @@
                         module.addParameter(parameter);
                     } else if (IN_FAILTFLOW.equals(ST)) {
                         Flow faultFlow = processFaultFlow();
-                        module.setFaultFlow(faultFlow);
+                        module.setFaultInFlow(faultFlow);
                     } else if (INFLOWST.equals(ST)) {
                         Flow inFlow = processInFlow();
                         module.setInFlow(inFlow);

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/AxisModule.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/AxisModule.java?view=diff&r1=161749&r2=161750
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/AxisModule.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/AxisModule.java Mon Apr 18 02:52:19 2005
@@ -64,8 +64,12 @@
     /**
      * @return
      */
-    public Flow getFaultFlow() {
-        return flowInclude.getFaultFlow();
+    public Flow getFaultInFlow() {
+        return flowInclude.getFaultInFlow();
+    }
+
+    public Flow getFaultOutFlow() {
+        return flowInclude.getFaultOutFlow();
     }
 
     /**
@@ -85,8 +89,15 @@
     /**
      * @param faultFlow
      */
-    public void setFaultFlow(Flow faultFlow) {
-        flowInclude.setFaultFlow(faultFlow);
+    public void setFaultInFlow(Flow faultFlow) {
+        flowInclude.setFaultInFlow(faultFlow);
+    }
+
+     /**
+     * @param faultFlow
+     */
+    public void setFaultOutFlow(Flow faultFlow) {
+        flowInclude.setFaultOutFlow(faultFlow);
     }
 
     /**

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/AxisService.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/AxisService.java?view=diff&r1=161749&r2=161750
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/AxisService.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/AxisService.java Mon Apr 18 02:52:19 2005
@@ -342,33 +342,45 @@
 
     /*
      * (non-Javadoc)
-     * @see org.apache.axis.description.FlowInclude#getFaultFlow()
+     * @see org.apache.axis.description.FlowInclude#getFaultInFlow()
      */
 
     /**
-     * Method getFaultFlow
+     * Method getFaultInFlow
      *
      * @return
      */
-    public Flow getFaultFlow() {
-        return (Flow) this.getComponentProperty(FAULTFLOW_KEY);
+    public Flow getFaultInFlow() {
+        return (Flow) this.getComponentProperty(IN_FAULTFLOW_KEY);
     }
 
     /*
      * (non-Javadoc)
-     * @see org.apache.axis.description.FlowInclude#setFaultFlow(org.apache.axis.description.Flow)
+     * @see org.apache.axis.description.FlowInclude#setFaultInFlow(org.apache.axis.description.Flow)
      */
 
     /**
-     * Method setFaultFlow
+     * Method setFaultInFlow
      *
      * @param faultFlow
      */
-    public void setFaultFlow(Flow faultFlow) {
+    public void setFaultInFlow(Flow faultFlow) {
         if (faultFlow != null) {
-            this.setComponentProperty(FAULTFLOW_KEY, faultFlow);
+            this.setComponentProperty(IN_FAULTFLOW_KEY, faultFlow);
         }
     }
+
+    public Flow getFaultOutFlow() {
+       return (Flow) this.getComponentProperty(OUT_FAULTFLOW_KEY); 
+    }
+
+    public void setFaultOutFlow(Flow faultFlow) {
+         if (faultFlow != null) {
+            this.setComponentProperty(OUT_FAULTFLOW_KEY, faultFlow);
+        }
+    }
+
+
 
 //    /**
 //     * Method setServiceClass

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/DescriptionConstants.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/DescriptionConstants.java?view=diff&r1=161749&r2=161750
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/DescriptionConstants.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/DescriptionConstants.java Mon Apr 18 02:52:19 2005
@@ -84,7 +84,8 @@
     /**
      * Field FAULTFLOW_KEY
      */
-    public static final String FAULTFLOW_KEY = "FAULTFLOW_KEY";
+    public static final String IN_FAULTFLOW_KEY = "IN_FAULTFLOW_KEY";
+    public static final String OUT_FAULTFLOW_KEY = "OUT_FAULTFLOW_KEY";
 
     /**
      * Field PHASES_KEY

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/FlowInclude.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/FlowInclude.java?view=diff&r1=161749&r2=161750
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/FlowInclude.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/FlowInclude.java Mon Apr 18 02:52:19 2005
@@ -49,16 +49,25 @@
     public void setOutFlow(Flow outFlow);
 
     /**
-     * Method getFaultFlow
+     * Method getFaultInFlow
      *
      * @return
      */
-    public Flow getFaultFlow();
+    public Flow getFaultInFlow();
 
     /**
-     * Method setFaultFlow
+     * Method setFaultInFlow
      *
      * @param faultFlow
      */
-    public void setFaultFlow(Flow faultFlow);
+    public void setFaultInFlow(Flow faultFlow);
+
+    public Flow getFaultOutFlow();
+
+    /**
+     * Method setFaultInFlow
+     *
+     * @param faultFlow
+     */
+    public void setFaultOutFlow(Flow faultFlow);
 }

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/FlowIncludeImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/FlowIncludeImpl.java?view=diff&r1=161749&r2=161750
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/FlowIncludeImpl.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/FlowIncludeImpl.java Mon Apr 18 02:52:19 2005
@@ -32,15 +32,17 @@
     /**
      * Field fault
      */
-    private Flow fault;
+    private Flow In_fault;
+
+    private Flow Out_fault;
 
     /**
-     * Method getFaultFlow
+     * Method getFaultInFlow
      *
      * @return
      */
-    public Flow getFaultFlow() {
-        return fault;
+    public Flow getFaultInFlow() {
+        return In_fault;
     }
 
     /**
@@ -62,12 +64,20 @@
     }
 
     /**
-     * Method setFaultFlow
+     * Method setFaultInFlow
      *
      * @param flow
      */
-    public void setFaultFlow(Flow flow) {
-        this.fault = flow;
+    public void setFaultInFlow(Flow flow) {
+        this.In_fault = flow;
+    }
+
+    public Flow getFaultOutFlow() {
+        return this.Out_fault;  //To change body of implemented methods use File | Settings | File Templates.
+    }
+
+    public void setFaultOutFlow(Flow faultFlow) {
+        this.Out_fault = faultFlow;
     }
 
     /**

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/PhasesIncludeImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/PhasesIncludeImpl.java?view=diff&r1=161749&r2=161750
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/PhasesIncludeImpl.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/description/PhasesIncludeImpl.java Mon Apr 18 02:52:19 2005
@@ -51,7 +51,7 @@
             return inflow;
         } else if (flow == EngineConfiguration.OUTFLOW) {
             return outflow;
-        } else if (flow == EngineConfiguration.FAULTFLOW) {
+        } else if (flow == EngineConfiguration.FAULT_IN_FLOW) {
             return faultflow;
         } else {
             throw new AxisFault("Unknown type flow ");
@@ -70,7 +70,7 @@
             inflow = phases;
         } else if (flow == EngineConfiguration.OUTFLOW) {
             outflow = phases;
-        } else if (flow == EngineConfiguration.FAULTFLOW) {
+        } else if (flow == EngineConfiguration.FAULT_IN_FLOW) {
             faultflow = phases;
         } else {
             throw new AxisFault("Unknown type flow ");

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/AxisEngine.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/AxisEngine.java?view=diff&r1=161749&r2=161750
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/AxisEngine.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/AxisEngine.java Mon Apr 18 02:52:19 2005
@@ -199,7 +199,7 @@
             faultContext.setEnvelope(envelope);
             
             ExecutionChain chain = faultContext.getExecutionChain();
-            chain.addPhases(context.getServiceContext().getPhases(EngineConfiguration.FAULTFLOW));
+            chain.addPhases(context.getServiceContext().getPhases(EngineConfiguration.FAULT_IN_FLOW));
             chain.invoke(faultContext);
             // send the error
             TransportSender sender = context.getTransportOut().getSender();

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/EngineConfiguration.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/EngineConfiguration.java?view=diff&r1=161749&r2=161750
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/EngineConfiguration.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/EngineConfiguration.java Mon Apr 18 02:52:19 2005
@@ -45,9 +45,11 @@
     public static final int OUTFLOW = 10004;
 
     /**
-     * Field FAULTFLOW
+     * Field FAULT_IN_FLOW
      */
-    public static final int FAULTFLOW = 10005;
+    public static final int FAULT_IN_FLOW = 10005;
+
+    public static final int FAULT_OUT_FLOW = 10006;
 
     /**
      * Method getGlobal

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/phaseresolver/PhaseHolder.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/phaseresolver/PhaseHolder.java?view=diff&r1=161749&r2=161750
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/phaseresolver/PhaseHolder.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/phaseresolver/PhaseHolder.java Mon Apr 18 02:52:19 2005
@@ -17,14 +17,10 @@
 
 import java.util.ArrayList;
 
-import org.apache.axis.description.AxisGlobal;
-import org.apache.axis.description.AxisService;
-import org.apache.axis.description.HandlerMetadata;
-import org.apache.axis.description.PhasesInclude;
-import org.apache.axis.engine.AxisFault;
-import org.apache.axis.engine.EngineConfiguration;
-import org.apache.axis.engine.Handler;
-import org.apache.axis.engine.SimplePhase;
+import org.apache.axis.description.*;
+import org.apache.axis.engine.*;
+import org.apache.axis.context.ServiceContext;
+import org.apache.axis.context.EngineContext;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
@@ -52,6 +48,8 @@
      */
     private final AxisService service;
 
+    private ServiceContext serviceContext;
+
     private ArrayList inPhases;
     private ArrayList outPhases;
     private ArrayList faultInPhases;
@@ -65,12 +63,22 @@
      * @param registry
      * @param serviceIN
      */
-    public PhaseHolder(EngineConfiguration registry, AxisService serviceIN) {
+    public PhaseHolder(EngineConfiguration registry, AxisService serviceIN , ServiceContext context) {
         this.registry = registry;
         this.service = serviceIN;
+        this.serviceContext = context;
+        fillFlowPhases();
+    }
+
+    public PhaseHolder(EngineConfiguration registry) {
+        this.registry = registry;
+        this.service = null;
+        this.serviceContext = null;
         fillFlowPhases();
     }
 
+
+
     public void setFlowType(int flowType) {
         switch (flowType) {
             case PhaseMetadata.IN_FLOW:
@@ -83,9 +91,14 @@
                     phaseholder = outPhases;
                     break;
                 }
-            case PhaseMetadata.FAULT_FLOW:
+            case PhaseMetadata.FAULT_IN_FLOW:
+                {
+                    phaseholder = faultInPhases;
+                    break;
+                }
+            case PhaseMetadata.FAULT_OUT_FLOW:
                 {
-                    phaseholder = faultPhases;
+                    phaseholder = faultOutPhases;
                     break;
                 }
         }
@@ -110,11 +123,17 @@
             PhaseMetadata pm = new PhaseMetadata(name);
             outPhases.add(pm);
         }
-        tempPhases = registry.getFaultPhases();
+        tempPhases = registry.getInFaultPhases();
+        for (int i = 0; i < tempPhases.size(); i++) {
+            String name = (String) tempPhases.get(i);
+            PhaseMetadata pm = new PhaseMetadata(name);
+            faultInPhases.add(pm);
+        }
+        tempPhases = registry.getOutFaultPhases();
         for (int i = 0; i < tempPhases.size(); i++) {
             String name = (String) tempPhases.get(i);
             PhaseMetadata pm = new PhaseMetadata(name);
-            faultPhases.add(pm);
+            faultOutPhases.add(pm);
         }
     }
 
@@ -237,7 +256,8 @@
                             }
                             inChain.add(axisPhase);
                         }
-                        service.setPhases(inChain, EngineConfiguration.INFLOW);
+                        serviceContext.setPhases(inChain, EngineConfiguration.INFLOW);
+                       // service.setPhases(inChain, EngineConfiguration.INFLOW);
                         break;
                     }
                 case PhaseMetadata.OUT_FLOW:
@@ -253,12 +273,13 @@
                             }
                             outChain.add(axisPhase);
                         }
-                        service.setPhases(outChain, EngineConfiguration.OUTFLOW);
+                        //service.setPhases(outChain, EngineConfiguration.OUTFLOW);
+                        serviceContext.setPhases(outChain, EngineConfiguration.OUTFLOW);
                         break;
                     }
-                case PhaseMetadata.FAULT_FLOW:
+                case PhaseMetadata.FAULT_IN_FLOW:
                     {
-                        ArrayList faultChain = new ArrayList();
+                        ArrayList faultInChain = new ArrayList();
                         for (int i = 0; i < phaseholder.size(); i++) {
                             PhaseMetadata phase =
                                     (PhaseMetadata) phaseholder.get(i);
@@ -267,9 +288,27 @@
                             for (int j = 0; j < handlers.length; j++) {
                                 axisPhase.addHandler(handlers[j].getHandler());
                             }
-                            faultChain.add(axisPhase);
+                            faultInChain.add(axisPhase);
                         }
-                        service.setPhases(faultChain, EngineConfiguration.FAULTFLOW);
+                        serviceContext.setPhases(faultInChain, EngineConfiguration.FAULT_IN_FLOW);
+                       // service.setPhases(faultInChain, EngineConfiguration.FAULT_IN_FLOW);
+                        break;
+                    }
+                    case PhaseMetadata.FAULT_OUT_FLOW:
+                    {
+                        ArrayList faultOutChain = new ArrayList();
+                        for (int i = 0; i < phaseholder.size(); i++) {
+                            PhaseMetadata phase =
+                                    (PhaseMetadata) phaseholder.get(i);
+                            SimplePhase axisPhase = new SimplePhase(phase.getName());
+                            handlers = phase.getOrderedHandlers();
+                            for (int j = 0; j < handlers.length; j++) {
+                                axisPhase.addHandler(handlers[j].getHandler());
+                            }
+                            faultOutChain.add(axisPhase);
+                        }
+                        serviceContext.setPhases(faultOutChain, EngineConfiguration.FAULT_OUT_FLOW);
+                     //   service.setPhases(faultOutChain, EngineConfiguration.FAULT_IN_FLOW);
                         break;
                     }
             }
@@ -348,7 +387,37 @@
                         trnsport.setPhases(outChain, EngineConfiguration.OUTFLOW);
                         break;
                     }
-                case PhaseMetadata.FAULT_FLOW:
+                case PhaseMetadata.FAULT_IN_FLOW:
+                    {
+                        ArrayList faultChain = new ArrayList();
+                        for (int i = 0; i < phaseholder.size(); i++) {
+                            PhaseMetadata phase =
+                                    (PhaseMetadata) phaseholder.get(i);
+                            SimplePhase axisPhase = new SimplePhase(phase.getName());
+                            handlers = phase.getOrderedHandlers();
+                            for (int j = 0; j < handlers.length; j++) {
+                                try {
+                                    handlerClass = Class.forName(handlers[j].getClassName(), true,
+                                            Thread.currentThread().getContextClassLoader());
+                                    handler =
+                                            (Handler) handlerClass.newInstance();
+                                    handler.init(handlers[j]);
+                                    handlers[j].setHandler(handler);
+                                    axisPhase.addHandler(handlers[j].getHandler());
+                                } catch (ClassNotFoundException e) {
+                                    throw new PhaseException(e);
+                                } catch (IllegalAccessException e) {
+                                    throw new PhaseException(e);
+                                } catch (InstantiationException e) {
+                                    throw new PhaseException(e);
+                                }
+                            }
+                            faultChain.add(axisPhase);
+                        }
+                        trnsport.setPhases(faultChain, EngineConfiguration.FAULT_IN_FLOW);
+                        break;
+                    }
+                    case PhaseMetadata.FAULT_OUT_FLOW:
                     {
                         ArrayList faultChain = new ArrayList();
                         for (int i = 0; i < phaseholder.size(); i++) {
@@ -375,7 +444,7 @@
                             }
                             faultChain.add(axisPhase);
                         }
-                        trnsport.setPhases(faultChain, EngineConfiguration.FAULTFLOW);
+                        trnsport.setPhases(faultChain, EngineConfiguration.FAULT_OUT_FLOW);
                         break;
                     }
             }
@@ -388,11 +457,11 @@
     /**
      * Method buildGlobalChain
      *
-     * @param axisGlobal
+     * @param engineContext
      * @param chainType
      * @throws PhaseException
      */
-    public void buildGlobalChain(AxisGlobal axisGlobal, int chainType)
+    public void buildGlobalChain(EngineContext engineContext, int chainType)
             throws PhaseException {
         try {
             //OrderThePhases();
@@ -411,7 +480,7 @@
                             }
                             inChain.add(axisPhase);
                         }
-                        axisGlobal.setPhases(inChain, EngineConfiguration.INFLOW);
+                        engineContext.setPhases(inChain, EngineConfiguration.INFLOW);
                         break;
                     }
                 case PhaseMetadata.OUT_FLOW:
@@ -427,10 +496,26 @@
                             }
                             outChain.add(axisPhase);
                         }
-                        axisGlobal.setPhases(outChain, EngineConfiguration.OUTFLOW);
+                        engineContext.setPhases(outChain, EngineConfiguration.OUTFLOW);
+                        break;
+                    }
+                case PhaseMetadata.FAULT_IN_FLOW:
+                    {
+                        ArrayList faultChain = new ArrayList();
+                        for (int i = 0; i < phaseholder.size(); i++) {
+                            PhaseMetadata phase =
+                                    (PhaseMetadata) phaseholder.get(i);
+                            SimplePhase axisPhase = new SimplePhase(phase.getName());
+                            handlers = phase.getOrderedHandlers();
+                            for (int j = 0; j < handlers.length; j++) {
+                                axisPhase.addHandler(handlers[j].getHandler());
+                            }
+                            faultChain.add(axisPhase);
+                        }
+                        engineContext.setPhases(faultChain, EngineConfiguration.FAULT_IN_FLOW);
                         break;
                     }
-                case PhaseMetadata.FAULT_FLOW:
+                     case PhaseMetadata.FAULT_OUT_FLOW:
                     {
                         ArrayList faultChain = new ArrayList();
                         for (int i = 0; i < phaseholder.size(); i++) {
@@ -443,7 +528,7 @@
                             }
                             faultChain.add(axisPhase);
                         }
-                        axisGlobal.setPhases(faultChain, EngineConfiguration.FAULTFLOW);
+                        engineContext.setPhases(faultChain, EngineConfiguration.FAULT_OUT_FLOW);
                         break;
                     }
             }

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/phaseresolver/PhaseResolver.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/phaseresolver/PhaseResolver.java?view=diff&r1=161749&r2=161750
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/phaseresolver/PhaseResolver.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/phaseresolver/PhaseResolver.java Mon Apr 18 02:52:19 2005
@@ -32,6 +32,8 @@
 import org.apache.axis.description.HandlerMetadata;
 import org.apache.axis.engine.AxisFault;
 import org.apache.axis.engine.EngineConfiguration;
+import org.apache.axis.context.EngineContext;
+import org.apache.axis.context.ServiceContext;
 
 /**
  * Class PhaseResolver
@@ -47,6 +49,8 @@
      */
     private AxisService axisService;
 
+    private ServiceContext serviceContext;
+
     /**
      * Field phaseHolder
      */
@@ -68,9 +72,10 @@
      * @param axisService
      */
     public PhaseResolver(EngineConfiguration engineRegistry,
-                         AxisService axisService) {
+                         AxisService axisService,ServiceContext serviceContext) {
         this.engineRegistry = engineRegistry;
         this.axisService = axisService;
+        this.serviceContext = serviceContext;
     }
 
     /**
@@ -121,7 +126,7 @@
         * break;
         * }
         * case 3 : {
-        * flow = module.getFaultFlow();
+        * flow = module.getFaultInFlow();
         * break;
         * }
         * }
@@ -158,9 +163,14 @@
                         flow = module.getOutFlow();
                         break;
                     }
-                case PhaseMetadata.FAULT_FLOW:
+                case PhaseMetadata.FAULT_IN_FLOW:
                     {
-                        flow = module.getFaultFlow();
+                        flow = module.getFaultInFlow();
+                        break;
+                    }
+                case PhaseMetadata.FAULT_OUT_FLOW:
+                    {
+                        flow = module.getFaultOutFlow();
                         break;
                     }
             }
@@ -187,9 +197,14 @@
                     flow = axisService.getOutFlow();
                     break;
                 }
-            case PhaseMetadata.FAULT_FLOW:
+            case PhaseMetadata.FAULT_IN_FLOW:
+                {
+                    flow = axisService.getFaultInFlow();
+                    break;
+                }
+            case PhaseMetadata.FAULT_OUT_FLOW:
                 {
-                    flow = axisService.getFaultFlow();
+                    flow = axisService.getFaultOutFlow();
                     break;
                 }
         }
@@ -204,7 +219,7 @@
                 allHandlers.add(metadata);
             }
         }
-        phaseHolder = new PhaseHolder(engineRegistry, axisService);
+        phaseHolder = new PhaseHolder(engineRegistry, axisService,serviceContext);
         phaseHolder.setFlowType(flowtype);
         for (int i = 0; i < allHandlers.size(); i++) {
             HandlerMetadata handlerMetaData =
@@ -243,7 +258,7 @@
             throws PhaseException {
         Flow flow = null;
         for (int type = 1; type < 4; type++) {
-            phaseHolder = new PhaseHolder(engineRegistry, null);
+            phaseHolder = new PhaseHolder(engineRegistry);
             phaseHolder.setFlowType(type);
             switch (type) {
                 case PhaseMetadata.IN_FLOW:
@@ -251,7 +266,7 @@
                         flow = transport.getInFlow();
                         break;
                     }
-                case PhaseMetadata.FAULT_FLOW:
+                case PhaseMetadata.FAULT_IN_FLOW:
                     {
                         flow = transport.getFaultFlow();
                         break;
@@ -283,7 +298,7 @@
             throws PhaseException {
         Flow flow = null;
         for (int type = 1; type < 4; type++) {
-            phaseHolder = new PhaseHolder(engineRegistry, null);
+            phaseHolder = new PhaseHolder(engineRegistry);
             phaseHolder.setFlowType(type);
             switch (type) {
                 case PhaseMetadata.OUT_FLOW:
@@ -291,7 +306,7 @@
                         flow = transport.getOutFlow();
                         break;
                     }
-                case PhaseMetadata.FAULT_FLOW:
+                case PhaseMetadata.FAULT_OUT_FLOW:
                     {
                         flow = transport.getFaultFlow();
                         break;
@@ -315,19 +330,20 @@
     /**
      * Method buildGlobalChains
      *
-     * @param global
+     * @param engineContext
      * @throws AxisFault
      * @throws PhaseException
      */
-    public void buildGlobalChains(AxisGlobal global)
+    public void buildGlobalChains(EngineContext engineContext)
             throws AxisFault, PhaseException {
+        AxisGlobal global =engineContext.getEngineConfig().getGlobal();
         List modules = (List) global.getModules();
         int count = modules.size();
         QName moduleName;
         AxisModule module;
         Flow flow = null;
         for (int type = 1; type < 4; type++) {
-            phaseHolder = new PhaseHolder(engineRegistry, null);
+            phaseHolder = new PhaseHolder(engineRegistry);
             phaseHolder.setFlowType(type);
             for (int intA = 0; intA < count; intA++) {
                 moduleName = (QName) modules.get(intA);
@@ -343,9 +359,14 @@
                             flow = module.getOutFlow();
                             break;
                         }
-                    case PhaseMetadata.FAULT_FLOW:
+                    case PhaseMetadata.FAULT_IN_FLOW:
+                        {
+                            flow = module.getFaultInFlow();
+                            break;
+                        }
+                    case PhaseMetadata.FAULT_OUT_FLOW:
                         {
-                            flow = module.getFaultFlow();
+                            flow = module.getFaultOutFlow();
                             break;
                         }
                 }
@@ -361,7 +382,7 @@
                     }
                 }
             }
-            phaseHolder.buildGlobalChain(global, type);
+            phaseHolder.buildGlobalChain(engineContext, type);
         }
     }
 }

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/util/Utils.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/util/Utils.java?view=diff&r1=161749&r2=161750
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/util/Utils.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/util/Utils.java Mon Apr 18 02:52:19 2005
@@ -69,8 +69,8 @@
         addPhasesToServiceFromFlow(
             serviceContext,
             Constants.PHASE_SERVICE,
-            service.getFaultFlow(),
-            EngineConfiguration.FAULTFLOW);
+            service.getFaultInFlow(),
+            EngineConfiguration.FAULT_IN_FLOW);
     }
 
     public static AxisService createSimpleService(

Modified: webservices/axis/trunk/java/modules/core/test/org/apache/axis/deployment/BuildERWithDeploymentTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/test/org/apache/axis/deployment/BuildERWithDeploymentTest.java?view=diff&r1=161749&r2=161750
==============================================================================
--- webservices/axis/trunk/java/modules/core/test/org/apache/axis/deployment/BuildERWithDeploymentTest.java (original)
+++ webservices/axis/trunk/java/modules/core/test/org/apache/axis/deployment/BuildERWithDeploymentTest.java Mon Apr 18 02:52:19 2005
@@ -52,7 +52,7 @@
         assertNotNull(service.getName());
         assertEquals(service.getStyle(),"rpc");
 
-        Flow flow = service.getFaultFlow();
+        Flow flow = service.getFaultInFlow();
         assertTrue(flow.getHandlerCount() > 0);
         flow = service.getInFlow();
         assertTrue(flow.getHandlerCount() > 0);

Modified: webservices/axis/trunk/java/modules/core/test/org/apache/axis/description/RegistryTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/test/org/apache/axis/description/RegistryTest.java?view=diff&r1=161749&r2=161750
==============================================================================
--- webservices/axis/trunk/java/modules/core/test/org/apache/axis/description/RegistryTest.java (original)
+++ webservices/axis/trunk/java/modules/core/test/org/apache/axis/description/RegistryTest.java Mon Apr 18 02:52:19 2005
@@ -93,10 +93,10 @@
         Flow flow3 = new FlowImpl();
 
         flowInclude.setInFlow(flow1);
-        flowInclude.setFaultFlow(flow2);
+        flowInclude.setFaultInFlow(flow2);
         flowInclude.setOutFlow(flow3);
         assertSame(flow1, flowInclude.getInFlow());
-        assertSame(flow2, flowInclude.getFaultFlow());
+        assertSame(flow2, flowInclude.getFaultInFlow());
         assertSame(flow3, flowInclude.getOutFlow());
     }
 

Modified: webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/MessageWithServerTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/MessageWithServerTest.java?view=diff&r1=161749&r2=161750
==============================================================================
--- webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/MessageWithServerTest.java (original)
+++ webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/MessageWithServerTest.java Mon Apr 18 02:52:19 2005
@@ -63,11 +63,11 @@
         
         service.setInFlow(new MockFlow("service inflow", 4));
         service.setOutFlow(new MockFlow("service outflow", 5));
-        service.setFaultFlow(new MockFlow("service faultflow", 1));
+        service.setFaultInFlow(new MockFlow("service faultflow", 1));
 
         AxisModule m1 = new AxisModule(new QName("", "A Mdoule 1"));
         m1.setInFlow(new MockFlow("service module inflow", 4));
-        m1.setFaultFlow(new MockFlow("service module faultflow", 1));
+        m1.setFaultInFlow(new MockFlow("service module faultflow", 1));
         service.addModule(m1.getName());
 
         AxisOperation operation = new AxisOperation(operationName);