summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/trunk/modules/core/src
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-2.x/trunk/modules/core/src')
-rw-r--r--sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/JDKInvocationHandler.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/JDKInvocationHandler.java b/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/JDKInvocationHandler.java
index 03853a2883..afdad37e2d 100644
--- a/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/JDKInvocationHandler.java
+++ b/sca-java-2.x/trunk/modules/core/src/main/java/org/apache/tuscany/sca/core/invocation/impl/JDKInvocationHandler.java
@@ -123,12 +123,15 @@ public class JDKInvocationHandler implements InvocationHandler, Serializable {
holderPattern = true;
// Pop results and place in holder (demote).
Holder holder = (Holder) args[ i ];
- Object[] resultArray = (Object[])result;
- holder.value = resultArray[++resultIdx];
+
+ Object[] results = (Object[])result;
+ if ( result != null ) {
+ holder.value = results[++resultIdx];
+ }
}
}
}
- if ( holderPattern )
+ if ( holderPattern && result != null)
return ((Object[])result)[0];
else
return result;