1 Reply Latest reply on Jan 10, 2007 2:46 AM by pkovgan

    Errors during BP execution, selectionFailure

    pkovgan


      Hi!

      I've got this error durin BP execution, what does it mean?

      I know that failure occures during second assign, but do not know where exactly, what you can propose to debug?

      This failure is very quiet , except this message I have nothing to track problem.

      Thanks!

      An Error:

      2007-01-09 14:36:45,627 DEBUG [org.jbpm.bpel.def.Scope$FaultActionHandler] handling fault: token=Token(/normalFlow)
      org.jbpm.bpel.exe.BpelFaultException: FaultValue(name={http://schemas.xmlsoap.org/ws/2004/03/business-process/}selectionFailure)
       at org.jbpm.bpel.sublang.xpath.XPathEvaluator.getSingleNode(XPathEvaluator.java:173)
       at org.jbpm.bpel.sublang.xpath.XPathQueryEvaluator.evaluate(XPathQueryEvaluator.java:57)
       at org.jbpm.bpel.def.assign.FromVariable.extract(FromVariable.java:58)
       at org.jbpm.bpel.def.Assign$From$$FastClassByCGLIB$$ebfb67ec.invoke(<generated>)
       at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
       at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
       at org.jbpm.bpel.def.Assign$From$$EnhancerByCGLIB$$b82f0f49.extract(<generated>)
       at org.jbpm.bpel.def.Assign$Copy.copyValue(Assign.java:91)
       at org.jbpm.bpel.def.Assign.execute(Assign.java:53)
       at org.jbpm.bpel.def.Activity.enter(Activity.java:101)
       at org.jbpm.graph.def.Transition.take(Transition.java:119)
       at org.jbpm.graph.def.Node.leave(Node.java:383)
       at org.jbpm.bpel.def.Activity.leave(Activity.java:171)
       at org.jbpm.bpel.def.Invoke.execute(Invoke.java:45)
       at org.jbpm.bpel.def.Activity.enter(Activity.java:101)
       at org.jbpm.graph.def.Transition.take(Transition.java:119)
       at org.jbpm.graph.def.Node.leave(Node.java:383)
       at org.jbpm.bpel.def.Activity.leave(Activity.java:171)
       at org.jbpm.bpel.def.Assign.execute(Assign.java:55)
       at org.jbpm.bpel.def.Activity.enter(Activity.java:101)
       at org.jbpm.graph.def.Transition.take(Transition.java:119)
       at org.jbpm.graph.def.Node.leave(Node.java:383)
       at org.jbpm.bpel.def.Activity.leave(Activity.java:171)
       at org.jbpm.bpel.def.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:57)
       at org.jbpm.bpel.def.Receive.accept(Receive.java:82)
       at org.jbpm.bpel.def.Receive$$FastClassByCGLIB$$516412f0.invoke(<generated>)
       at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
       at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
       at org.jbpm.bpel.def.Receive$$EnhancerByCGLIB$$d809c615.accept(<generated>)
       at org.jbpm.bpel.def.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:97)
       at org.jbpm.bpel.def.Sequence.accept(Sequence.java:105)
       at org.jbpm.bpel.def.Activity$$FastClassByCGLIB$$a89e54a2.invoke(<generated>)
       at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
       at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:163)
       at org.jbpm.bpel.def.Activity$$EnhancerByCGLIB$$c2ceeb0b.accept(<generated>)
       at org.jbpm.bpel.def.ProcessInstanceStarter.visit(ProcessInstanceStarter.java:43)
       at org.jbpm.bpel.def.BpelDefinition.messageReceived(BpelDefinition.java:109)
       at org.jbpm.bpel.integration.jms.StartListener.onMessage(StartListener.java:115)
       at org.jboss.mq.SpyMessageConsumer.run(SpyMessageConsumer.java:694)
       at java.lang.Thread.run(Thread.java:595)




      My BP is:

      <?xml version="1.0" encoding="UTF-8"?>
      <process name="CreateInvoiceFromSalesOrderBusinessProcess" targetNamespace="http://xtp.sap.com/bp/CreateInvoiceFromSalesOrder" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:tns="http://xtp.sap.com/bp/CreateInvoiceFromSalesOrder" xmlns:bpel="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:impl4="http://com.sap.xtp/services/Invoice" xmlns:impl3="http://com.sap.xtp/services/SalesOrder" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.xmlsoap.org/ws/2003/03/business-process/
       http://schemas.xmlsoap.org/ws/2003/03/business-process/">
       <partnerLinks>
       <partnerLink name="CreateInvoiceFromSalesOrdercaller" partnerLinkType="tns:CreateInvoiceFromSalesOrderLinkType" myRole="CreateInvoiceFromSalesOrderConsumer"/>
       <partnerLink name="SalesOrder" partnerLinkType="tns:SalesOrderLinkType" partnerRole="ISalesOrderService"/>
       <partnerLink name="Invoice" partnerLinkType="tns:InvoiceLinkType" partnerRole="IInvoiceService"/>
       </partnerLinks>
       <!--Variables of BP-->
       <variables>
       <variable name="_SalesOrderID" messageType="tns:SalesOrderSalesOrderCreatedMessage"/>
       <variable name="_SalesOrder" messageType="impl3:ISalesOrderService_salesOrderAccessRetrieve"/>
       <variable name="_SalesOrderData" messageType="impl3:ISalesOrderService_salesOrderAccessRetrieveResponse"/>
       <variable name="_ivInvoiceHeader" messageType="impl4:IInvoiceService_invoiceAccessCreate"/>
       <variable name="_ovInvoiceID" messageType="impl4:IInvoiceService_invoiceAccessCreateResponse"/>
       </variables>
       <sequence>
       <!-- receive the name of a person -->
       <receive operation="salesOrderSalesOrderCreated" partnerLink="CreateInvoiceFromSalesOrdercaller" portType="tns:CreateInvoiceFromSalesOrderConsumer" variable="_SalesOrderID" createInstance="yes"/>
       <assign>
       <copy>
       <from variable="_SalesOrderID" part="salesOrderID"/>
       <to variable="_SalesOrder" part="id"/>
       </copy>
       </assign>
       <invoke name="salesOrderAccessRetrieve" operation="salesOrderAccessRetrieve" partnerLink="SalesOrder" portType="impl3:ISalesOrderService" inputVariable="_SalesOrder" outputVariable="_SalesOrderData">
       </invoke>
       <assign>
       <copy>
       <from variable="_SalesOrderData" part="result" query="/result/currencyCode"/>
       <to variable="_ivInvoiceHeader" part="invoiceRoot" query="/invoiceRoot/currencyCode"/>
       </copy>
       <copy>
       <from variable="_SalesOrderData" part="result" query="/result/description"/>
       <to variable="_ivInvoiceHeader" part="invoiceRoot" query="/invoiceRoot/description"/>
       </copy>
       <copy>
       <from variable="_SalesOrderData" part="result" query="/result/expectedDeliveryDate"/>
       <to variable="_ivInvoiceHeader" part="invoiceRoot" query="/invoiceRoot/dueDate"/>
       </copy>
       <copy>
       <from variable="_SalesOrderData" part="result" query="/result/orderDate"/>
       <to variable="_ivInvoiceHeader" part="invoiceRoot" query="/invoiceRoot/invoiceDate"/>
       </copy>
       <copy>
       <from variable="_SalesOrderData" part="result" query="/result/taxAmout"/>
       <to variable="_ivInvoiceHeader" part="invoiceRoot" query="/invoiceRoot/taxAmount"/>
       </copy>
       </assign>
       <invoke name="invoiceAccessCreate" operation="invoiceAccessCreate" partnerLink="Invoice" portType="impl4:IInvoiceService" inputVariable="_ivInvoiceHeader" outputVariable="_ovInvoiceID">
       </invoke>
       </sequence>
      </process>








        • 1. Re: Errors during BP execution, selectionFailure
          pkovgan

          I did find my problem:

          This line:

          <copy>
           <from variable="_SalesOrderData" part="result" query="/result/taxAmout"/>
           <to variable="_ivInvoiceHeader" part="invoiceRoot" query="/invoiceRoot/taxAmount"/>
           </copy>


          Notice, taxAmout has an error - "n" is absent.


          It will be great to write more concrete error message in such case.

          Thanks.