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 az...@apache.org on 2009/12/10 15:14:36 UTC

svn commit: r889272 - in /webservices/axis2/trunk/java/modules/transport/local/src/org/apache/axis2/transport/local: LocalTransportReceiver.java LocalTransportSender.java

Author: azeez
Date: Thu Dec 10 14:14:36 2009
New Revision: 889272

URL: http://svn.apache.org/viewvc?rev=889272&view=rev
Log:
The static configuration context class attribute assumes that their will be only a single configuration context per server instance. This is not necessarilly true. In a multitenant service deployment scenario, there will be multiple configuration contexts & axis configurations. Hence, introducing a new method.


Modified:
    webservices/axis2/trunk/java/modules/transport/local/src/org/apache/axis2/transport/local/LocalTransportReceiver.java
    webservices/axis2/trunk/java/modules/transport/local/src/org/apache/axis2/transport/local/LocalTransportSender.java

Modified: webservices/axis2/trunk/java/modules/transport/local/src/org/apache/axis2/transport/local/LocalTransportReceiver.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/transport/local/src/org/apache/axis2/transport/local/LocalTransportReceiver.java?rev=889272&r1=889271&r2=889272&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/transport/local/src/org/apache/axis2/transport/local/LocalTransportReceiver.java (original)
+++ webservices/axis2/trunk/java/modules/transport/local/src/org/apache/axis2/transport/local/LocalTransportReceiver.java Thu Dec 10 14:14:36 2009
@@ -50,6 +50,17 @@
         this(CONFIG_CONTEXT);
     }
 
+    public void processMessage(ConfigurationContext configurationContext,
+                               InputStream in,
+                               EndpointReference to,
+                               String action,
+                               OutputStream response) throws AxisFault {
+        if (this.confContext == null) {
+            this.confContext = configurationContext;
+        }
+        processMessage(in, to, action, response);
+    }
+
     public void processMessage(InputStream in, EndpointReference to, String action, OutputStream response)
             throws AxisFault {
         MessageContext msgCtx = confContext.createMessageContext();
@@ -57,13 +68,13 @@
                 Constants.TRANSPORT_LOCAL);
         TransportOutDescription tOut = confContext.getAxisConfiguration().getTransportOut(
                 Constants.TRANSPORT_LOCAL);
-                
+
         // CAUTION : When using Local Transport of Axis2,  class LocalTransportReceiver changed the name of LocalTransportSender's class in configContext.
         // We escaped this problem by the following code.
         LocalResponseTransportOutDescription localTransportResOut = new LocalResponseTransportOutDescription(
                 tOut);
         localTransportResOut.setSender(new LocalResponder(response));
-        
+
         try {
             msgCtx.setTransportIn(tIn);
             msgCtx.setTransportOut(localTransportResOut);

Modified: webservices/axis2/trunk/java/modules/transport/local/src/org/apache/axis2/transport/local/LocalTransportSender.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/transport/local/src/org/apache/axis2/transport/local/LocalTransportSender.java?rev=889272&r1=889271&r2=889272&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/transport/local/src/org/apache/axis2/transport/local/LocalTransportSender.java (original)
+++ webservices/axis2/trunk/java/modules/transport/local/src/org/apache/axis2/transport/local/LocalTransportSender.java Thu Dec 10 14:14:36 2009
@@ -101,7 +101,12 @@
             ByteArrayOutputStream response = new ByteArrayOutputStream();
 
             LocalTransportReceiver localTransportReceiver = new LocalTransportReceiver(this);
-            localTransportReceiver.processMessage(in, msgContext.getTo(), msgContext.getOptions().getAction(), response);
+             localTransportReceiver.processMessage(msgContext.getConfigurationContext(),
+                                                  in,
+                                                  msgContext.getTo(),
+                                                  msgContext.getOptions().getAction(),
+                                                  response);
+
             in.close();
             out.close();
             in = new ByteArrayInputStream(response.toByteArray());