ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Wenfeng ZHAO" <zhaowenf...@gmail.com>
Subject Re: ODE selectionFault
Date Wed, 16 Sep 2009 01:19:19 GMT
Hello Keith,

I believe the reason is: both of the two destination variables in the two copy activities
has not 
been initialized. See the WS-BPEL standard 2.0(April 11,2007) at page 48 (Section 8.1):
"A global variable is in an uninitialized state at the beginning of a process. A local variable
is in 
an uninitialized state at the start of the scope it belongs to."
and 
"An attempt during process execution to read a variable or, in the case of a message type
variable, a 
part of a variable before it is initialized MUST result in the standard bpel:uninitializedVariable

fault."

I guess other BPEL engines might implicitly intialize the destination variable of copy.


To locate where in the process the fault takes place, the console output of ODE is a good
choice, 
which by default contains some verbose DEBUG/ERROR information. Haven't you read them?


Wenfeng
=======On 2009-09-16 at 02:38:09 Barlow, Keith wrote: =======

> Hiyas,
> 
>  
> 
> I am trying to use a BPEL created in NetBeans 6.5.1 on ODE and am
> getting a selectionFailure when the process runs.  The BPEL seems to
> work fine in OpenESB. I would like to use ODE though because OpenESB is
> tied to the Glassfish Application Server; however, I have not been able
> to find a suitable (relatively bug free) designer for Eclipse yet.  I am
> hoping to write BPELs with the NetBeans designer and import them to
> Eclipse to port to ODE.  The BPEL is supposed to be the same as long as
> it is not vendor specific.
> 
>  
> 
> Anyway... here is the BPEL which is throwing the selectionFailure.  It's
> a simple sample service that just invokes a service to convert an id
> number to a name:
> 
>  
> 
> < process
> 
>     name="CustomerProcess"
> 
>     targetNamespace="http://soa.com/bpel/CustomerProcess"
> 
>     xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
> 
>     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> 
>  
> xmlns:sxt="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension
> /Trace" 
> 
>  
> xmlns:sxed="http://www.sun.com/wsbpel/2.0/process/executable/SUNExtensio
> n/Editor"
> 
>     xmlns:tns="http://soa.com/bpel/CustomerProcess"
> xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable"> 
> 
>     < import namespace="urn:com:soa"
> location="localhost_8080/CustomerLookupService/CustomerLookupService.wsd
> l" importType="http://schemas.xmlsoap.org/wsdl/"/> 
> 
>     < import namespace="http://soa.com/wsdl/CustomerProcessEsb"
> location="CustomerProcessEsb.wsdl"
> importType="http://schemas.xmlsoap.org/wsdl/"/> 
> 
>     < partnerLinks> 
> 
>         < partnerLink name="NameServicePartnerLink"
> xmlns:tns="urn:com:soa" partnerLinkType="tns:CustomerLookupService"
> partnerRole="lookupRole"/> 
> 
>         < partnerLink name="CustomerProcessPartnerLink"
> xmlns:tns="http://soa.com/wsdl/CustomerProcessEsb"
> partnerLinkType="tns:CustomerProcessEsb"
> myRole="CustomerProcessEsbPortTypeRole"/> 
> 
>     < /partnerLinks> 
> 
>     < variables> 
> 
>         < variable name="CustomerProcessEsbOperationOut"
> xmlns:tns="http://soa.com/wsdl/CustomerProcessEsb"
> messageType="tns:CustomerProcessEsbOperationResponse"/> 
> 
>         < variable name="GetCustomerFullNameOut" xmlns:tns="urn:com:soa"
> messageType="tns:getCustomerFullNameResponse"/> 
> 
>         < variable name="GetCustomerFullNameIn" xmlns:tns="urn:com:soa"
> messageType="tns:getCustomerFullName"/> 
> 
>         < variable name="CustomerProcessEsbOperationIn"
> xmlns:tns="http://soa.com/wsdl/CustomerProcessEsb"
> messageType="tns:CustomerProcessEsbOperationRequest"/> 
> 
>     < /variables> 
> 
>     < sequence> 
> 
>         < receive name="ReceiveLookupRequest" createInstance="yes"
> partnerLink="CustomerProcessPartnerLink"
> operation="CustomerProcessEsbOperation"
> xmlns:tns="http://soa.com/wsdl/CustomerProcessEsb"
> portType="tns:CustomerProcessEsbPortType"
> variable="CustomerProcessEsbOperationIn"/> 
> 
>         < assign name="Assign1"> 
> 
>             < copy> 
> 
>  
> < from> $CustomerProcessEsbOperationIn.getCustomerFullNameEsb/customerID< /
> from> 
> 
>                 < to> $GetCustomerFullNameIn.parameters/customerID< /to>

> 
>             < /copy> 
> 
>         < /assign> 
> 
>         < invoke name="InvokeCustomerLookup"
> partnerLink="NameServicePartnerLink" operation="getCustomerFullName"
> xmlns:tns="urn:com:soa" portType="tns:CustomerLookupService"
> inputVariable="GetCustomerFullNameIn"
> outputVariable="GetCustomerFullNameOut"/> 
> 
>         < assign name="Assign2"> 
> 
>             < copy> 
> 
>  
> < from> $GetCustomerFullNameOut.parameters/customerFullName< /from> 
> 
>  
> < to> $CustomerProcessEsbOperationOut.getCustomerFullNameResponseEsb/custo
> merFullName< /to> 
> 
>             < /copy> 
> 
>         < /assign> 
> 
>         < reply name="ReplyToClient"
> partnerLink="CustomerProcessPartnerLink"
> operation="CustomerProcessEsbOperation"
> xmlns:tns="http://soa.com/wsdl/CustomerProcessEsb"
> portType="tns:CustomerProcessEsbPortType"
> variable="CustomerProcessEsbOperationOut"/> 
> 
>     < /sequence> 
> 
> < /process> 
> 
>  
> 
> Is there anything obvious here that stands out which might cause the
> selectionFailure fault?  What are some of the recommended ways to narrow
> down which bpel activity is generating the fault?  Does ODE have more
> verbose logging settings?
> 
>  
> 
> Thanks.
> 
>  
> 
> Keith  

= = = = = = = = = = = = = = = = = = = =
ZHAO Wenfeng (赵文峰)
Ph.D. Candidate
http://www.bupt.edu.cn
Mime
View raw message