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!

Reply via email to