Hi Dominic,

I guess you've hit a bug (though I'm not sure if this is the only location
where this scenario can cause troubles). Could you please file a JIRA? If
you have a debugger running, it would be valuable to know, which field
causes the NPE. My guess is that getInput().getMessage() returns null.

Thanks,
  Tammo


On Fri, Dec 28, 2012 at 3:28 PM, Dominic Pöllath <[email protected]>wrote:

> The Apache ODE engine throws exception if i try to invoke webservice
> without parameter. Because there is no InputMessage to the WebService.
> As far as I know is there no need of input message (minOccurs="0" of
> InputOperationMessage in W3C def).
> A webservice with no input message should be supported, but as workaround
> I’m using a empty messagepart with input message link.
> It is working, but the WSDL file is not as clean as I thought it should
> be. Anyway, is the ODE engine working as intended, and do I missing
> something?
>
> best regards,
> dominic
>
>
> <!—w3c tBindingOperation –>
>
> <xs:complexType name="tBindingOperation">
> <xs:complexContent>
> <xs:extension base="wsdl:tExtensibleDocumented">
> <xs:sequence>
> <xs:element name="input" type="wsdl:tBindingOperationMessage"
> minOccurs="0"/>
> <xs:element name="output" type="wsdl:tBindingOperationMessage"
> minOccurs="0"/>
> <xs:element name="fault" type="wsdl:tBindingOperationFault" minOccurs="0"
> maxOccurs="unbounded"/>
> </xs:sequence>
> <xs:attribute name="name" type="xs:NCName" use="required"/>
> </xs:extension>
> </xs:complexContent>
> </xs:complexType>
>
>
> <!—used WSDL def–>
>
> <wsdl:types>
> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
> attributeFormDefault="unqualified" elementFormDefault="qualified"
> targetNamespace="http://adito/webservice";>
> <xs:element name="helloResponse">
> <xs:complexType>
> <xs:sequence>
> <xs:element name="returnValue" type="xs:string"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> </xs:schema>
> </wsdl:types>
> <wsdl:message name="helloOutput">
> <wsdl:part name="parameters" element="tns:helloResponse"/>
> </wsdl:message>
> <wsdl:portType name="ws_helloworldPortType">
> <wsdl:operation name="hello">
> <wsdl:output message="tns:helloOutput"/>
> </wsdl:operation>
> </wsdl:portType>
> <wsdl:binding name="ws_helloworldSoapBinding"
> type="tns:ws_helloworldPortType">
> <soap:binding style="document" transport="
> http://schemas.xmlsoap.org/soap/http"/>
> <wsdl:operation name="hello">
> <soap:operation soapAction="hello" style="document"/>
> <wsdl:output>
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
>
> <!—Nullpointer Exception –>
>
> Method "run" in class "org.apache.ode.bpel.runtime.INVOKE" threw an
> unexpected exception.
> java.lang.NullPointerException
>     at org.apache.ode.bpel.runtime.INVOKE.setupOutbound(INVOKE.java:224)
>     at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:72)
>     at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source)
>     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke(Method.java:601)
>     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:968)
>     at
> org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(PartnerLinkMyRoleImpl.java:208)
>     at
> org.apache.ode.bpel.engine.BpelProcess$1.invoke(BpelProcess.java:283)
>     at
> org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:238)
>     at
> org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:279)
>     at
> org.apache.ode.bpel.engine.BpelProcess.handleJobDetails(BpelProcess.java:426)
>     at
> org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:460)
>     at
> org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:450)
>     at org.apache.ode.il.MockScheduler.doExecute(MockScheduler.java:304)
>     at org.apache.ode.il.MockScheduler.access$200(MockScheduler.java:47)
>     at org.apache.ode.il.MockScheduler$4.call(MockScheduler.java:123)
>     at
> org.apache.ode.il.MockScheduler.execTransaction(MockScheduler.java:168)
>     at
> org.apache.ode.il.MockScheduler.execTransaction(MockScheduler.java:159)
>     at org.apache.ode.il.MockScheduler$6.call(MockScheduler.java:190)
>     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>     at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>     at java.lang.Thread.run(Thread.java:722)
> Scheduled job failed; jobDetail=JobDetails( instanceId: null mexId:
> 4611686018427387903 processId: {http://adito/bpel}Workflow-1 type:
> INVOKE_INTERNAL channel: null correlatorId: null correlationKeySet: null
> retryCount: null inMem: true detailsExt: {})
> java.lang.RuntimeException: java.lang.NullPointerException
>     at
> org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:464)
>     at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
>     at
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:968)
>     at
> org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(PartnerLinkMyRoleImpl.java:208)
>     at
> org.apache.ode.bpel.engine.BpelProcess$1.invoke(BpelProcess.java:283)
>     at
> org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:238)
>     at
> org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:279)
>     at
> org.apache.ode.bpel.engine.BpelProcess.handleJobDetails(BpelProcess.java:426)
>     at
> org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:460)
>     at
> org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:450)
>     at org.apache.ode.il.MockScheduler.doExecute(MockScheduler.java:304)
>     at org.apache.ode.il.MockScheduler.access$200(MockScheduler.java:47)
>     at org.apache.ode.il.MockScheduler$4.call(MockScheduler.java:123)
>     at
> org.apache.ode.il.MockScheduler.execTransaction(MockScheduler.java:168)
>     at
> org.apache.ode.il.MockScheduler.execTransaction(MockScheduler.java:159)
>     at org.apache.ode.il.MockScheduler$6.call(MockScheduler.java:190)
>     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>     at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>     at java.lang.Thread.run(Thread.java:722)
> Caused by: java.lang.NullPointerException
>     at org.apache.ode.bpel.runtime.INVOKE.setupOutbound(INVOKE.java:224)
>     at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:72)
>     at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source)
>     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke(Method.java:601)
>     at
> org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
>     ... 20 more
> Caught an exception during transaction
> java.lang.RuntimeException: Scheduled transaction failed unexpectedly:
> transaction will not be retried!.
>     at org.apache.ode.il.MockScheduler.doExecute(MockScheduler.java:306)
>     at org.apache.ode.il.MockScheduler.access$200(MockScheduler.java:47)
>     at org.apache.ode.il.MockScheduler$4.call(MockScheduler.java:123)
>     at
> org.apache.ode.il.MockScheduler.execTransaction(MockScheduler.java:168)
>     at
> org.apache.ode.il.MockScheduler.execTransaction(MockScheduler.java:159)
>     at org.apache.ode.il.MockScheduler$6.call(MockScheduler.java:190)
>     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>     at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>     at java.lang.Thread.run(Thread.java:722)
> Caused by: org.apache.ode.bpel.iapi.Scheduler$JobProcessorException:
> java.lang.RuntimeException: java.lang.NullPointerException
>     at
> org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:478)
>     at
> org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:450)
>     at org.apache.ode.il.MockScheduler.doExecute(MockScheduler.java:304)
>     ... 10 more
> Caused by: java.lang.RuntimeException: java.lang.NullPointerException
>     at
> org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:464)
>     at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
>     at
> org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntimeContextImpl.java:968)
>     at
> org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeNewInstance(PartnerLinkMyRoleImpl.java:208)
>     at
> org.apache.ode.bpel.engine.BpelProcess$1.invoke(BpelProcess.java:283)
>     at
> org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:238)
>     at
> org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:279)
>     at
> org.apache.ode.bpel.engine.BpelProcess.handleJobDetails(BpelProcess.java:426)
>     at
> org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:460)
>     ... 12 more
> Caused by: java.lang.NullPointerException
>     at org.apache.ode.bpel.runtime.INVOKE.setupOutbound(INVOKE.java:224)
>     at org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:72)
>     at sun.reflect.GeneratedMethodAccessor11.invoke(Unknown Source)
>     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke(Method.java:601)
>     at
> org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
>     ... 20 more




-- 
Tammo van Lessen - http://www.taval.de

Reply via email to