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 2006/02/14 04:44:09 UTC

svn commit: r377604 - in /webservices/axis2/trunk/java/modules/core/src/org/apache/axis2: client/ServiceClient.java context/ConfigurationContext.java deployment/util/Utils.java

Author: deepal
Date: Mon Feb 13 19:44:07 2006
New Revision: 377604

URL: http://svn.apache.org/viewcvs?rev=377604&view=rev
Log:
-fixing application scope problem (trying to access null service group ctx)

Modified:
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/client/ServiceClient.java
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/context/ConfigurationContext.java
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/util/Utils.java

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/client/ServiceClient.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/client/ServiceClient.java?rev=377604&r1=377603&r2=377604&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/client/ServiceClient.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/client/ServiceClient.java Mon Feb 13 19:44:07 2006
@@ -4,18 +4,8 @@
 import org.apache.axis2.addressing.EndpointReference;
 import org.apache.axis2.client.async.AsyncResult;
 import org.apache.axis2.client.async.Callback;
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.context.ConfigurationContextFactory;
-import org.apache.axis2.context.MessageContext;
-import org.apache.axis2.context.ServiceContext;
-import org.apache.axis2.context.ServiceGroupContext;
-import org.apache.axis2.description.AxisOperation;
-import org.apache.axis2.description.AxisService;
-import org.apache.axis2.description.AxisServiceGroup;
-import org.apache.axis2.description.ClientUtils;
-import org.apache.axis2.description.OutInAxisOperation;
-import org.apache.axis2.description.OutOnlyAxisOperation;
-import org.apache.axis2.description.RobustOutOnlyAxisOperation;
+import org.apache.axis2.context.*;
+import org.apache.axis2.description.*;
 import org.apache.axis2.engine.AxisConfiguration;
 import org.apache.axis2.i18n.Messages;
 import org.apache.axis2.util.CallbackReceiver;

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/context/ConfigurationContext.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/context/ConfigurationContext.java?rev=377604&r1=377603&r2=377604&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/context/ConfigurationContext.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/context/ConfigurationContext.java Mon Feb 13 19:44:07 2006
@@ -28,11 +28,7 @@
 import org.apache.axis2.util.threadpool.ThreadPool;
 
 import java.io.File;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Map;
+import java.util.*;
 
 /**
  * This contains all the configuration information for Axis2.
@@ -92,6 +88,14 @@
             if (Constants.SCOPE_APPLICATION.equals(axisService.getScope())) {
                 serviceGroupContext = (ServiceGroupContext) applicationSessionServiceGroupContextTabale.get(
                         ((AxisServiceGroup) axisService.getParent()).getServiceGroupName());
+                if (serviceGroupContext == null) {
+                    AxisServiceGroup axisServiceGroup = messageContext.getAxisServiceGroup();
+                    if (axisServiceGroup == null) {
+                        axisServiceGroup = (AxisServiceGroup) messageContext.getAxisService().getParent();
+                    }
+                    serviceGroupContext = new ServiceGroupContext(messageContext.getConfigurationContext(),
+                            axisServiceGroup);
+                }
                 serviceContext = serviceGroupContext.getServiceContext(axisService);
 
             } else if (!isNull(serviceGroupContextId)

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/util/Utils.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/util/Utils.java?rev=377604&r1=377603&r2=377604&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/util/Utils.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/util/Utils.java Mon Feb 13 19:44:07 2006
@@ -3,19 +3,15 @@
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.Constants;
 import org.apache.axis2.deployment.DeploymentException;
-import org.apache.axis2.description.AxisMessage;
-import org.apache.axis2.description.AxisOperation;
-import org.apache.axis2.description.AxisOperationFactory;
-import org.apache.axis2.description.AxisService;
-import org.apache.axis2.description.Flow;
-import org.apache.axis2.description.HandlerDescription;
-import org.apache.axis2.description.Parameter;
-import org.apache.axis2.description.ParameterImpl;
+import org.apache.axis2.description.*;
 import org.apache.axis2.engine.AxisConfiguration;
 import org.apache.axis2.engine.Handler;
 import org.apache.axis2.engine.MessageReceiver;
 import org.apache.axis2.wsdl.builder.SchemaGenerator;
 import org.apache.axis2.wsdl.builder.TypeTable;
+import org.apache.ws.commons.om.OMAbstractFactory;
+import org.apache.ws.commons.om.OMElement;
+import org.apache.ws.commons.om.OMFactory;
 import org.apache.wsdl.WSDLConstants;
 import org.codehaus.jam.JMethod;
 
@@ -221,6 +217,8 @@
     public static AxisService createService(String implClass,
                                             AxisConfiguration axisConfig, Class messageReceiverClass) throws AxisFault {
         Parameter parameter = new ParameterImpl(Constants.SERVICE_CLASS, implClass);
+        OMElement paraElement = getParameter(Constants.SERVICE_CLASS, implClass, false);
+        parameter.setParameterElement(paraElement);
         AxisService axisService = new AxisService();
         axisService.setUseDefaultChains(false);
         axisService.addParameter(parameter);
@@ -317,5 +315,14 @@
                     SchemaGenerator.METHOD_REQUEST_WRAPPER));
         }
         return operation;
+    }
+
+    public static OMElement getParameter(String name, String value, boolean locked) {
+        OMFactory fac = OMAbstractFactory.getOMFactory();
+        OMElement parameter = fac.createOMElement("parameter", null);
+        parameter.addAttribute("name", name, null);
+        parameter.addAttribute("locked", Boolean.toString(locked), null);
+        parameter.setText(value);
+        return parameter;
     }
 }