summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--branches/sca-java-1.5/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/MediatorImpl.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/branches/sca-java-1.5/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/MediatorImpl.java b/branches/sca-java-1.5/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/MediatorImpl.java
index 7e441e43b3..d94166588b 100644
--- a/branches/sca-java-1.5/modules/databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/MediatorImpl.java
+++ b/branches/sca-java-1.5/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)) {