On Thu, Mar 27, 2008 at 5:15 PM, <[EMAIL PROTECTED]> wrote:
> Hi guys,
> I found a strange error developing my own work, here it is:
> ERROR - ASSIGN - Assignment Fault:
> {http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure,lineNo=100,faultExplanation=The
> R-Value must select one item.
>
> and here is the sequence that is the root of the problem:
>
> <invoke inputVariable="requestInvokeCCCheckMessage"
> operation="cccheck" outputVariable="replyInvokeCCCheckMessage"
> partnerLink="CCCheckPartnerLink" portType="cccheck:cccheckPortType"/>
> <assign>
> <copy>
> <from variable="replyInvokeCCCheckMessage" part="app"/>
> <to variable="approvedVariable"/>
> </copy>
> </assign>
>
> I've to add that my BPEL file is generated in an automatic way from a Java
> Class I wrote.
> I don't know what is happening because syntatically it seems works fine.
> My code is build to depict in the code a graph, then all activity are putted
> into a <flow> and grouped into <sequence> linked by <link>.
> I add: i'm using ODE 1.1 jbi version in ServiceMix 3.1.2.
> To be clearest I attach all my BPEL:
>
> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> <process xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
> xmlns:cccheck="http://localhost:8080/CCCheck"
> xmlns:test="http://localhost:8080/processes/bank.wsdl"
> xmlns:tns="http://localhost:8080/processes/bank"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"
> name="bank" queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"
> targetNamespace="http://localhost:8080/processes/bank"
> suppressJoinFailure="yes">
> <import importType="http://schemas.xmlsoap.org/wsdl/"
> location="CCCheck.wsdl" namespace="http://localhost:8080/CCCheck"/>
> <import importType="http://schemas.xmlsoap.org/wsdl/" location="bank.wsdl"
> namespace="http://localhost:8080/processes/bank.wsdl"/>
> <partnerLinks>
> <partnerLink name="CCCheckPartnerLink"
> partnerLinkType="cccheck:CCCheckPartnerLinkType" partnerRole="CCCheckRole"/>
> <partnerLink myRole="requestCCheckRole" name="requestCCheckPartnerLink"
> partnerLinkType="test:requestCCheckPartnerLinkType"/>
> <partnerLink name="replyCCHeckPartnerLink"
> partnerLinkType="test:replyCCHeckPartnerLinkType"
> partnerRole="replyCCHeckRole"/>
> </partnerLinks>
> <variables>
> <variable messageType="cccheck:cccheckResponseMessage"
> name="replyInvokeCCCheckMessage"/>
> <variable messageType="cccheck:cccheckRequestMessage"
> name="requestInvokeCCCheckMessage"/>
> <variable messageType="test:requestCCheckMessage"
> name="requestCCheckMessage"/>
> <variable messageType="test:replyCCHeckMessage"
> name="replyCCHeckMessage"/>
> <variable name="CCNumVariable" type="xsd:integer"/>
> <variable name="approvedVariable" type="xsd:boolean"/>
> <variable name="4" type="xsd:boolean"/>
> <variable name="3" type="xsd:boolean"/>
> <variable name="2" type="xsd:boolean"/>
> <variable name="1" type="xsd:boolean"/>
> </variables>
> <sequence>
> <assign>
> <copy>
> <from>false()</from>
> <to variable="4"/>
> </copy>
> <copy>
> <from>false()</from>
> <to variable="3"/>
> </copy>
> <copy>
> <from>false()</from>
> <to variable="2"/>
> </copy>
> <copy>
> <from>true()</from>
> <to variable="1"/>
> </copy>
> </assign>
> <flow>
> <links>
> <link name="3to4"/>
> <link name="2to3"/>
> <link name="1to2"/>
> </links>
> <sequence>
> <exit/>
> <sources/>
> <targets>
> <target linkName="3to4"/>
> </targets>
> </sequence>
> <sequence>
> <if name="0">
> <condition>true()</condition>
> <sequence>
> <assign>
> <copy>
> <from variable="approvedVariable"/>
> <to part="approved" variable="replyCCHeckMessage"/>
> </copy>
> <copy>
> <from variable="CCNumVariable"/>
> <to part="CCNum" variable="replyCCHeckMessage"/>
> </copy>
> </assign>
> <invoke inputVariable="replyCCHeckMessage"
> operation="replyCCHeck" partnerLink="replyCCHeckPartnerLink"
> portType="test:replyCCHeckPortType"/>
> <assign>
> <copy>
> <from>false()</from>
> <to variable="3"/>
> </copy>
> <copy>
> <from>true()</from>
> <to variable="4"/>
> </copy>
> </assign>
> </sequence>
> </if>
> <sources>
> <source linkName="3to4" transitionCondition="4"/>
> </sources>
> <targets>
> <target linkName="2to3"/>
> </targets>
> </sequence>
> <sequence>
> <if name="1">
> <condition>true()</condition>
> <sequence>
> <assign>
> <copy>
> <from variable="CCNumVariable"/>
> <to part="c" variable="requestInvokeCCCheckMessage"/>
> </copy>
> </assign>
> <invoke inputVariable="requestInvokeCCCheckMessage"
> operation="cccheck" outputVariable="replyInvokeCCCheckMessage"
> partnerLink="CCCheckPartnerLink" portType="cccheck:cccheckPortType"/>
> <assign>
> <copy>
> <from variable="replyInvokeCCCheckMessage" part="app"/>
> <to variable="approvedVariable"/>
> </copy>
> </assign>
> <assign>
> <copy>
> <from>false()</from>
> <to variable="2"/>
> </copy>
> <copy>
> <from>true()</from>
> <to variable="3"/>
> </copy>
> </assign>
> </sequence>
> </if>
> <sources>
> <source linkName="2to3" transitionCondition="3"/>
> </sources>
> <targets>
> <target linkName="1to2"/>
> </targets>
> </sequence>
> <sequence>
> <if name="2">
> <condition>true()</condition>
> <sequence>
> <receive createInstance="yes" operation="requestCCheck"
> partnerLink="requestCCheckPartnerLink" portType="test:requestCCheckPortType"
> variable="requestCCheckMessage"/>
> <assign>
> <copy>
> <from part="CCNum" variable="requestCCheckMessage"/>
> <to variable="CCNumVariable"/>
> </copy>
> </assign>
> <assign>
> <copy>
> <from>false()</from>
> <to variable="1"/>
> </copy>
> <copy>
> <from>true()</from>
> <to variable="2"/>
> </copy>
> </assign>
> </sequence>
> </if>
> <sources>
> <source linkName="1to2" transitionCondition="2"/>
> </sources>
> <targets/>
> </sequence>
> </flow>
> </sequence>
> </process>
Again, you're better off to ask this question on the mailing lists for
the Apache ODE project as it is a BPEL engine and that project
maintains the ODE JBI service engine:
http://ode.apache.org/
Bruce
--
perl -e 'print unpack("u30","D0G)[EMAIL
PROTECTED]&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
);'
Apache ActiveMQ - http://activemq.org/
Apache Camel - http://activemq.org/camel/
Apache ServiceMix - http://servicemix.org/
Apache Geronimo - http://geronimo.apache.org/
Blog: http://bruceblog.org/