Here are my thoughts: don't use eclipse bpel editor and use XSD aware XML editor instead. It will save your time and give performance.
On 25 February 2010 23:30, Bob Brodt <bbr...@redhat.com> wrote: > Only if I forcibly insert a namespace prefix in one of the variables I'm > using in the process - this of course causes a validation error from the > editor. But at least I'm able to deploy the thing and send messages to it. > Now I'm running into another problem with the XPath starts-with() function. > > _______________________________________ > 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" <programm...@biaqua.de> > To: dev@ode.apache.org > Sent: Thursday, February 25, 2010 3:16:57 PM GMT -07:00 US/Canada Mountain > Subject: RE: Ode Woes > > Hey Robert, > So you did it? You could make it work like it supposed to be? > > Greetings, > > Song Thuy Nguyen > >> -----Original Message----- >> From: Bob Brodt [mailto:bbr...@redhat.com] >> Sent: Thursday, February 25, 2010 10:38 PM >> To: dev@ode.apache.org >> Subject: Re: Ode Woes >> >> 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" <programm...@biaqua.de> >> To: dev@ode.apache.org >> 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:bbr...@redhat.com] >> > Sent: Thursday, February 25, 2010 7:44 PM >> > To: dev@ode.apache.org; anto...@toulme.name >> > 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" <antoine.tou...@gmail.com> >> > To: dev@ode.apache.org >> > 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 <bbr...@redhat.com> 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 >> > > > > Regards, -- Rafał Rusin http://rrusin.blogspot.com http://www.touk.pl http://top.touk.pl