[jboss-user] [jBPM] New message: "[org.jbpm.bpel.sublang.xpath.XPathEvaluator] cannot create element for step with non-numeric predicate: [(DefaultNameStep): arg0]"

Christy Christy do-not-reply at jboss.com
Tue Mar 2 10:07:08 EST 2010


User development,

A new message was posted in the thread "[org.jbpm.bpel.sublang.xpath.XPathEvaluator] cannot create element for step with non-numeric predicate: [(DefaultNameStep): arg0]":

http://community.jboss.org/message/529379#529379

Author  : Christy Christy
Profile : http://community.jboss.org/people/christy

Message:
--------------------------------------------------------------
Hi to everybody!
Please help me!
Here is my simple bpel process:
> <process name="HelloWorld" targetNamespace="http://nmsp" xmlns:tns="http://nmsp"
>     xmlns:buoysnmsp="http://buoys.ws.esimo/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>     xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable">
>     <import importType="http://schemas.xmlsoap.org/wsdl/" location="hello.wsdl"
>         namespace="http://nmsp"/>
>     <partnerLinks>
>         <partnerLink myRole="Greeter" name="caller" partnerLinkType="tns:Greeter-Caller"> </partnerLink>
>         <partnerLink partnerRole="BuoysRole" name="BuoysWSJaxWsService"
>             partnerLinkType="tns:BuoysLink"> </partnerLink>
>     </partnerLinks>
> 
>     <variables>
>         <variable messageType="tns:nameMessage" name="request"> </variable>
>         <variable type="xsd: int" name="n"> </variable>
>         <variable messageType="tns:greetingMessage" name="response"> </variable>       
>         <variable messageType="buoysnmsp:BuoysWSJaxWs_getIntArr" name="BuoysWSJaxWs_getIntArr"> </variable>
>         <variable messageType="buoysnmsp:BuoysWSJaxWs_getIntArrResponse" name="BuoysWSJaxWs_getIntArrResponse"> </variable>
>     </variables>
>     <correlationSets>
>         <correlationSet name="trip" properties="tns:tripLocator"/>
>     </correlationSets>
>     <sequence name="MainSeq">           
>         <receive createInstance="yes" name="ReceiveName" operation="sayHello" partnerLink="caller"
>             portType="tns:Greeter" variable="request"> </receive>
>         <assign>
>             <copy>
>                 <from>1</from>
>                 <to variable="n"/>
>                 </copy>
>                 <copy>
>                     <from>$request.name/leafElement[$n]</from>
>                     <to>$BuoysWSJaxWs_getIntArr.getIntArr/arg0[$n]</to>
>                 </copy>
>             <!--</copy>-->
>         </assign>   
>      
>         <invoke name="InvokeBuoys" operation="getIntArr" partnerLink="BuoysWSJaxWsService"
>             portType="buoysnmsp:BuoysWSJaxWs" inputVariable="BuoysWSJaxWs_getIntArr"
>             outputVariable="BuoysWSJaxWs_getIntArrResponse">
>             <correlations>
>                 <correlation set="trip" initiate="yes" pattern="in"/>
>             </correlations>
>         </invoke>
>         <assign>
>             <copy>
>                 <from>$BuoysWSJaxWs_getIntArrResponse.getIntArrResponse</from>
>                 <to>$response.greeting</to>
>             </copy>            
>         </assign>
>         
>         <reply name="SendGreeting" operation="sayHello" partnerLink="caller" portType="tns:Greeter"
>             variable="response"> </reply>
>         
>     </sequence>
> </process>
> 
 
This is its wsdl:
> <definitions targetNamespace="http://nmsp"
>     xmlns:tns="http://nmsp" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>     xmlns:buoysnmsp="http://buoys.ws.esimo/"
>     xmlns:bpel="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
>     xmlns:plt="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
>     xmlns="http://schemas.xmlsoap.org/wsdl/">
>     <import namespace="http://buoys.ws.esimo/" location="BuoysWSJaxWsService.wsdl" />
>     <types>        
>         <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
>             targetNamespace="http://nmsp">
>        
>             <xsd:element name="newElement" type = "tns:newElement" />      
>             
>                 <xsd:complexType name="newElement">
>                     <xsd:sequence>                        
>                         <xsd:element name="leafElement" type = "xsd:double" maxOccurs="unbounded"/>                               
>                     </xsd:sequence>
>                 </xsd:complexType>
>              
>             
>         </xsd:schema>        
>     </types>
>     <message name="greetingMessage">
>         <part name="greeting" element="tns:newElement" />
>     </message>
>     <message name="nameMessage">
>         <part name="name"  element="tns:newElement" />
>     </message>
>     <portType name="Greeter">
>         <operation name="sayHello">
>             <input message="tns:nameMessage" />
>             <output message="tns:greetingMessage" />
>         </operation>
>     </portType>
>     <plt:partnerLinkType name="Greeter-Caller">        
>         <plt:role name="Greeter" portType="tns:Greeter">            
>         </plt:role>
>     </plt:partnerLinkType>
>     <plt:partnerLinkType name="BuoysLink">        
>         <plt:role name="BuoysRole" portType="buoysnmsp:BuoysWSJaxWs">            
>         </plt:role>
>     </plt:partnerLinkType>
>     <bpel:property name="tripLocator" type="xsd:int" />
>     <bpel:propertyAlias propertyName="tns:tripLocator" messageType="buoysnmsp:BuoysWSJaxWs_getIntArr"
>     part="getIntArr" />
>     <bpel:propertyAlias propertyName="tns:tripLocator" messageType="buoysnmsp:BuoysWSJaxWs_getIntArrResponse"
>     part="getIntArrResponse" />
>     </definitions>
When I try to invoke it I get the error:
> ERROR [org.jbpm.bpel.sublang.xpath.XPathEvaluator] cannot create element for step with non-numeric predicate: [(DefaultNameStep): arg0]
Why? what is wrong?
> P.S. it is interasting that if I change "to" in <copy>
>                     <from>$request.name/leafElement[$n]</from>
>                     <to>$BuoysWSJaxWs_getIntArr.getIntArr/*arg0[$n]*</to>
>                 </copy> 
> to <copy>
> 
>                     <from>$request.name/leafElement[$n]</from>
> 
>                     <to>$BuoysWSJaxWs_getIntArr.getIntArr/*arg0[1]*</to>
> 
>                 </copy>
everything works fine. Where is my mistake?
Thank you!

--------------------------------------------------------------

To reply to this message visit the message page: http://community.jboss.org/message/529379#529379




More information about the jboss-user mailing list