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 he...@apache.org on 2005/06/03 06:27:13 UTC

svn commit: r179722 - in /webservices/axis/trunk/java: ./ modules/core/src/org/apache/axis/ modules/core/src/org/apache/axis/clientapi/ modules/core/src/org/apache/axis/deployment/ modules/core/src/org/apache/axis/engine/ modules/core/src/org/apache/axis/receivers/ modules/core/src/org/apache/axis/transport/local/ modules/core/test/org/apache/axis/engine/ modules/samples/test/org/apache/axis/engine/ xdocs/images/archi-guide/

Author: hemapani
Date: Thu Jun  2 21:27:11 2005
New Revision: 179722

URL: http://svn.apache.org/viewcvs?rev=179722&view=rev
Log:
add a local transport, and Message Context injection support 

Added:
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/DependancyManager.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/receivers/RawXMLINOnlyMessageRecevier.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/local/
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/local/LocalTransportReceiver.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/local/LocalTransportSender.java
    webservices/axis/trunk/java/modules/core/test/org/apache/axis/engine/MessageContextEnabledEcho.java
    webservices/axis/trunk/java/xdocs/images/archi-guide/
    webservices/axis/trunk/java/xdocs/images/archi-guide/all.png   (with props)
    webservices/axis/trunk/java/xdocs/images/archi-guide/contexts.png   (with props)
    webservices/axis/trunk/java/xdocs/images/archi-guide/phases.png   (with props)
Modified:
    webservices/axis/trunk/java/maven.xml
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/Constants.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/MEPClient.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/client.xml
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/receivers/AbstractInMessageReceiver.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/receivers/RawXMLINOutMessageRecevier.java
    webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/EchoRawXMLLoadTest.java
    webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/EchoRawXMLOnTwoChannelsSyncTest.java
    webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/EchoRawXMLOnTwoChannelsTest.java
    webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/EchoRawXMLTest.java
    webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/HandlerFailureTest.java
    webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/MailEchoRawXMLTest.java
    webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/MessageWithServerTest.java
    webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/RESTBasedEchoRawXMLTest.java
    webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/TCPEchoRawXMLTest.java

Modified: webservices/axis/trunk/java/maven.xml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/maven.xml?rev=179722&r1=179721&r2=179722&view=diff
==============================================================================
--- webservices/axis/trunk/java/maven.xml (original)
+++ webservices/axis/trunk/java/maven.xml Thu Jun  2 21:27:11 2005
@@ -80,6 +80,9 @@
             <fileset dir="modules/core/target/classes"/>
             <fileset dir="modules/xml/target/classes"/>
             <fileset dir="modules/wsdl/target/classes"/>
+            <fileset dir="modules/addressing/target/">
+                <include name="modules/addressing.mar"/>
+            </fileset>
         </jar>
     </goal>
 

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/Constants.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/Constants.java?rev=179722&r1=179721&r2=179722&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/Constants.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/Constants.java Thu Jun  2 21:27:11 2005
@@ -85,6 +85,8 @@
     public static final String TRANSPORT_MAIL = "mail";
 
     public static final String TRANSPORT_JMS = "jms";
