ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthieu Riou" <matth...@offthelip.org>
Subject Re: funcationality of array/List/Map in ODE
Date Fri, 12 Oct 2007 14:31:32 GMT
Hi Nilesh,

Unfortunately there's no simple way to deal with arrays or collections using
the standard BPEL assignment. The way the spec works this around is by using
XSL and introducing the doXslTransform XPath function. See the BPEL spec for
more details, we also have an example here:

http://svn.apache.org/repos/asf/ode/branches/APACHE_ODE_1.1/bpel-test/src/test/resources/bpel/2.0/TestXslTransform/

We're currently trying to tackle this in ODE by allowing to replace
assignment with Javascript/E4X code. If you want you can have a look but
it's still early code and not directly integrated with the WAR we produce
just yet (coming soon though). A sample for this is available here:

http://svn.apache.org/repos/asf/ode/trunk/extensions/e4x/src/test/resources/bpel/TestE4X/TestE4X.bpel

Cheers,
Matthieu

On 10/12/07, nileshlr <nileshlr@rediff.com> wrote:
>
>
> I wanted to use funcationality of array/List/Map in my code.Can anyone
> tell
> me how to use it?
>
> I am having method which takes string[] array.So in bpel file I wanted to
> assign some values to array & send it as request to Web service.
>
> Following are my code:-
>
> <bpws:assign name="AssignInstanceInfoToSetAttribute" validate="no">
>                     <bpws:copy>
>                         <bpws:from>
>                             <bpws:literal>
>                                 <tns1:setAttribute
> xmlns:tns1="http://engineering.cbp.jpo">
>                                     <tns1:in0/>
>                                     <tns1:in1/>
>                                     <tns1:in2/>
>                                 </tns1:setAttribute>
>                             </bpws:literal>
>                         </bpws:from>
>
> <bpws:to><![CDATA[$CBPWorkflowPartnerLinkRequest.parameters]]></bpws:to>
>                     </bpws:copy>
>                     <bpws:copy>
>                         <bpws:from part="createBusReturn"
> variable="CreateECRPartnerLinkResponse"/>
>                         <bpws:to variable="CBPWorkflowOID"/>
>                     </bpws:copy>
>                     <bpws:copy>
>                         <bpws:from variable="CBPWorkflowOID"/>
>                         <bpws:to part="parameters"
> variable="CBPWorkflowPartnerLinkRequest">
>                             <bpws:query
> queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0
> "><![CDATA[/tns1:in0]]></bpws:query>
>                         </bpws:to>
>                     </bpws:copy>
>                     <bpws:copy>
>                         <bpws:from><![CDATA["Instance ID"]]></bpws:from>
>                         <bpws:to part="parameters"
> variable="CBPWorkflowPartnerLinkRequest">
>                             <bpws:query
> queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0
> "><![CDATA[/tns1:in1[1]]]></bpws:query>
> <!-- Values to be stored in array-->
>                         </bpws:to>
>                     </bpws:copy>
>                     <bpws:copy>
>                         <bpws:from><![CDATA["Process Instance
> ID"]]></bpws:from>
>                         <bpws:to part="parameters"
> variable="CBPWorkflowPartnerLinkRequest">
>                             <bpws:query
> queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0
> "><![CDATA[/tns1:in1[2]]]></bpws:query><!--
> Values to be stored in array-->
>                         </bpws:to>
>                     </bpws:copy>
>                     <bpws:copy>
>                         <bpws:from part="instance-info"
> variable="getInstanceInfoOutput">
>                             <bpws:query
> queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0
> "><![CDATA[/typ:iid]]></bpws:query>
>                         </bpws:from>
>                         <bpws:to part="parameters"
> variable="CBPWorkflowPartnerLinkRequest">
>                             <bpws:query
> queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0
> "><![CDATA[/tns1:in2[1]]]></bpws:query><!--
> Values to be stored in array-->
>                         </bpws:to>
>                     </bpws:copy>
>                     <bpws:copy>
>                         <bpws:from part="instance-info"
> variable="getInstanceInfoOutput">
>                             <bpws:query
> queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0
> "><![CDATA[/typ:pid]]></bpws:query>
>                         </bpws:from>
>                         <bpws:to part="parameters"
> variable="CBPWorkflowPartnerLinkRequest">
>                             <bpws:query
> queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0
> "><![CDATA[/tns1:in2[2]]]></bpws:query><!--
> Values to be stored in array-->
>                         </bpws:to>
>                     </bpws:copy>
>                     <bpws:copy>
>                         <bpws:from><![CDATA[concat("***********The
> CBPWorkflowPartnerLinkRequest.parameters are *******in1********",
> $CBPWorkflowPartnerLinkRequest.parameters/tns1:in1, "*******in2******** ",
> $CBPWorkflowPartnerLinkRequest.parameters/tns1:in2, "*******in0********",
> $CBPWorkflowPartnerLinkRequest.parameters/tns1:in0)]]></bpws:from>
>
> <bpws:to><![CDATA[$output.payload/tns:response]]></bpws:to>
>                     </bpws:copy>
>                 </bpws:assign>
>
>
> I am getting following errors:-
>
>
>
>
> DEBUG - GeronimoLog.debug(66) | InvokeResponse event for iid 23520
> 14:22:53,123 DEBUG [BpelProcess] InvokeResponse event for iid 23520
> DEBUG - GeronimoLog.debug(66) | Invoking message response for mexid
> hqejbhcnphr2nont4m26rl and channel 40
> 14:22:53,123 DEBUG [BpelRuntimeContextImpl] Invoking message response for
> mexid hqejbhcnphr2nont4m26rl and channel 40
> DEBUG - GeronimoLog.debug(66) | Triggering response
> 14:22:53,123 DEBUG [BpelRuntimeContextImpl] Triggering response
> ERROR - GeronimoLog.error(104) | Assignment Fault:
> {
> http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure,lineNo=199,faultExplanation=No
> results for expression: {OXPath10Expression /tns1:in1[2]}
> 14:22:53,493 ERROR [ASSIGN] Assignment Fault:
> {
> http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure,lineNo=199,faultExplanation=No
> results for expression: {OXPath10Expression /tns1:in1[2]}
> DEBUG - GeronimoLog.trace(54) | >>
> createScopeInstance(parentScopeId=23522,scope={OCatch faultName=null,
> faultVariable=null})
> 14:22:53,493 DEBUG [BpelProcess] >>
> createScopeInstance(parentScopeId=23522,scope={OCatch faultName=null,
> faultVariable=null})
> DEBUG - GeronimoLog.trace(54) | >>
> initializeEndpointReferences(parentScopeId=23598,partnerLinks=[])
> 14:22:53,507 DEBUG [BpelProcess] >>
> initializeEndpointReferences(parentScopeId=23598,partnerLinks=[])
> DEBUG - GeronimoLog.trace(54) | >>
> createScopeInstance(parentScopeId=23577,scope={OScope
> '__compenationHandler_GetInstanceInfo' id=173})
> 14:22:53,693 DEBUG [BpelProcess] >>
> createScopeInstance(parentScopeId=23577,scope={OScope
> '__compenationHandler_GetInstanceInfo' id=173})
> DEBUG - GeronimoLog.trace(54) | >>
> initializeEndpointReferences(parentScopeId=23599,partnerLinks=[])
> 14:22:53,693 DEBUG [BpelProcess] >>
> initializeEndpointReferences(parentScopeId=23599,partnerLinks=[])
> DEBUG - GeronimoLog.trace(54) | >>
> createScopeInstance(parentScopeId=23523,scope={OScope
> '__compenationHandler_CBPWorkflowPersistence' id=160})
> 14:22:53,707 DEBUG [BpelProcess] >>
> createScopeInstance(parentScopeId=23523,scope={OScope
> '__compenationHandler_CBPWorkflowPersistence' id=160})
> DEBUG - GeronimoLog.trace(54) | >>
> initializeEndpointReferences(parentScopeId=23600,partnerLinks=[])
> 14:22:53,721 DEBUG [BpelProcess] >>
> initializeEndpointReferences(parentScopeId=23600,partnerLinks=[])
> DEBUG - GeronimoLog.trace(54) | >>
> createScopeInstance(parentScopeId=23521,scope={OCatch faultName=null,
> faultVariable=null})
> 14:22:53,736 DEBUG [BpelProcess] >>
> createScopeInstance(parentScopeId=23521,scope={OCatch faultName=null,
> faultVariable=null})
> DEBUG - GeronimoLog.trace(54) | >>
> initializeEndpointReferences(parentScopeId=23601,partnerLinks=[])
> 14:22:53,750 DEBUG [BpelProcess] >>
> initializeEndpointReferences(parentScopeId=23601,partnerLinks=[])
> DEBUG - GeronimoLog.debug(66) | ProcessImpl completed with fault
> '{
> http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure'
> 14:22:53,764 DEBUG [BpelProcess] ProcessImpl completed with fault
> '{
> http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure'
> DEBUG - GeronimoLog.trace(54) | >> releaseAll()
> 14:22:53,778 DEBUG [OutstandingRequestManager] >> releaseAll()
>
> Please help me.
> Thanks in advance.
>
> From
> Nilesh Rane
> --
> View this message in context:
> http://www.nabble.com/funcationality-of-array-List-Map-in-ODE-tf4612270.html#a13171691
> Sent from the Apache Ode User mailing list archive at Nabble.com.
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message