You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by "Tammo van Lessen (JIRA)" <ji...@apache.org> on 2012/12/31 19:34:12 UTC

[jira] [Reopened] (ODE-957) Invocation of a WSDL operation that doesn't have a request message part gives NPE at runtime

     [ https://issues.apache.org/jira/browse/ODE-957?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tammo van Lessen reopened ODE-957:
----------------------------------


I'm not entirely sure if this was the same issue but at least the symptoms are the same.

via mail from Dominic Pöllath:

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
                
> Invocation of a WSDL operation that doesn't have a request message part gives NPE at runtime
> --------------------------------------------------------------------------------------------
>
>                 Key: ODE-957
>                 URL: https://issues.apache.org/jira/browse/ODE-957
>             Project: ODE
>          Issue Type: Bug
>          Components: BPEL Runtime
>            Reporter: Sathwik Bantwal Premakumar
>            Priority: Critical
>              Labels: patch
>
> Invocation of a service operation which doesn't have a message part results in a NPE at runtime. For example invocation of the getVersion operation of Version service provided by the axis2 results in a null pointer exception.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira