Search code examples
javaoracle-databasexpathsoabpel

Oracle BPEL fault selectionFailure


I have an Oracle SOA Composite that is generating a BPEL fault in Weblogic 11g. In EnterpriseManager I see the fault and the message:

<bpelFault>
  <faultType>0</faultType>
  <selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"></selectionFailure>
</bpelFault>

When I drill into the instance I see the following message listed on an assignement: Error in evaluate expression at line "493". The result is empty for the XPath expression :

"/ns27:UsersCollection/ns27:Users/ns27:id"

I see the following error in the WLS-SOA1-diagnostic.log:

com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure}
messageType: {{http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage}

at com.collaxa.cube.engine.ext.bpel.common.BPELWMPHelper.evalFromValue(BPELWMPHelper.java:344)
at com.collaxa.cube.engine.ext.bpel.v1.wmp.BPEL1AssignWMP.__executeStatements(BPEL1AssignWMP.java:138)
at com.collaxa.cube.engine.ext.bpel.common.wmp.BaseBPELActivityWMP.perform(BaseBPELActivityWMP.java:166)
at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:2687)
at com.collaxa.cube.engine.CubeEngine._handleWorkItem(CubeEngine.java:1190)
at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1093)
at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:78)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:218)
at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:297)
at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4609)
at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4541)
at com.collaxa.cube.engine.CubeEngine._createAndInvoke(CubeEngine.java:713)
at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:560)
at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.createAndInvoke(CubeEngineBean.java:103)
at com.collaxa.cube.engine.ejb.impl.CubeEngineBean.syncCreateAndInvoke(CubeEngineBean.java:145)
at com.collaxa.cube.engine.ejb.impl.bpel.BPELEngineBean.syncCreateAndInvoke(BPELEngineBean.java:112)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)

Has anyone run into this issue before? It seems strange as we only occasionally see this fault and error.


Solution

  • I made a change to the assignment in question here to "ignoreMissingFromData" and deployed it a few weeks ago and it seems to have worked fine ever since.

    Thanks,

    Tom