You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by "Mark Ford (JIRA)" <ji...@apache.org> on 2011/01/11 20:01:01 UTC

[jira] Updated: (ODE-638) Incorrect default expression language for property aliases

     [ https://issues.apache.org/jira/browse/ODE-638?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mark Ford updated ODE-638:
--------------------------

    Attachment: HelloWorld2.zip

Attached is the HelloWorld2 example process modified to demonstrate this error. The attached process will fail deployment because the ODE compiler rejects it. My only change to the BPEL was to set the process level default expressionLanguage to XQuery. My other change in the example was to add a property alias to the WSDL for the HelloMessage. 

Note that the process will deploy fine if you add the queryLanguage attribute to the vprop:query element in the WSDL and specify xpath 2.0. I suspect that it will also work if you remove the default expressionLanguage from the process.

> Incorrect default expression language for property aliases
> ----------------------------------------------------------
>
>                 Key: ODE-638
>                 URL: https://issues.apache.org/jira/browse/ODE-638
>             Project: ODE
>          Issue Type: Bug
>          Components: BPEL Compilation/Parsing
>    Affects Versions: 1.3.2
>            Reporter: Mark Ford
>            Assignee: Karthick Sankarachary
>             Fix For: 1.4
>
>         Attachments: HelloWorld2.zip
>
>
> If a property alias does not define a query language then the default should be XPath 1.0 as per the WS-BPEL 2.0 spec. BpelCompiler.compile(PropertyAlias) uses the same compileExpr(Expression) call as other expressions so the default language becomes whatever the default is for the process definition or XPath 1.0 if not defined.
> I found this problem by setting a default expression to XQuery in my process def. This results in an error at execution since the XQuery compiler inserts a variable declaration for $ode:pid which doesn't resolve in the property alias context.
> One workaround is to add the queryLanguage attribute to each propertyAlias. Another workaround is to not define a default expression language for the process.
> Time permitting, I'll add a test case or patch at some point.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.