Author: vanto
Date: Thu Jun 17 23:32:03 2010
New Revision: 955786

URL: http://svn.apache.org/viewvc?rev=955786&view=rev
Log:
fixing a potential NPE when a service has not properly been initialized.

Modified:
    ode/trunk/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java
    
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java

Modified: 
ode/trunk/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java
URL: 
http://svn.apache.org/viewvc/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java?rev=955786&r1=955785&r2=955786&view=diff
==============================================================================
--- ode/trunk/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java 
(original)
+++ ode/trunk/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java 
Thu Jun 17 23:32:03 2010
@@ -120,6 +120,7 @@ public class BindingContextImpl implemen
         ODEService odeService = new ODEService(axisService, pconf, 
serviceName, portName, _server._bpelServer, _server._txMgr);
 
         destroyService(serviceName, portName);
+
         _services.put(serviceName, portName, odeService);
 
         // Setting our new service on the ODE receiver
@@ -146,14 +147,18 @@ public class BindingContextImpl implemen
             try {
                 String axisServiceName = service.getAxisService().getName();
                 AxisService axisService = 
_server._axisConfig.getService(axisServiceName);
-                // first, de-allocate its schemas
-                axisService.releaseSchemaList();
-                // then, de-allocate its parameters
-                // the service's wsdl object model is stored as one of its 
parameters!
-                // can't stress strongly enough how important it is to clean 
this up.
-                ArrayList<Parameter> parameters = (ArrayList<Parameter>) 
axisService.getParameters();
-                for (Parameter parameter : parameters) {
-                    axisService.removeParameter(parameter);
+                
+                //axisService might be null if it could not be properly 
activated before. 
+                if (axisService != null) {
+                    // first, de-allocate its schemas
+                    axisService.releaseSchemaList();
+                    // then, de-allocate its parameters
+                    // the service's wsdl object model is stored as one of its 
parameters!
+                    // can't stress strongly enough how important it is to 
clean this up.
+                    ArrayList<Parameter> parameters = (ArrayList<Parameter>) 
axisService.getParameters();
+                    for (Parameter parameter : parameters) {
+                        axisService.removeParameter(parameter);
+                    }
                 }
                 // now, stop the service
                 _server._axisConfig.stopService(axisServiceName);

Modified: 
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
URL: 
http://svn.apache.org/viewvc/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java?rev=955786&r1=955785&r2=955786&view=diff
==============================================================================
--- 
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
 (original)
+++ 
ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
 Thu Jun 17 23:32:03 2010
@@ -316,7 +316,7 @@ public class BpelServerImpl implements B
             __log.debug("Registering process " + conf.getProcessId() + " with 
server.");
 
             BpelProcess process = createBpelProcess(conf);
-        process._classLoader = Thread.currentThread().getContextClassLoader();
+            process._classLoader = 
Thread.currentThread().getContextClassLoader();
 
             _engine.registerProcess(process);
             _registeredProcesses.add(process);


Reply via email to