diff options
-rw-r--r-- | branches/sca-java-1.x/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/MediatorImpl.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/branches/sca-java-1.x/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/MediatorImpl.java b/branches/sca-java-1.x/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/MediatorImpl.java index 7e441e43b3..d94166588b 100644 --- a/branches/sca-java-1.x/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/MediatorImpl.java +++ b/branches/sca-java-1.x/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/MediatorImpl.java @@ -556,7 +556,14 @@ public class MediatorImpl implements Mediator { public Object copyFault(Object fault, Operation operation) { if (faultExceptionMapper == null) { - return fault; + // try to get the fault exception mapper again. It sometime null depending on what order the + // JavaRuntimeModuleActivator and DatabindingModuleActivator are started + this.faultExceptionMapper = + registry.getExtensionPoint(UtilityExtensionPoint.class).getUtility(FaultExceptionMapper.class); + + if (faultExceptionMapper == null) { + return fault; + } } for (DataType et : operation.getFaultTypes()) { if (et.getPhysical().isInstance(fault)) { |