Hi Song Thuy,

Yes, that's exactly the problems I've been having with the eclipse bpel editor. 
It seems like the editor caches all of the namespaces and prefixes and doesn't 
refresh the cache after working in the source view. I can't imagine a single 
business process being THAT large that it would require a cache.

_______________________________________
Robert ("Bob") Brodt
Senior Software Engineer, JBoss Riftsaw
Home: (719) 481-5628
Cell: (719) 440-9825
JBoss by Red Hat

----- Original Message -----
From: "Song Thuy Nguyen" <[email protected]>
To: [email protected]
Sent: Thursday, February 25, 2010 1:39:59 PM GMT -07:00 US/Canada Mountain
Subject: RE: Ode Woes

Hello Robert,
I had nightmares about the same failure. Let me guess: you are using eclipse 
bpel designer right? If yes, try to do this: While creating your BPEL process, 
save often, espcially after creating invoke calls to a partnerlink and creating 
variables. SAVE, CLOSE the bpel file and REOPEN it, check back if the method 
that is called with the partnerlink and it's in and out parameter are in order. 

While having the same problem, I tried everything to figure out the problem: 
writing the bpel file manually (hell of a task, too much for my brain) didn't 
work out, comparing a working example with a failed one (same invoke, similiar 
structure) : I didn't find any noticeable difference. As last I tried to 
document each step I went through to create the bpel file and tried different 
workflows and I finally found the workaround as descriped above.
I suppose that there are inconsistencies between the bpel source code (aka bpel 
file) and the model representation in the mainmemory. If you keep working on 
the bpel file and just save without close-and-reopen the inconsistency grows 
and somehow three will be an error-prone write action on the bpel file, 
creating the failure.
When solving this problem I was just happy to get the bpel-process working and 
since I've lost about 2 weeks on this error didn't have time to care anymore 
about what bpel code really created the selectionError. I just went on with the 
development...

I hope this workaround will help you solving the problem and that you have more 
time to find out what really cause this.

Good luck to you!


Song Thuy Nguyen

