You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ode.apache.org by Danny Kruitbosch <d....@rdc.nl> on 2008/10/15 08:17:02 UTC

Question about initialize variables and selectionFailure

Hi,

 

I've been reading up on the BPEL 2.0 standard and it states that all
variables should be initialized before they can be used (by way of
creating an assign activity to copy a 'literal' to the actual variable).


I've created the attached process and it fails to run in ODE 1.2 (on
tomcat 5.5). When I run the same process in the BPEL SE of OpenESB it
runs fine. So my questions are:

-          Are my variables initialized properly?

-          Why do I get a selectionFailure in ODE, and not in OpenESB
(both are BPEL 2.0 complaint)

 

This is (part of) the logging I'm getting in ODE:

 

DEBUG - GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: FOUND
match for NEW instance mexRef={MyRoleMex#hqejbhcnphr3o6s86m1xae [Client
hqejbhcnphr3o6s86m1xad] calling
{http://nsp.rdc.nl/RDC/diensten}as13Service.opvragenAS13(...)}

DEBUG - GeronimoLog.debug(66) | Initialize variable: name={Variable
__PROCESS_SCOPE:as13.OpvragenAS13In:OMessageVarType#42} value=<?xml
version="1.0" encoding="UTF-8"?>

<message><opvragenAS13><opvragenAS13 xmlns="http://nsp.rdc.nl/RDC"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

   <Identificatie xmlns="http://nsp.rdc.nl/RDC">

    <Gebruikersnummer
xmlns="http://nsp.rdc.nl/RDC">rdc931179999</Gebruikersnummer>

    <Rol xmlns="http://nsp.rdc.nl/RDC">TEST</Rol>

    <Route xmlns="http://nsp.rdc.nl/RDC">WEBAPP</Route>

    <TransactieID xmlns="http://nsp.rdc.nl/RDC">123456789</TransactieID>

   </Identificatie>

   <Kenteken xmlns="http://nsp.rdc.nl/RDC">48SJXT</Kenteken>

  </opvragenAS13></opvragenAS13></message>

DEBUG - GeronimoLog.debug(66) | <empty name=OEmpty#51>

DEBUG - GeronimoLog.debug(66) | Assign.copy({OCopy {OXPath10Expression
$OpvragenVoertuigBasisIn.opvragenVoertuigBasis/ns0:Kenteken}={OXPath10Ex
pression $OpvragenAS13In.opvragenAS13/ns0:Kenteken}})

DEBUG - GeronimoLog.debug(66) | Evaluating FROM expression
"{OXPath10Expression $OpvragenAS13In.opvragenAS13/ns0:Kenteken}".

DEBUG - GeronimoLog.debug(66) |
translateNamespacePrefixToUri()=http://docs.oasis-open.org/wsbpel/2.0/pr
ocess/executable

DEBUG - GeronimoLog.debug(66) |
translateNamespacePrefixToUri(ns0)=http://nsp.rdc.nl/RDC

DEBUG - GeronimoLog.debug(66) |
translateNamespacePrefixToUri(ns0)=http://nsp.rdc.nl/RDC

DEBUG - GeronimoLog.debug(66) | lvalue after eval [message: null]

DEBUG - GeronimoLog.debug(66) | content <?xml version="1.0"
encoding="UTF-8"?>

<message><opvragenVoertuigBasis><opvragenVoertuigBasis
xmlns="http://nsp.rdc.nl/RDC"/></opvragenVoertuigBasis></message>

DEBUG - GeronimoLog.debug(66) |
translateNamespacePrefixToUri()=http://docs.oasis-open.org/wsbpel/2.0/pr
ocess/executable

ERROR - GeronimoLog.error(104) | Assignment Fault:
{http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailu
re,lineNo=33,faultExplanation=No results for expression:
{OXPath10Expression
$OpvragenVoertuigBasisIn.opvragenVoertuigBasis/ns0:Kenteken}

DEBUG - GeronimoLog.debug(66) | ({OScope '__PROCESS_SCOPE:as13'
id=3},TerminationChannel#1,ParentScopeChannel#2): has a fault handler
for
{http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailu
re: {OCatch faultName=null, faultVariable=null}

 

 

Any thoughts on this would be great.

 

Kind regards,

 

Danny

 

P.S. I've attached my bpel file. 


Re: Question about initialize variables and selectionFailure

Posted by Alex Boisvert <bo...@intalio.com>.
On Fri, Nov 7, 2008 at 12:32 AM, Danny Kruitbosch <d....@rdc.nl>wrote:

> Did anyone have a change to look at what I'm doing wrong. I really want
> to fix this issue.


As expected, your BPEL is not portable.  It does not initialize the variable
$OpvragenVoertuigBasisIn before selecting into it.  I'm surprised it runs in
OpenESB but they may have relaxed their requirements, as we have with
ODE-371 (Auto Complete Copy Destination) which will be available in Ode 1.3.

For the time being, you can add the following assignment after the first
<receive> to make it work:

<assign name="Assign">
  <copy>
    <from>
      <literal>
        <ns0:Kenteken/>
        <ns0:Meldcode/>
        <ns0:Identificatie/>
      </literal>
    </from>
  </copy>
</assign>

cheers,
alex

RE: Question about initialize variables and selectionFailure

Posted by Danny Kruitbosch <d....@rdc.nl>.
Hi all and Matthieu,

Did anyone have a change to look at what I'm doing wrong. I really want
to fix this issue.

Thanks and kind regards,

Danny

-----Oorspronkelijk bericht-----
Van: Danny Kruitbosch [mailto:d.kruitbosch@rdc.nl] 
Verzonden: dinsdag 28 oktober 2008 9:38
Aan: user@ode.apache.org
Onderwerp: RE: Question about initialize variables and selectionFailure

Hi,

Since the bpel file was stripped, I added it as a zip file.

Regards,

Danny

-----Oorspronkelijk bericht-----
Van: matthieu.riou@gmail.com [mailto:matthieu.riou@gmail.com] Namens
Matthieu Riou
Verzonden: maandag 20 oktober 2008 16:39
Aan: user@ode.apache.org
Onderwerp: Re: Question about initialize variables and selectionFailure

On Tue, Oct 14, 2008 at 11:17 PM, Danny Kruitbosch
<d....@rdc.nl>wrote:

>  Hi,
>
>
>
> I've been reading up on the BPEL 2.0 standard and it states that all 
> variables should be initialized before they can be used (by way of
creating
> an assign activity to copy a 'literal' to the actual variable).
>
Just clarifying: variables are required to be assigned in the process.
Not
magically by the engine.

> I've created the attached process and it fails to run in ODE 1.2 (on
tomcat
> 5.5). When I run the same process in the BPEL SE of OpenESB it runs
fine. So
> my questions are:
>
> -          Are my variables initialized properly?
>
> -          Why do I get a selectionFailure in ODE, and not in OpenESB
> (both are BPEL 2.0 complaint)
>
>
Your attachment has apparently been stripped (you can try to put it in a
zip) so it's hard to answer. They could have some sort of extension to
automatically initialize variables, which isn't part of the standard.
Although enabling it by default is slippery as it's non-standard. That
would be a bit surprising though, their support for assignment seems
very partial so it's odd they would have had implemented this before
other standard features. But I'm just guessing, seeing your process
would probably help.

Btw we have a patch proposition to add some sort of dynamic creation of
target path:

https://issues.apache.org/jira/browse/ODE-371

So we should get that pretty soon.

Thanks,
Matthieu


>
>
> This is (part of) the logging I'm getting in ODE:
>
>
>
> DEBUG - GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: FOUND
match
> for NEW instance mexRef={MyRoleMex#hqejbhcnphr3o6s86m1xae [Client 
> hqejbhcnphr3o6s86m1xad] calling {
>
http://nsp.rdc.nl/RDC/diensten}as13Service.opvragenAS13(...)<http://nsp.
rdc.nl/RDC/diensten%7Das13Service.opvragenAS13%28...%29>
> }
>
> DEBUG - GeronimoLog.debug(66) | Initialize variable: name={Variable 
> __PROCESS_SCOPE:as13.OpvragenAS13In:OMessageVarType#42} value=<?xml 
> version="1.0" encoding="UTF-8"?>
>
> <message><opvragenAS13><opvragenAS13 xmlns="http://nsp.rdc.nl/RDC"
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="
> http://www.w3.org/2001/XMLSchema" xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance">
>
>    <Identificatie xmlns="http://nsp.rdc.nl/RDC">
>
>     <Gebruikersnummer xmlns="http://nsp.rdc.nl/RDC 
> ">rdc931179999</Gebruikersnummer>
>
>     <Rol xmlns="http://nsp.rdc.nl/RDC">TEST</Rol>
>
>     <Route xmlns="http://nsp.rdc.nl/RDC">WEBAPP</Route>
>
>     <TransactieID
xmlns="http://nsp.rdc.nl/RDC">123456789</TransactieID>
>
>    </Identificatie>
>
>    <Kenteken xmlns="http://nsp.rdc.nl/RDC">48SJXT</Kenteken>
>
>   </opvragenAS13></opvragenAS13></message>
>
> DEBUG - GeronimoLog.debug(66) | <empty name=OEmpty#51>
>
> DEBUG - GeronimoLog.debug(66) | Assign.copy({OCopy {OXPath10Expression
>
$OpvragenVoertuigBasisIn.opvragenVoertuigBasis/ns0:Kenteken}={OXPath10Ex
pression
> $OpvragenAS13In.opvragenAS13/ns0:Kenteken}})
>
> DEBUG - GeronimoLog.debug(66) | Evaluating FROM expression 
> "{OXPath10Expression $OpvragenAS13In.opvragenAS13/ns0:Kenteken}".
>
> DEBUG - GeronimoLog.debug(66) | translateNamespacePrefixToUri()= 
> http://docs.oasis-open.org/wsbpel/2.0/process/executable
>
> DEBUG - GeronimoLog.debug(66) | translateNamespacePrefixToUri(ns0)=
> http://nsp.rdc.nl/RDC
>
> DEBUG - GeronimoLog.debug(66) | translateNamespacePrefixToUri(ns0)=
> http://nsp.rdc.nl/RDC
>
> DEBUG - GeronimoLog.debug(66) | lvalue after eval [message: null]
>
> DEBUG - GeronimoLog.debug(66) | content <?xml version="1.0"
> encoding="UTF-8"?>
>
> <message><opvragenVoertuigBasis><opvragenVoertuigBasis xmlns="
> http://nsp.rdc.nl/RDC"/></opvragenVoertuigBasis></message>
>
> DEBUG - GeronimoLog.debug(66) | translateNamespacePrefixToUri()= 
> http://docs.oasis-open.org/wsbpel/2.0/process/executable
>
> ERROR - GeronimoLog.error(104) | Assignment Fault: {
>
http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailur
e,lineNo=33,faultExplanation=No<http://docs.oasis-open.org/wsbpel/2.0/pr
ocess/executable%7DselectionFailure,lineNo=33,faultExplanation=No>result
s for expression: {OXPath10Expression

> $OpvragenVoertuigBasisIn.opvragenVoertuigBasis/ns0:Kenteken}
>
> DEBUG - GeronimoLog.debug(66) | ({OScope '__PROCESS_SCOPE:as13'
> id=3},TerminationChannel#1,ParentScopeChannel#2): has a fault handler
for {
>
http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailur
e<http://docs.oasis-open.org/wsbpel/2.0/process/executable%7DselectionFa
ilure>:
> {OCatch faultName=null, faultVariable=null}
>
>
>
>
>
> Any thoughts on this would be great.
>
>
>
> Kind regards,
>
>
>
> Danny
>
>
>
> P.S. I've attached my bpel file.
>

RE: Question about initialize variables and selectionFailure

Posted by Danny Kruitbosch <d....@rdc.nl>.
Hi,

Since the bpel file was stripped, I added it as a zip file.

Regards,

Danny

-----Oorspronkelijk bericht-----
Van: matthieu.riou@gmail.com [mailto:matthieu.riou@gmail.com] Namens
Matthieu Riou
Verzonden: maandag 20 oktober 2008 16:39
Aan: user@ode.apache.org
Onderwerp: Re: Question about initialize variables and selectionFailure

On Tue, Oct 14, 2008 at 11:17 PM, Danny Kruitbosch
<d....@rdc.nl>wrote:

>  Hi,
>
>
>
> I've been reading up on the BPEL 2.0 standard and it states that all
> variables should be initialized before they can be used (by way of
creating
> an assign activity to copy a 'literal' to the actual variable).
>
Just clarifying: variables are required to be assigned in the process.
Not
magically by the engine.

> I've created the attached process and it fails to run in ODE 1.2 (on
tomcat
> 5.5). When I run the same process in the BPEL SE of OpenESB it runs
fine. So
> my questions are:
>
> -          Are my variables initialized properly?
>
> -          Why do I get a selectionFailure in ODE, and not in OpenESB
> (both are BPEL 2.0 complaint)
>
>
Your attachment has apparently been stripped (you can try to put it in a
zip) so it's hard to answer. They could have some sort of extension to
automatically initialize variables, which isn't part of the standard.
Although enabling it by default is slippery as it's non-standard. That
would
be a bit surprising though, their support for assignment seems very
partial
so it's odd they would have had implemented this before other standard
features. But I'm just guessing, seeing your process would probably
help.

Btw we have a patch proposition to add some sort of dynamic creation of
target path:

https://issues.apache.org/jira/browse/ODE-371

So we should get that pretty soon.

Thanks,
Matthieu


>
>
> This is (part of) the logging I'm getting in ODE:
>
>
>
> DEBUG - GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: FOUND
match
> for NEW instance mexRef={MyRoleMex#hqejbhcnphr3o6s86m1xae [Client
> hqejbhcnphr3o6s86m1xad] calling {
>
http://nsp.rdc.nl/RDC/diensten}as13Service.opvragenAS13(...)<http://nsp.
rdc.nl/RDC/diensten%7Das13Service.opvragenAS13%28...%29>
> }
>
> DEBUG - GeronimoLog.debug(66) | Initialize variable: name={Variable
> __PROCESS_SCOPE:as13.OpvragenAS13In:OMessageVarType#42} value=<?xml
> version="1.0" encoding="UTF-8"?>
>
> <message><opvragenAS13><opvragenAS13 xmlns="http://nsp.rdc.nl/RDC"
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="
> http://www.w3.org/2001/XMLSchema" xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance">
>
>    <Identificatie xmlns="http://nsp.rdc.nl/RDC">
>
>     <Gebruikersnummer xmlns="http://nsp.rdc.nl/RDC
> ">rdc931179999</Gebruikersnummer>
>
>     <Rol xmlns="http://nsp.rdc.nl/RDC">TEST</Rol>
>
>     <Route xmlns="http://nsp.rdc.nl/RDC">WEBAPP</Route>
>
>     <TransactieID
xmlns="http://nsp.rdc.nl/RDC">123456789</TransactieID>
>
>    </Identificatie>
>
>    <Kenteken xmlns="http://nsp.rdc.nl/RDC">48SJXT</Kenteken>
>
>   </opvragenAS13></opvragenAS13></message>
>
> DEBUG - GeronimoLog.debug(66) | <empty name=OEmpty#51>
>
> DEBUG - GeronimoLog.debug(66) | Assign.copy({OCopy {OXPath10Expression
>
$OpvragenVoertuigBasisIn.opvragenVoertuigBasis/ns0:Kenteken}={OXPath10Ex
pression
> $OpvragenAS13In.opvragenAS13/ns0:Kenteken}})
>
> DEBUG - GeronimoLog.debug(66) | Evaluating FROM expression
> "{OXPath10Expression $OpvragenAS13In.opvragenAS13/ns0:Kenteken}".
>
> DEBUG - GeronimoLog.debug(66) | translateNamespacePrefixToUri()=
> http://docs.oasis-open.org/wsbpel/2.0/process/executable
>
> DEBUG - GeronimoLog.debug(66) | translateNamespacePrefixToUri(ns0)=
> http://nsp.rdc.nl/RDC
>
> DEBUG - GeronimoLog.debug(66) | translateNamespacePrefixToUri(ns0)=
> http://nsp.rdc.nl/RDC
>
> DEBUG - GeronimoLog.debug(66) | lvalue after eval [message: null]
>
> DEBUG - GeronimoLog.debug(66) | content <?xml version="1.0"
> encoding="UTF-8"?>
>
> <message><opvragenVoertuigBasis><opvragenVoertuigBasis xmlns="
> http://nsp.rdc.nl/RDC"/></opvragenVoertuigBasis></message>
>
> DEBUG - GeronimoLog.debug(66) | translateNamespacePrefixToUri()=
> http://docs.oasis-open.org/wsbpel/2.0/process/executable
>
> ERROR - GeronimoLog.error(104) | Assignment Fault: {
>
http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailur
e,lineNo=33,faultExplanation=No<http://docs.oasis-open.org/wsbpel/2.0/pr
ocess/executable%7DselectionFailure,lineNo=33,faultExplanation=No>result
s for expression: {OXPath10Expression

> $OpvragenVoertuigBasisIn.opvragenVoertuigBasis/ns0:Kenteken}
>
> DEBUG - GeronimoLog.debug(66) | ({OScope '__PROCESS_SCOPE:as13'
> id=3},TerminationChannel#1,ParentScopeChannel#2): has a fault handler
for {
>
http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailur
e<http://docs.oasis-open.org/wsbpel/2.0/process/executable%7DselectionFa
ilure>:
> {OCatch faultName=null, faultVariable=null}
>
>
>
>
>
> Any thoughts on this would be great.
>
>
>
> Kind regards,
>
>
>
> Danny
>
>
>
> P.S. I've attached my bpel file.
>

Re: Question about initialize variables and selectionFailure

Posted by Matthieu Riou <ma...@offthelip.org>.
On Tue, Oct 14, 2008 at 11:17 PM, Danny Kruitbosch <d....@rdc.nl>wrote:

>  Hi,
>
>
>
> I've been reading up on the BPEL 2.0 standard and it states that all
> variables should be initialized before they can be used (by way of creating
> an assign activity to copy a 'literal' to the actual variable).
>
Just clarifying: variables are required to be assigned in the process. Not
magically by the engine.

> I've created the attached process and it fails to run in ODE 1.2 (on tomcat
> 5.5). When I run the same process in the BPEL SE of OpenESB it runs fine. So
> my questions are:
>
> -          Are my variables initialized properly?
>
> -          Why do I get a selectionFailure in ODE, and not in OpenESB
> (both are BPEL 2.0 complaint)
>
>
Your attachment has apparently been stripped (you can try to put it in a
zip) so it's hard to answer. They could have some sort of extension to
automatically initialize variables, which isn't part of the standard.
Although enabling it by default is slippery as it's non-standard. That would
be a bit surprising though, their support for assignment seems very partial
so it's odd they would have had implemented this before other standard
features. But I'm just guessing, seeing your process would probably help.

Btw we have a patch proposition to add some sort of dynamic creation of
target path:

https://issues.apache.org/jira/browse/ODE-371

So we should get that pretty soon.

Thanks,
Matthieu


>
>
> This is (part of) the logging I'm getting in ODE:
>
>
>
> DEBUG - GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: FOUND match
> for NEW instance mexRef={MyRoleMex#hqejbhcnphr3o6s86m1xae [Client
> hqejbhcnphr3o6s86m1xad] calling {
> http://nsp.rdc.nl/RDC/diensten}as13Service.opvragenAS13(...)<http://nsp.rdc.nl/RDC/diensten%7Das13Service.opvragenAS13%28...%29>
> }
>
> DEBUG - GeronimoLog.debug(66) | Initialize variable: name={Variable
> __PROCESS_SCOPE:as13.OpvragenAS13In:OMessageVarType#42} value=<?xml
> version="1.0" encoding="UTF-8"?>
>
> <message><opvragenAS13><opvragenAS13 xmlns="http://nsp.rdc.nl/RDC"
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="
> http://www.w3.org/2001/XMLSchema" xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance">
>
>    <Identificatie xmlns="http://nsp.rdc.nl/RDC">
>
>     <Gebruikersnummer xmlns="http://nsp.rdc.nl/RDC
> ">rdc931179999</Gebruikersnummer>
>
>     <Rol xmlns="http://nsp.rdc.nl/RDC">TEST</Rol>
>
>     <Route xmlns="http://nsp.rdc.nl/RDC">WEBAPP</Route>
>
>     <TransactieID xmlns="http://nsp.rdc.nl/RDC">123456789</TransactieID>
>
>    </Identificatie>
>
>    <Kenteken xmlns="http://nsp.rdc.nl/RDC">48SJXT</Kenteken>
>
>   </opvragenAS13></opvragenAS13></message>
>
> DEBUG - GeronimoLog.debug(66) | <empty name=OEmpty#51>
>
> DEBUG - GeronimoLog.debug(66) | Assign.copy({OCopy {OXPath10Expression
> $OpvragenVoertuigBasisIn.opvragenVoertuigBasis/ns0:Kenteken}={OXPath10Expression
> $OpvragenAS13In.opvragenAS13/ns0:Kenteken}})
>
> DEBUG - GeronimoLog.debug(66) | Evaluating FROM expression
> "{OXPath10Expression $OpvragenAS13In.opvragenAS13/ns0:Kenteken}".
>
> DEBUG - GeronimoLog.debug(66) | translateNamespacePrefixToUri()=
> http://docs.oasis-open.org/wsbpel/2.0/process/executable
>
> DEBUG - GeronimoLog.debug(66) | translateNamespacePrefixToUri(ns0)=
> http://nsp.rdc.nl/RDC
>
> DEBUG - GeronimoLog.debug(66) | translateNamespacePrefixToUri(ns0)=
> http://nsp.rdc.nl/RDC
>
> DEBUG - GeronimoLog.debug(66) | lvalue after eval [message: null]
>
> DEBUG - GeronimoLog.debug(66) | content <?xml version="1.0"
> encoding="UTF-8"?>
>
> <message><opvragenVoertuigBasis><opvragenVoertuigBasis xmlns="
> http://nsp.rdc.nl/RDC"/></opvragenVoertuigBasis></message>
>
> DEBUG - GeronimoLog.debug(66) | translateNamespacePrefixToUri()=
> http://docs.oasis-open.org/wsbpel/2.0/process/executable
>
> ERROR - GeronimoLog.error(104) | Assignment Fault: {
> http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure,lineNo=33,faultExplanation=No<http://docs.oasis-open.org/wsbpel/2.0/process/executable%7DselectionFailure,lineNo=33,faultExplanation=No>results for expression: {OXPath10Expression
> $OpvragenVoertuigBasisIn.opvragenVoertuigBasis/ns0:Kenteken}
>
> DEBUG - GeronimoLog.debug(66) | ({OScope '__PROCESS_SCOPE:as13'
> id=3},TerminationChannel#1,ParentScopeChannel#2): has a fault handler for {
> http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure<http://docs.oasis-open.org/wsbpel/2.0/process/executable%7DselectionFailure>:
> {OCatch faultName=null, faultVariable=null}
>
>
>
>
>
> Any thoughts on this would be great.
>
>
>
> Kind regards,
>
>
>
> Danny
>
>
>
> P.S. I've attached my bpel file.
>