Here's a patch to correct a bug in ode 1.1-SNAPSHOT.
Correlation for ONE-WAY invokation should not specify a pattern.
So you should treat UNSET correlation PATTERN for ONE_WAY invokation as
request.


Index: 
/home/vittorio/tmp/apache-ode-branches_1.1/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/InvokeGenerator.java
===================================================================
--- 
/home/vittorio/tmp/apache-ode-branches_1.1/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/InvokeGenerator.java
    (revision 670669)
+++ 
/home/vittorio/tmp/apache-ode-branches_1.1/bpel-compiler/src/main/java/org/apache/ode/bpel/compiler/InvokeGenerator.java
    (working copy)
@@ -35,6 +35,8 @@
 import java.util.Collection;
 import java.util.List;
 
+import javax.wsdl.OperationType;
+
 /**
  * Generates code for <code>&lt;invoke&gt;</code> activities.
  */
@@ -48,7 +50,7 @@
 
     public void compile(OActivity output, Activity srcx) {
         InvokeActivity src = (InvokeActivity) srcx;
-        OInvoke oinvoke = (OInvoke) output;
+        final OInvoke oinvoke = (OInvoke) output;
 
         oinvoke.partnerLink =
_context.resolvePartnerLink(src.getPartnerLink());
         oinvoke.operation =
_context.resolvePartnerRoleOperation(oinvoke.partnerLink,
src.getOperation());
@@ -80,9 +82,10 @@
         List<Correlation> correlations = src.getCorrelations();
         List<Correlation> incorrelations = CollectionsX.filter(new
ArrayList<Correlation>(), correlations,
                 new MemberOfFunction<Correlation>() {
+                               
                     @Override
                     public boolean isMember(Correlation o) {
-                        return o.getPattern() ==
Correlation.CorrelationPattern.IN;
+                        return o.getPattern() ==
Correlation.CorrelationPattern.IN || (o.getPattern()==
Correlation.CorrelationPattern.UNSET && oinvoke.operation.getStyle()==
OperationType.ONE_WAY );
                     }
                 });
         List<Correlation> outcorrelations = CollectionsX.filter(new
ArrayList<Correlation>(), correlations,


Reply via email to