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 > >
