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);