> -----Original Message-----
> From: Bob Brodt [mailto:[email protected]]
> Sent: Thursday, February 25, 2010 7:44 PM
> To: [email protected]; [email protected]
> Subject: Re: Ode Woes
> 
> Thank you for the reply Antoine. I have been looking through the ODE
> mail archives and finding similar posts. I think it has to do with a
> variable initialization problem...
> 
> _______________________________________
> Robert ("Bob") Brodt
> Senior Software Engineer, JBoss Riftsaw
> Home: (719) 481-5628
> Cell: (719) 440-9825
> JBoss by Red Hat
> 
> ----- Original Message -----
> From: "Antoine Toulme" <[email protected]>
> To: [email protected]
> Sent: Thursday, February 25, 2010 11:03:10 AM GMT -07:00 US/Canada
> Mountain
> Subject: Re: Ode Woes
> 
> That's because one of your bpel copy is not valid. It's difficult to
> say
> without seeing the bpel:copy in question.
> 
> Thanks,
> 
> Antoine
> 
> On Thu, Feb 25, 2010 at 08:04, Bob Brodt <[email protected]> wrote:
> 
> > Hi all,
> >
> > I'm having a devil of a time trying to build & run some simple BPEL
> > processes in tomcat/ODE. When I try to send a valid message to the
> BPEL
> > service, I'm getting a "selectionFailure" fault back, caused by (I'm
> > assuming) a BPEL execution error. Here's the webserver log file
> > (~/apache-tomcat-5.5.28/logs/catalina.out):
> >
> > DEBUG - GeronimoLog.debug(66) | The system is checking for the
> operation
> > using the following WSAAction:
> > DEBUG - GeronimoLog.debug(66) | Checking for Operation using SOAP
> message
> > body's first child's local name : inventoryService
> > DEBUG - GeronimoLog.debug(66) | Found operation
> > org.apache.axis2.description.inoutaxisoperat...@11650df
> > DEBUG - GeronimoLog.debug(66) | Received request message for
> > Quickstart_bpel_blueprint1_inventoryService.{
> > http://manufacturing.org/wsdl/inventory/bp1}inventoryService
> > DEBUG - GeronimoLog.debug(66) | Starting transaction.
> > DEBUG - GeronimoLog.debug(66) | Routed: svcQname {
> > http://manufacturing.org/wsdl/inventory/bp1}inventoryService -->
> > [BpelProcess[{
> > http://manufacturing.org/wsdl/inventory/bp1}InventoryService-15]]
> > DEBUG - GeronimoLog.debug(66) | ODE routed to operation Operation:
> > name=inventoryService
> > style=REQUEST_RESPONSE,1
> > Input: name=purchaseOrder
> > Message: name={http://manufacturing.org/wsdl/inventory/bp1}POMessage
> > Part: name=purchaseOrder
> > typeName={http://manufacturing.org/xsd/purchase}purchaseOrderType
> > Output: name=inventoryStatus
> > Message: name={
> > http://manufacturing.org/wsdl/inventory/bp1}InventoryMessage
> > Part: name=inventoryPart
> > typeName={http://manufacturing.org/xsd/inventory}inventoryType
> > Fault: name=inventoryFaultType
> > Message:
> name={http://manufacturing.org/wsdl/inventory/bp1}inventoryFault
> > Part: name=faultInfo
> > elementName={http://manufacturing.org/xsd/inventory}inventoryFault
> from
> > service {http://manufacturing.org/wsdl/inventory/bp1}inventoryService
> > DEBUG - GeronimoLog.debug(66) | SET MEX property isTwoWay = true
> > DEBUG - GeronimoLog.debug(66) | Invoking ODE using MEX
> > {MyRoleMex#hqejbhcnphr52e5fhhmg6q [Client hqejbhcnphr52e5fhhmg6p]
> calling {
> >
> http://manufacturing.org/wsdl/inventory/bp1}inventoryService.inventoryS
> ervice(...)
> > }
> > DEBUG - GeronimoLog.debug(66) | Message content:  <?xml version="1.0"
> > encoding="UTF-8"?>
> > <message><purchaseOrder
> xmlns:pur="http://manufacturing.org/xsd/purchase";
> > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";>
> >            <orderId xmlns="http://manufacturing.org/xsd/purchase
> > ">123</orderId>
> >            <customerId xmlns="http://manufacturing.org/xsd/purchase
> > ">456</customerId>
> >            <orderDescription
> xmlns="http://manufacturing.org/xsd/purchase
> > ">OrderVal_Any_Description</orderDescription>
> >            <price xmlns="http://manufacturing.org/xsd/purchase"/>
> >         </purchaseOrder></message>
> > DEBUG - GeronimoLog.debug(66) | invoke() EPR= null ==> BpelProcess[{
> > http://manufacturing.org/wsdl/inventory/bp1}InventoryService-15]
> > DEBUG - GeronimoLog.debug(66) | Commiting ODE MEX
> > {MyRoleMex#hqejbhcnphr52e5fhhmg6q [Client hqejbhcnphr52e5fhhmg6p]
> calling {
> >
> http://manufacturing.org/wsdl/inventory/bp1}inventoryService.inventoryS
> ervice(...)
> > }
> > DEBUG - GeronimoLog.debug(66) | Commiting transaction.
> > DEBUG - GeronimoLog.debug(66) | handleWorkEvent: InvokeInternal event
> for
> > mexid hqejbhcnphr52e5fhhmg6q
> > DEBUG - GeronimoLog.debug(66) | >>
> > handleWorkEvent(jobData={mexid=hqejbhcnphr52e5fhhmg6q, pid={
> > http://manufacturing.org/wsdl/inventory/bp1}InventoryService-15,
> > type=INVOKE_INTERNAL})
> > DEBUG - GeronimoLog.debug(66) | InvokeInternal event for mexid
> > hqejbhcnphr52e5fhhmg6q
> > DEBUG - GeronimoLog.debug(66) | GET MEX property
> > org.apache.ode.bpel.myRoleSessionId = null
> > DEBUG - GeronimoLog.debug(66) | GET MEX property
> > org.apache.ode.bpel.myRoleSessionId = null
> > DEBUG - GeronimoLog.debug(66) | GET MEX property
> > org.apache.ode.bpel.partnerRoleSessionId = null
> > DEBUG - GeronimoLog.debug(66) | INPUTMSG:
> > inventorySevicePLink.inventoryService: MSG RCVD keys=[]
> mySessionId=null
> > partnerSessionId=null
> > DEBUG - GeronimoLog.debug(66) | INPUTMSG:
> > inventorySevicePLink.inventoryService: routing failed, CREATING NEW
> INSTANCE
> > DEBUG - GeronimoLog.debug(66) | BpelRuntimeContextImpl created for
> instance
> > 1164. INDEXED STATE={}
> > DEBUG - GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: USING
> > CORRELATOR inventorySevicePLink.inventoryService
> > DEBUG - GeronimoLog.debug(66) | SELECT: PickResponseChannel#9:
> CHECKING for
> > NEW INSTANCE match
> > DEBUG - GeronimoLog.debug(66) | INPUTMSGMATCH: Changing process
> instance
> > state from ready to active
> > DEBUG - GeronimoLog.debug(66) | SELECT: PickResponseChannel#9: FOUND
> match
> > for NEW instance mexRef={MyRoleMex#hqejbhcnphr52e5fhhmg6q [Client
> > hqejbhcnphr52e5fhhmg6p] calling {
> >
> http://manufacturing.org/wsdl/inventory/bp1}inventoryService.inventoryS
> ervice(...)
> > }
> > DEBUG - GeronimoLog.debug(66) | ProcessImpl completed with fault '{
> > http://docs.oasis-
> open.org/wsbpel/2.0/process/executable}selectionFailure'
> > DEBUG - GeronimoLog.debug(66) | Processing an async reply from
> service {
> > http://manufacturing.org/wsdl/inventory/bp1}inventoryService
> > DEBUG - GeronimoLog.debug(66) | Received myrole mex response callback
> > DEBUG - GeronimoLog.debug(66) | Handling response for MEX
> > {MyRoleMex#hqejbhcnphr52e5fhhmg6q [Client hqejbhcnphr52e5fhhmg6p]
> calling {
> >
> http://manufacturing.org/wsdl/inventory/bp1}inventoryService.inventoryS
> ervice(...)
> > }
> > DEBUG - GeronimoLog.debug(66) | Starting transaction.
> > DEBUG - GeronimoLog.debug(66) | Fault response message: {
> > http://docs.oasis-
> open.org/wsbpel/2.0/process/executable}selectionFailure
> > DEBUG - GeronimoLog.debug(66) | Returning fault: <?xml version='1.0'
> > encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="
> >
> http://schemas.xmlsoap.org/soap/envelope/";><soapenv:Body><soapenv:Fault
> ><faultcode>soapenv:Server</faultcode><faultstring
> > xmlns:axis2ns2198="
> > http://docs.oasis-
> open.org/wsbpel/2.0/process/executable">axis2ns2198:selectionFailure</f
> aultstring><detail
> > /></soapenv:Fault></soapenv:Body></soapenv:Envelope>
> > DEBUG - GeronimoLog.debug(66) | Releasing mex hqejbhcnphr52e5fhhmg6q
> > DEBUG - GeronimoLog.debug(66) | Comitting transaction.
> > DEBUG - GeronimoLog.debug(66) | Reply for
> > Quickstart_bpel_blueprint1_inventoryService.{
> > http://manufacturing.org/wsdl/inventory/bp1}inventoryService
> > DEBUG - GeronimoLog.debug(66) | Reply message <?xml version='1.0'
> > encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="
> >
> http://schemas.xmlsoap.org/soap/envelope/";><soapenv:Body><soapenv:Fault
> ><faultcode>soapenv:Server</faultcode><faultstring
> > xmlns:axis2ns2198="
> > http://docs.oasis-
> open.org/wsbpel/2.0/process/executable">axis2ns2198:selectionFailure</f
> aultstring><detail
> > /></soapenv:Fault></soapenv:Body></soapenv:Envelope>
> > DEBUG - GeronimoLog.debug(66) | Received myrole mex response callback
> > INFO - GeronimoLog.info(79) | Refreshing SYSTEM CRON jobs.
> >
> > I'm using SOAPUI to send the messages. Here's a sample message which
> should
> > return a success status:
> >
> > <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
> > xmlns:pur="http://manufacturing.org/xsd/purchase";>
> >   <soapenv:Header/>
> >   <soapenv:Body>
> >      <pur:inventoryService>
> >         <purchaseOrder>
> >            <pur:orderId>123</pur:orderId>
> >            <pur:customerId>456</pur:customerId>
> >
> >
> <pur:orderDescription>OrderVal_Any_Description</pur:orderDescription>
> >            <pur:price></pur:price>
> >         </purchaseOrder>
> >      </pur:inventoryService>
> >   </soapenv:Body>
> > </soapenv:Envelope>
> >
> > Does anyone know why I'm getting this "selectionFailure"?
> > Thanks!
> >
> >
> > Bob Brodt
> >

Reply via email to