On 26 February 2010 18:32, Bob Brodt <bbr...@redhat.com> wrote: > Thanks for the input Rafal. What do you suggest as an alternative to the > eclipse BPEL editor? vi? ;)
As I said before, XSD aware XML editor does a good job. Eclipse has a very good such editor. So you may try it. As for VI, I haven't seen such plugin. Actually VI connected with XML validator (like xmlbeans validate) is some kind of option too. I would love to see eclipse plugin, which extends XML editor by xpaths and xqueries completion. This would be great tool for bpel editing. > _______________________________________ > Robert ("Bob") Brodt > Senior Software Engineer, JBoss Riftsaw > JBoss by Red Hat > > ----- Original Message ----- > From: "Rafal Rusin" <rafal.ru...@gmail.com> > To: dev@ode.apache.org > Sent: Friday, February 26, 2010 1:52:14 AM GMT -07:00 US/Canada Mountain > Subject: Re: Ode Woes > > 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 > Regards, -- Rafał Rusin http://rrusin.blogspot.com http://www.touk.pl http://top.touk.pl