Assignment Fault - No results for expression

View: New views
9 Messages — Rating Filter:   Alert me  

Assignment Fault - No results for expression

by Massimiliano Giraldo :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi all!

When I try to execute a service, created for ActiveBpel, modified and correctly deployed on Ode, I have this error:

ERROR [ASSIGN] Assignment Fault:
{http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure,lineNo=43,faultExplanation=No results for expression: {OXPath10Expression
bs:Properties[bs:PropertyName='deviceID']/bs:PropertyValue


I read on the web (and in this mailing list too) that this error may be generated by two reasons:
- the absense of <literal> element when I define the variable, before the assignment.
- a problem of namespaces.
- different implementation of assignment between Active Bpel and Apache Ode.

In my bpel file, the variable is within <literal> and </literal> element, with correct namespace.
The namespace of the query "bs:Properties[bs:PropertyName='deviceID']/bs:PropertyValue" is correct too.

May be there another reason that can generate this error? Or was my analysis wrong?

Thanks,
Max

Re: Assignment Fault - No results for expression

by Tammo van Lessen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Massimiliano,

did you initialize the whole variable with the literal? If you're just
writing a subpart (indicated by an XPath), this subpart is most probably
not existing and therefore resulting in a selection failure. I know that
ActiveBPEL can automatically initialize variables. However, as this is
not automatically possible in all cases (especially when dealing with
optional elements, how many instances should be automatically created,
should also subchildren be created?), we have decided to not implement
it. In case people really request this freature we still can consider
implementing it.

Cheers,
   Tammo

Massimiliano Giraldo wrote:

> Hi all!
>
> When I try to execute a service, created for ActiveBpel, modified and
> correctly deployed on Ode, I have this error:
>
> ERROR [ASSIGN] Assignment Fault:
> {http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure,lineNo=43,faultExplanation=No
> results for expression: {OXPath10Expression
> bs:Properties[bs:PropertyName='deviceID']/bs:PropertyValue
>
> I read on the web (and in this mailing list too) that this error may be
> generated by two reasons:
> - the absense of <literal> element when I define the variable, before the
> assignment.
> - a problem of namespaces.
> - different implementation of assignment between Active Bpel and Apache Ode.
>
> In my bpel file, the variable is within <literal> and </literal> element,
> with correct namespace.
> The namespace of the query
> "bs:Properties[bs:PropertyName='deviceID']/bs:PropertyValue" is correct too.
>
> May be there another reason that can generate this error? Or was my analysis
> wrong?
>
> Thanks,
> Max
>
> -----
> http://www.pcguide.netsons.org http://www.pcguide.netsons.org 


Re: Assignment Fault - No results for expression

by Massimiliano Giraldo :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Tammo,

Active Bpel already initialize the whole variable with literal.

I have this structure:

<bpel:assign name ="setParameters">
   <bpel:copy>
      <bpel:from>
          <bpel:literal>
              <ns:invokeAction
                        xmlns:ns="...">
                 <ns:actionName>...</ns:actionName>
                 <ns:compositionSessionID></ns:compositionSessionID>
                 <ns:baseServiceInstance>0</ns:baseServiceInstance>
                 <ns:properties>
                        <ns:propertyName>deviceID</ns:propertyName>
                        <ns:propertyValue></ns:propertyValue>
                 </ns:properties>
                 ...
              </ns:invokeAction>
         </bpel:literal>
      </bpel:from>
      <bpel:to part="invokeAction" variable="ClickAndFindMessage"/>
</bpel:copy>

And then I have many <copy>...</copy> structure where I have the queries in XPath.

Should I include every <property> within literal element?

Cheers,
Max




Tammo van Lessen wrote:
Hi Massimiliano,

did you initialize the whole variable with the literal? If you're just
writing a subpart (indicated by an XPath), this subpart is most probably
not existing and therefore resulting in a selection failure. I know that
ActiveBPEL can automatically initialize variables. However, as this is
not automatically possible in all cases (especially when dealing with
optional elements, how many instances should be automatically created,
should also subchildren be created?), we have decided to not implement
it. In case people really request this freature we still can consider
implementing it.

Cheers,
   Tammo

Massimiliano Giraldo wrote:
> Hi all!
>
> When I try to execute a service, created for ActiveBpel, modified and
> correctly deployed on Ode, I have this error:
>
> ERROR [ASSIGN] Assignment Fault:
> {http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure,lineNo=43,faultExplanation=No
> results for expression: {OXPath10Expression
> bs:Properties[bs:PropertyName='deviceID']/bs:PropertyValue
>
> I read on the web (and in this mailing list too) that this error may be
> generated by two reasons:
> - the absense of <literal> element when I define the variable, before the
> assignment.
> - a problem of namespaces.
> - different implementation of assignment between Active Bpel and Apache Ode.
>
> In my bpel file, the variable is within <literal> and </literal> element,
> with correct namespace.
> The namespace of the query
> "bs:Properties[bs:PropertyName='deviceID']/bs:PropertyValue" is correct too.
>
> May be there another reason that can generate this error? Or was my analysis
> wrong?
>
> Thanks,
> Max
>
> -----
> http://www.pcguide.netsons.org http://www.pcguide.netsons.org 

Re: Assignment Fault - No results for expression

by Tammo van Lessen :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Massimiliano,

Massimiliano Giraldo wrote:
>
> Should I include every <property> within literal element?

Yes, so each element you want to select later must be existing and
should therefore initialized beforehand.

Best,
   Tammo

Parent Message unknown Assignment Fault - No results for expression

by Alex Boisvert-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I don't know if it's a copy & paste issue but I see a discrepancy between:

<ns:properties>
    <ns:propertyName>deviceID</ns:propertyName>
    <ns:propertyValue></ns:propertyValue>
</ns:properties>

and your XPath expression:
bs:Properties[bs:PropertyName='deviceID']/bs:PropertyValue

The case of the element names don't match.

alex

Re: Assignment Fault - No results for expression

by Massimiliano Giraldo :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Mmm... Good Comment!
Now I'm at home, so I can't see the code.

Tomorrow I'll try to modify this thing!
If the problem was this, this error means that ActiveBpel isn't case sensitive, whereas Apache Ode is case sensitive.

Thanks Alex

Max


Alex Boisvert-3 wrote:
I don't know if it's a copy & paste issue but I see a discrepancy between:

<ns:properties>
    <ns:propertyName>deviceID</ns:propertyName>
    <ns:propertyValue></ns:propertyValue>
</ns:properties>

and your XPath expression:
bs:Properties[bs:PropertyName='deviceID']/bs:PropertyValue

The case of the element names don't match.

alex

Re: Assignment Fault - No results for expression

by Paul Brown-5 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


On Jul 15, 2008, at 10:49 AM, Massimiliano Giraldo wrote:
> Mmm... Good Comment!
> Now I'm at home, so I can't see the code.
> Tomorrow I'll try to modify this thing!
> If the problem was this, this error means that ActiveBpel isn't case
> sensitive, whereas Apache Ode is case sensitive.

Could be anything, Massimiliano.  I've seen this sort of thing before  
where an API was a thin passthrough to a database that wasn't set to  
be case sensitive...

Historically (even back in the early days of BPEL doing vendor bake-
offs), ODE has tried to err on the side of correctness.  While this  
seems to be the choice of "least surprise" for our users, it sometimes  
ends up being surprising for users of less stringent  
implementations... :)

-- Paul

Re: Assignment Fault - No results for expression

by Massimiliano Giraldo :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

It's simply a copy & paste issue.
The expression in the code is correct!

I don't remember where I copy that line. Maybe from the log...

Therefore, my hypothesis about "case sensitive" was wrong!


Alex Boisvert-3 wrote:
I don't know if it's a copy & paste issue but I see a discrepancy between:

<ns:properties>
    <ns:propertyName>deviceID</ns:propertyName>
    <ns:propertyValue></ns:propertyValue>
</ns:properties>

and your XPath expression:
bs:Properties[bs:PropertyName='deviceID']/bs:PropertyValue

The case of the element names don't match.

alex

Re: Assignment Fault - No results for expression

by Massimiliano Giraldo :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I found the solution (at least it works!).

I have modified the bpel file in Linux and then I used it in Windows to verify if it works.

In the transfer from Linux to Windows, at the end of every line, some blank spaces appeared.
It is due to the settings of the editor.

Thanks guys!  

Max


Massimiliano Giraldo wrote:
Hi all!

When I try to execute a service, created for ActiveBpel, modified and correctly deployed on Ode, I have this error:

ERROR [ASSIGN] Assignment Fault:
{http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure,lineNo=43,faultExplanation=No results for expression: {OXPath10Expression
bs:Properties[bs:PropertyName='deviceID']/bs:PropertyValue


I read on the web (and in this mailing list too) that this error may be generated by two reasons:
- the absense of <literal> element when I define the variable, before the assignment.
- a problem of namespaces.
- different implementation of assignment between Active Bpel and Apache Ode.

In my bpel file, the variable is within <literal> and </literal> element, with correct namespace.
The namespace of the query "bs:Properties[bs:PropertyName='deviceID']/bs:PropertyValue" is correct too.

May be there another reason that can generate this error? Or was my analysis wrong?

Thanks,
Max
LightInTheBox - Buy quality products at wholesale price