+    
+    public static final String TRANSPORT_LOCAL = "local";
 
     /**
      * Field LISTSERVICES

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/MEPClient.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/MEPClient.java?rev=179722&r1=179721&r2=179722&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/MEPClient.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/clientapi/MEPClient.java Thu Jun  2 21:27:11 2005
@@ -82,8 +82,14 @@
                 transport = toURL.substring(0, index);
             }
         }
-        return serviceContext.getEngineContext().getAxisConfiguration().getTransportOut(
-                            new QName(transport));
+        
+        if(transport  != null){
+            return serviceContext.getEngineContext().getAxisConfiguration().getTransportOut(
+                                new QName(transport));
+            
+        }else{
+            throw new AxisFault("Cannot Infer transport from the URL");
+        }
          
     }
 

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/client.xml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/client.xml?rev=179722&r1=179721&r2=179722&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/client.xml (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/client.xml Thu Jun  2 21:27:11 2005
@@ -19,6 +19,11 @@
         <parameter name="port" locked="xsd:false">6060</parameter>
     </transportReceiver>
     <transportSender name="tcp" class="org.apache.axis.transport.tcp.TCPTransportSender"/>
+    
+    <transportReceiver name="local">
+        <parameter name="port" locked="xsd:false">6060</parameter>
+    </transportReceiver>
+    <transportSender name="local" class="org.apache.axis.transport.local.LocalTransportSender"/>
 
 <!--
     <transportReceiver name="mail" class="org.apache.axis.transport.mail.SimpleMailListener">

Added: webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/DependancyManager.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/DependancyManager.java?rev=179722&view=auto
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/DependancyManager.java (added)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/engine/DependancyManager.java Thu Jun  2 21:27:11 2005
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *  Runtime state of the engine
+ */
+package org.apache.axis.engine;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+
+import org.apache.axis.context.MessageContext;
+
+public class DependancyManager {
+    private final static String MESSAGE_CONTEXT_INJECTION_METHOD = "init";
+    public static void configureBusinussLogicProvider(Object obj, MessageContext msgctx)
+        throws AxisFault {
+        try {
+            Class classToLoad = obj.getClass();
+            Method method =
+                classToLoad.getMethod(
+                    MESSAGE_CONTEXT_INJECTION_METHOD,
+                    new Class[] { MessageContext.class });
+            if (method != null) {
+                method.invoke(obj, new Object[] { msgctx });
+            }
+        } catch (SecurityException e) {
+            throw new AxisFault(e);
+        } catch (IllegalArgumentException e) {
+            throw new AxisFault(e);
+        } catch (NoSuchMethodException e) {
+            throw new AxisFault(e);
+        } catch (IllegalAccessException e) {
+            throw new AxisFault(e);
+        } catch (InvocationTargetException e) {
+            throw new AxisFault(e);
+        }
+    }
+
+}

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/receivers/AbstractInMessageReceiver.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/receivers/AbstractInMessageReceiver.java?rev=179722&r1=179721&r2=179722&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/receivers/AbstractInMessageReceiver.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/receivers/AbstractInMessageReceiver.java Thu Jun  2 21:27:11 2005
@@ -26,7 +26,7 @@
 public abstract class AbstractInMessageReceiver
     extends AbstractMessageReceiver {
         protected Log log = LogFactory.getLog(getClass());
-    public abstract void invokeBusinessLogic(MessageContext inMessage);
+    public abstract void invokeBusinessLogic(MessageContext inMessage)throws AxisFault;
 
     public final void recieve(final MessageContext messgeCtx) throws AxisFault {
         invokeBusinessLogic(messgeCtx);

Added: webservices/axis/trunk/java/modules/core/src/org/apache/axis/receivers/RawXMLINOnlyMessageRecevier.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/receivers/RawXMLINOnlyMessageRecevier.java?rev=179722&view=auto
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/receivers/RawXMLINOnlyMessageRecevier.java (added)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/receivers/RawXMLINOnlyMessageRecevier.java Thu Jun  2 21:27:11 2005
@@ -0,0 +1,137 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.axis.receivers;
+
+import java.lang.reflect.Method;
+
+import org.apache.axis.Constants;
+import org.apache.axis.context.MessageContext;
+import org.apache.axis.description.OperationDescription;
+import org.apache.axis.engine.AxisFault;
+import org.apache.axis.engine.DependancyManager;
+import org.apache.axis.engine.MessageReceiver;
+import org.apache.axis.om.OMAbstractFactory;
+import org.apache.axis.om.OMElement;
+import org.apache.axis.om.OMNamespace;
+import org.apache.axis.soap.SOAPEnvelope;
+import org.apache.axis.soap.SOAPFactory;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.wsdl.WSDLService;
+
+/**
+ * This is a Simple java Provider.
+ */
+public class RawXMLINOnlyMessageRecevier
+    extends AbstractInMessageReceiver
+    implements MessageReceiver {
+    /**
+     * Field log
+     */
+    protected Log log = LogFactory.getLog(getClass());
+
+    /**
+     * Field scope
+     */
+    private String scope;
+
+    /**
+     * Field method
+     */
+    private Method method;
+
+    /**
+     * Field classLoader
+     */
+    private ClassLoader classLoader;
+
+    /**
+     * Constructor RawXMLProvider
+     */
+    public RawXMLINOnlyMessageRecevier() {
+        scope = Constants.APPLICATION_SCOPE;
+    }
+
+    public void invokeBusinessLogic(MessageContext msgContext)
+        throws AxisFault {
+        try {
+
+            // get the implementation class for the Web Service
+            Object obj = getTheImplementationObject(msgContext);
+
+            // find the WebService method
+            Class ImplClass = obj.getClass();
+            DependancyManager.configureBusinussLogicProvider(obj,msgContext);
+
+            OperationDescription op = msgContext.getOperationContext().getAxisOperation();
+            if (op == null) {
+                throw new AxisFault("Operation is not located, if this is doclit style the SOAP-ACTION should specified via the SOAP Action to use the RawXMLProvider");
+            }
+            String methodName = op.getName().getLocalPart();
+            Method[] methods = ImplClass.getMethods();
+            for (int i = 0; i < methods.length; i++) {
+                if (methods[i].getName().equals(methodName)) {
+                    this.method = methods[i];
+                    break;
+                }
+            }
+            Class[] parameters = method.getParameterTypes();
+            if ((parameters != null)
+                && (parameters.length == 1)
+                && OMElement.class.getName().equals(parameters[0].getName())) {
+                OMElement methodElement = msgContext.getEnvelope().getBody().getFirstElement();
+
+                OMElement parmeter = null;
+                SOAPEnvelope envelope = null;
+
+                String style = msgContext.getOperationContext().getAxisOperation().getStyle();
+
+                if (WSDLService.STYLE_DOC.equals(style)) {
+                    parmeter = methodElement;
+                    Object[] parms = new Object[] { parmeter };
+
+                    // invoke the WebService
+                    OMElement result = (OMElement) method.invoke(obj, parms);
+                    envelope = OMAbstractFactory.getSOAP11Factory().getDefaultEnvelope();
+                    envelope.getBody().setFirstChild(result);
+
+                } else if (WSDLService.STYLE_RPC.equals(style)) {
+                    parmeter = methodElement.getFirstElement();
+                    Object[] parms = new Object[] { parmeter };
+
+                    // invoke the WebService
+                    OMElement result = (OMElement) method.invoke(obj, parms);
+                    SOAPFactory fac = OMAbstractFactory.getSOAP11Factory();
+                    envelope = fac.getDefaultEnvelope();
+
+                    OMNamespace ns = fac.createOMNamespace("http://soapenc/", "res");
+                    OMElement responseMethodName = fac.createOMElement(methodName + "Response", ns);
+                    responseMethodName.addChild(result);
+                    envelope.getBody().addChild(responseMethodName);
+                } else {
+                    throw new AxisFault("Unknown style ");
+                }
+            } else {
+                throw new AxisFault(
+                    "Raw Xml provider supports only the methods bearing the signature public OMElement "
+                        + "&lt;method-name&gt;(OMElement) where the method name is anything");
+            }
+        } catch (Exception e) {
+            throw AxisFault.makeFault(e);
+        }
+
+    }
+}

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/receivers/RawXMLINOutMessageRecevier.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/receivers/RawXMLINOutMessageRecevier.java?rev=179722&r1=179721&r2=179722&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/receivers/RawXMLINOutMessageRecevier.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/receivers/RawXMLINOutMessageRecevier.java Thu Jun  2 21:27:11 2005
@@ -21,6 +21,7 @@
 import org.apache.axis.context.MessageContext;
 import org.apache.axis.description.OperationDescription;
 import org.apache.axis.engine.AxisFault;
+import org.apache.axis.engine.DependancyManager;
 import org.apache.axis.engine.MessageReceiver;
 import org.apache.axis.om.OMAbstractFactory;
 import org.apache.axis.om.OMElement;
@@ -73,6 +74,7 @@
 
             // find the WebService method
             Class ImplClass = obj.getClass();
+            DependancyManager.configureBusinussLogicProvider(obj,msgContext);
 
             OperationDescription op = msgContext.getOperationContext().getAxisOperation();
             if (op == null) {

Added: webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/local/LocalTransportReceiver.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/local/LocalTransportReceiver.java?rev=179722&view=auto
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/local/LocalTransportReceiver.java (added)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/local/LocalTransportReceiver.java Thu Jun  2 21:27:11 2005
@@ -0,0 +1,81 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *  Runtime state of the engine
+ */
+package org.apache.axis.transport.local;
+
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.FactoryConfigurationError;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+
+import org.apache.axis.Constants;
+import org.apache.axis.addressing.EndpointReference;
+import org.apache.axis.context.ConfigurationContext;
+import org.apache.axis.context.MessageContext;
+import org.apache.axis.description.TransportInDescription;
+import org.apache.axis.description.TransportOutDescription;
+import org.apache.axis.engine.AxisEngine;
+import org.apache.axis.engine.AxisFault;
+import org.apache.axis.om.impl.llom.builder.StAXBuilder;
+import org.apache.axis.soap.SOAPEnvelope;
+import org.apache.axis.soap.impl.llom.builder.StAXSOAPModelBuilder;
+
+public class LocalTransportReceiver {
+    public static ConfigurationContext CONFIG_CONTEXT;
+
+    private ConfigurationContext confContext;
+    public LocalTransportReceiver(ConfigurationContext configContext) {
+        confContext = configContext;
+    }
+
+    public LocalTransportReceiver() {
+        this(CONFIG_CONTEXT);
+    }
+
+    public void processMessage(InputStream in, EndpointReference to) throws AxisFault {
+        try {
+            TransportInDescription tIn =
+                confContext.getAxisConfiguration().getTransportIn(
+                    new QName(Constants.TRANSPORT_LOCAL));
+            TransportOutDescription tOut =
+                confContext.getAxisConfiguration().getTransportOut(
+                    new QName(Constants.TRANSPORT_LOCAL));
+            MessageContext msgCtx = new MessageContext(confContext, tIn, tOut);
+            msgCtx.setTo(to);
+            msgCtx.setServerSide(true);
+
+            XMLStreamReader reader =
+                XMLInputFactory.newInstance().createXMLStreamReader(
+                    new BufferedReader(new InputStreamReader(in)));
+
+            StAXBuilder builder = new StAXSOAPModelBuilder(reader);
+            msgCtx.setEnvelope((SOAPEnvelope) builder.getDocumentElement());
+            AxisEngine engine = new AxisEngine(confContext);
+            engine.receive(msgCtx);
+        } catch (XMLStreamException e) {
+            throw new AxisFault(e);
+        } catch (FactoryConfigurationError e) {
+            throw new AxisFault(e);
+        }
+    }
+
+}

Added: webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/local/LocalTransportSender.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/local/LocalTransportSender.java?rev=179722&view=auto
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/local/LocalTransportSender.java (added)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/transport/local/LocalTransportSender.java Thu Jun  2 21:27:11 2005
@@ -0,0 +1,84 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *  Runtime state of the engine
+ */
+package org.apache.axis.transport.local;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStreamWriter;
+import java.io.Writer;
+
+import org.apache.axis.addressing.EndpointReference;
+import org.apache.axis.context.MessageContext;
+import org.apache.axis.engine.AxisFault;
+import org.apache.axis.transport.AbstractTransportSender;
+
+
+public class LocalTransportSender extends AbstractTransportSender {
+    private ByteArrayOutputStream out;
+    public LocalTransportSender() {
+
+    }
+
+    public void startSendWithToAddress(MessageContext msgContext, Writer writer) throws AxisFault {
+    }
+
+    public void finalizeSendWithToAddress(MessageContext msgContext, Writer writer)
+        throws AxisFault {
+        try {
+            InputStream in = new ByteArrayInputStream(out.toByteArray());
+            LocalTransportReceiver localTransportReceiver = new LocalTransportReceiver();
+            localTransportReceiver.processMessage(in, msgContext.getTo());
+        } catch (IOException e) {
+            throw new AxisFault(e);
+        }
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.axis.transport.AbstractTransportSender#openTheConnection(org.apache.axis.addressing.EndpointReference)
+     */
+    protected Writer openTheConnection(EndpointReference epr) throws AxisFault {
+        //out = new PipedOutputStream();
+        out = new ByteArrayOutputStream();
+        return new OutputStreamWriter(out);
+    }
+
+    /* (non-Javadoc)
+     * @see org.apache.axis.transport.AbstractTransportSender#startSendWithOutputStreamFromIncomingConnection(org.apache.axis.context.MessageContext, java.io.Writer)
+     */
+    public void startSendWithOutputStreamFromIncomingConnection(
+        MessageContext msgContext,
+        Writer writer)
+        throws AxisFault {
+        throw new UnsupportedOperationException();
+
+    }
+
+    public void finalizeSendWithOutputStreamFromIncomingConnection(
+        MessageContext msgContext,
+        Writer writer)
+        throws AxisFault {
+        throw new UnsupportedOperationException();
+
+    }
+
+    public void cleanUp() throws AxisFault {
+    }
+
+}

Added: webservices/axis/trunk/java/modules/core/test/org/apache/axis/engine/MessageContextEnabledEcho.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/test/org/apache/axis/engine/MessageContextEnabledEcho.java?rev=179722&view=auto
==============================================================================
--- webservices/axis/trunk/java/modules/core/test/org/apache/axis/engine/MessageContextEnabledEcho.java (added)
+++ webservices/axis/trunk/java/modules/core/test/org/apache/axis/engine/MessageContextEnabledEcho.java Thu Jun  2 21:27:11 2005
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2004,2005 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.axis.engine;
+
+import org.apache.axis.context.MessageContext;
+import org.apache.axis.om.OMElement;
+
+/**
+ * @version $Rev: $ $Date: $
+ */
+
+public class MessageContextEnabledEcho {
+    private MessageContext msgcts;
+    public MessageContextEnabledEcho() {
+    }
+
+    public void init(MessageContext msgcts) {
+        this.msgcts = msgcts;
+
+    }
+
+    public OMElement echoOMElement(OMElement omEle) throws AxisFault {
+        if(msgcts != null){
+            System.out.println("MessageContext injected");
+        }else{
+            throw new AxisFault("Message Context not injected");
+        }
+        return null;
+    }
+
+}
\ No newline at end of file

Modified: webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/EchoRawXMLLoadTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/EchoRawXMLLoadTest.java?rev=179722&r1=179721&r2=179722&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/EchoRawXMLLoadTest.java (original)
+++ webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/EchoRawXMLLoadTest.java Thu Jun  2 21:27:11 2005
@@ -71,7 +71,7 @@
         UtilServer.start();
         service =
                 Utils.createSimpleService(serviceName,
-                        org.apache.axis.engine.Echo.class.getName(),
+                        org.apache.axis.engine.MessageContextEnabledEcho.class.getName(),
                         operationName);
         UtilServer.deployService(service);
         serviceContext =

Modified: webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/EchoRawXMLOnTwoChannelsSyncTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/EchoRawXMLOnTwoChannelsSyncTest.java?rev=179722&r1=179721&r2=179722&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/EchoRawXMLOnTwoChannelsSyncTest.java (original)
+++ webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/EchoRawXMLOnTwoChannelsSyncTest.java Thu Jun  2 21:27:11 2005
@@ -75,7 +75,7 @@
         ServiceDescription service =
             Utils.createSimpleService(
                 serviceName,
-                org.apache.axis.engine.Echo.class.getName(),
+                org.apache.axis.engine.MessageContextEnabledEcho.class.getName(),
                 operationName);
         UtilServer.deployService(service);
         serviceContext =
@@ -105,7 +105,7 @@
         ServiceDescription service =
             Utils.createSimpleService(
                 serviceName,
-                org.apache.axis.engine.Echo.class.getName(),
+                org.apache.axis.engine.MessageContextEnabledEcho.class.getName(),
                 operationName);
 
         ServiceContext serviceContext = UtilServer.createAdressedEnabledClientSide(service);

Modified: webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/EchoRawXMLOnTwoChannelsTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/EchoRawXMLOnTwoChannelsTest.java?rev=179722&r1=179721&r2=179722&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/EchoRawXMLOnTwoChannelsTest.java (original)
+++ webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/EchoRawXMLOnTwoChannelsTest.java Thu Jun  2 21:27:11 2005
@@ -78,7 +78,7 @@
         ServiceDescription service =
             Utils.createSimpleService(
                 serviceName,
-                org.apache.axis.engine.Echo.class.getName(),
+                org.apache.axis.engine.MessageContextEnabledEcho.class.getName(),
                 operationName);
         UtilServer.deployService(service);
         serviceContext =
@@ -106,7 +106,7 @@
         ServiceDescription service =
             Utils.createSimpleService(
                 serviceName,
-                org.apache.axis.engine.Echo.class.getName(),
+                org.apache.axis.engine.MessageContextEnabledEcho.class.getName(),
                 operationName);
 
         ServiceContext serviceContext = UtilServer.createAdressedEnabledClientSide(service);

Modified: webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/EchoRawXMLTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/EchoRawXMLTest.java?rev=179722&r1=179721&r2=179722&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/EchoRawXMLTest.java (original)
+++ webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/EchoRawXMLTest.java Thu Jun  2 21:27:11 2005
@@ -74,7 +74,7 @@
         UtilServer.start();
         service =
                 Utils.createSimpleService(serviceName,
-                        org.apache.axis.engine.Echo.class.getName(),
+                        org.apache.axis.engine.MessageContextEnabledEcho.class.getName(),
                         operationName);
         UtilServer.deployService(service);
         serviceContext =

Modified: webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/HandlerFailureTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/HandlerFailureTest.java?rev=179722&r1=179721&r2=179722&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/HandlerFailureTest.java (original)
+++ webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/HandlerFailureTest.java Thu Jun  2 21:27:11 2005
@@ -85,7 +85,7 @@
         Utils.addHandler(flow, culprit,PhaseMetadata.PHASE_POLICY_DETERMINATION);
         Utils.addHandler(flow, new SpeakingHandler(),PhaseMetadata.PHASE_POLICY_DETERMINATION);
         
-        ServiceDescription service = Utils.createSimpleService(serviceName,org.apache.axis.engine.Echo.class.getName(),operationName);
+        ServiceDescription service = Utils.createSimpleService(serviceName,org.apache.axis.engine.MessageContextEnabledEcho.class.getName(),operationName);
         service.setInFlow(flow);
         
         UtilServer.start();

Modified: webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/MailEchoRawXMLTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/MailEchoRawXMLTest.java?rev=179722&r1=179721&r2=179722&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/MailEchoRawXMLTest.java (original)
+++ webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/MailEchoRawXMLTest.java Thu Jun  2 21:27:11 2005
@@ -70,7 +70,7 @@
         UtilServer.start();
         service =
                 Utils.createSimpleService(serviceName,
-                        org.apache.axis.engine.Echo.class.getName(),
+                        org.apache.axis.engine.MessageContextEnabledEcho.class.getName(),
                         operationName);
         UtilServer.deployService(service);
         serviceContext =

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?rev=179722&r1=179721&r2=179722&view=diff
==============================================================================
--- 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 Thu Jun  2 21:27:11 2005
@@ -58,7 +58,7 @@
 
     protected void setUp() throws Exception {
         UtilServer.start();
-        ServiceDescription service = Utils.createSimpleService(serviceName,org.apache.axis.engine.Echo.class.getName(),operationName);
+        ServiceDescription service = Utils.createSimpleService(serviceName,org.apache.axis.engine.MessageContextEnabledEcho.class.getName(),operationName);
         
         
         service.setInFlow(new MockFlow("service inflow", 4));

Modified: webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/RESTBasedEchoRawXMLTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/RESTBasedEchoRawXMLTest.java?rev=179722&r1=179721&r2=179722&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/RESTBasedEchoRawXMLTest.java (original)
+++ webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/RESTBasedEchoRawXMLTest.java Thu Jun  2 21:27:11 2005
@@ -87,7 +87,7 @@
         ((AxisConfigurationImpl)UtilServer.getConfigurationContext().getAxisConfiguration()).addParameter(parameter);
         service =
                 Utils.createSimpleService(serviceName,
-                        org.apache.axis.engine.Echo.class.getName(),
+                        org.apache.axis.engine.MessageContextEnabledEcho.class.getName(),
                         operationName);
         UtilServer.deployService(service);
         serviceContext =

Modified: webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/TCPEchoRawXMLTest.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/TCPEchoRawXMLTest.java?rev=179722&r1=179721&r2=179722&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/TCPEchoRawXMLTest.java (original)
+++ webservices/axis/trunk/java/modules/samples/test/org/apache/axis/engine/TCPEchoRawXMLTest.java Thu Jun  2 21:27:11 2005
@@ -74,14 +74,14 @@
         //create and deploy the service
         service =
                 Utils.createSimpleService(serviceName,
-                        org.apache.axis.engine.Echo.class.getName(),
+                        org.apache.axis.engine.MessageContextEnabledEcho.class.getName(),
                         operationName);
         UtilsTCPServer.deployService(service);
         
         ServiceDescription service =
                    Utils.createSimpleService(
                        serviceName,
-                       org.apache.axis.engine.Echo.class.getName(),
+                       org.apache.axis.engine.MessageContextEnabledEcho.class.getName(),
                        operationName);
                serviceContext = UtilServer.createAdressedEnabledClientSide(service);
     }

Added: webservices/axis/trunk/java/xdocs/images/archi-guide/all.png
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/xdocs/images/archi-guide/all.png?rev=179722&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/axis/trunk/java/xdocs/images/archi-guide/all.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/axis/trunk/java/xdocs/images/archi-guide/contexts.png
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/xdocs/images/archi-guide/contexts.png?rev=179722&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/axis/trunk/java/xdocs/images/archi-guide/contexts.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: webservices/axis/trunk/java/xdocs/images/archi-guide/phases.png
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/xdocs/images/archi-guide/phases.png?rev=179722&view=auto
==============================================================================
Binary file - no diff available.

Propchange: webservices/axis/trunk/java/xdocs/images/archi-guide/phases.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream