the console output:
java.lang.NullPointerException
at
org.apache.ode.utils.stl.CompositeUnaryFunction.apply(CompositeUnaryFunction.java:34)
at org.apache.ode.utils.stl.FilterIterator.doNext(FilterIterator.java:85)
at org.apache.ode.utils.stl.FilterIterator.hasNext(FilterIterator.java:45)
at org.apache.ode.bpel.runtime.FLOW$ACTIVE.run(FLOW.java:80)
at sun.reflect.GeneratedMethodAccessor121.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
at
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
at
org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(PartnerLinkMyRoleImpl.java:206)
at
org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:237)
at
org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:408)
at
org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
at
org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
at
org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
at
org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:1)
at
org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
at
org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
at
org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:1)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.lang.NullPointerException
at
org.apache.ode.utils.stl.CompositeUnaryFunction.apply(CompositeUnaryFunction.java:34)
at org.apache.ode.utils.stl.FilterIterator.doNext(FilterIterator.java:85)
at org.apache.ode.utils.stl.FilterIterator.hasNext(FilterIterator.java:45)
at org.apache.ode.bpel.runtime.FLOW$ACTIVE.run(FLOW.java:80)
at sun.reflect.GeneratedMethodAccessor121.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
at
org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:875)
at
org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(PartnerLinkMyRoleImpl.java:206)
at
org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:237)
at
org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:408)
at
org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:439)
at
org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:441)
at
org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:411)
at
org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:1)
at
org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:218)
at
org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:404)
at
org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:1)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
related files:
the bpel contents:
<?xml version="1.0" encoding="UTF-8"?>
<process
name="nodeFlow"
targetNamespace="http://enterprise.netbeans.org/bpel/BpelNode_Flow/DefaultServiceName"
xmlns="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://enterprise.netbeans.org/bpel/BpelNode_Flow/DefaultServiceName"
xmlns:ns0="http://xml.netbeans.org/schema/nodeFlow"
xmlns:ns1="http://result.hbdrawn.com">
<import namespace="http://result.hbdrawn.com" location="ReturnResult.wsdl"
importType="http://schemas.xmlsoap.org/wsdl/"/>
<import namespace="http://j2ee.netbeans.org/wsdl/nodeFlow"
location="nodeFlow.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/>
<partnerLinks>
<partnerLink name="BpelImpl"
xmlns:tns="http://j2ee.netbeans.org/wsdl/nodeFlow"
partnerLinkType="tns:nodeFlow1" myRole="nodeFlowPortTypeRole"/>
<partnerLink name="ReturnImpl" xmlns:impl="http://result.hbdrawn.com"
partnerLinkType="impl:ReturnResult1" partnerRole="role1"/>
</partnerLinks>
<variables>
<variable name="GetResultOut1" xmlns:impl="http://result.hbdrawn.com"
messageType="impl:getResultResponse"/>
<variable name="GetResultIn1" xmlns:impl="http://result.hbdrawn.com"
messageType="impl:getResultRequest"/>
<variable name="GetResultOut" xmlns:impl="http://result.hbdrawn.com"
messageType="impl:getResultResponse"/>
<variable name="GetResultIn" xmlns:impl="http://result.hbdrawn.com"
messageType="impl:getResultRequest"/>
<variable name="NodeFlowOperationOut"
xmlns:tns="http://j2ee.netbeans.org/wsdl/nodeFlow"
messageType="tns:nodeFlowOperationReply"/>
<variable name="NodeFlowOperationIn"
xmlns:tns="http://j2ee.netbeans.org/wsdl/nodeFlow"
messageType="tns:nodeFlowOperationRequest"/>
</variables>
<sequence>
<assign name="Assign4">
<copy>
<from>
<literal>
<ns1:getResultResponse>
<ns1:getResultReturn/>
</ns1:getResultResponse>
</literal>
</from>
<to part="parameters" variable="GetResultOut1"/>
</copy>
<copy>
<from>
<literal>
<ns1:getResult>
<ns1:in0/>
</ns1:getResult>
</literal>
</from>
<to part="parameters" variable="GetResultIn1"/>
</copy>
<copy>
<from>
<literal>
<ns1:getResultResponse>
<ns1:getResultReturn/>
</ns1:getResultResponse>
</literal>
</from>
<to part="parameters" variable="GetResultOut"/>
</copy>
<copy>
<from>
<literal>
<ns1:getResult>
<ns1:in0/>
</ns1:getResult>
</literal>
</from>
<to part="parameters" variable="GetResultIn"/>
</copy>
<copy>
<from>
<literal>
<ns0:inputV>
<ns0:a/>
<ns0:b/>
</ns0:inputV>
</literal>
</from>
<to part="input" variable="NodeFlowOperationIn"/>
</copy>
<copy>
<from>
<literal>
<ns0:outputV>
<ns0:output/>
</ns0:outputV>
</literal>
</from>
<to part="output" variable="NodeFlowOperationOut"/>
</copy>
</assign>
<receive name="Receive1" createInstance="yes" partnerLink="BpelImpl"
operation="nodeFlowOperation"
xmlns:tns="http://j2ee.netbeans.org/wsdl/nodeFlow"
portType="tns:nodeFlowPortType" variable="NodeFlowOperationIn"/>
<flow name="Flow1">
<sequence name="Sequence1">
<assign name="Assign1">
<copy>
<from>$NodeFlowOperationIn.input/ns0:a</from>
<to>$GetResultIn.parameters/ns1:in0</to>
</copy>
</assign>
<invoke name="Invoke1" partnerLink="ReturnImpl"
operation="getResult" xmlns:impl="http://result.hbdrawn.com"
portType="impl:ReturnResult" inputVariable="GetResultIn"
outputVariable="GetResultOut"/>
</sequence>
<sequence name="Sequence2">
<assign name="Assign2">
<copy>
<from>$NodeFlowOperationIn.input/ns0:b</from>
<to>$GetResultIn1.parameters/ns1:in0</to>
</copy>
</assign>
<invoke name="Invoke2" partnerLink="ReturnImpl"
operation="getResult" xmlns:impl="http://result.hbdrawn.com"
portType="impl:ReturnResult" inputVariable="GetResultIn1"
outputVariable="GetResultOut1"/>
</sequence>
</flow>
<assign name="Assign3">
<copy>
<from>concat($GetResultOut1.parameters/ns1:getResultReturn,
$GetResultOut.parameters/ns1:getResultReturn)</from>
<to>$NodeFlowOperationOut.output/ns0:output</to>
</copy>
</assign>
<reply name="Reply1" partnerLink="BpelImpl"
operation="nodeFlowOperation"
xmlns:tns="http://j2ee.netbeans.org/wsdl/nodeFlow"
portType="tns:nodeFlowPortType" variable="NodeFlowOperationOut"/>
</sequence>
</process>
the question: if i invoke a service without a flow node ,it is normal and
correct!but if with a flow , it is wrong.
please tell me why,thanks!