Hi Tammo, indeed the getInput() is causing the NPE. (no Inputpart /-message was set and could be parsed from the WSDL) sadly I don't have access to an JIRA.
regards, dominic -----Ursprüngliche Nachricht----- From: Tammo van Lessen Sent: Friday, December 28, 2012 5:12 PM To: user Subject: Re: Problems (or even Bug?) within invoking of Webservice 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
