ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <simonemale...@alice.it>
Subject failed assignement
Date Thu, 27 Mar 2008 23:15:31 GMT
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>



Thank you all guys, please help me.
Regards,
Simone




Mime
  • Unnamed multipart/alternative (inline, 7-Bit, 0 bytes)
View raw message