Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
1.1
-
None
Description
As reported by Jens Goldhammmer on the mailing list:
I found an interesting thing: If I put a correct
instance-id into the request for the method resume, the service works
correctly. If I put an incorrect value into the request, I get following
response:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<soapenv:Fault xmlns:java="java:package java.lang.reflect, Java
Platform API Specification, version 1.5">
<faultcode>java:java.lang.reflect.InvocationTargetException</faultcode>
<faultstring>Invocation of method resume in management interface
failed!</faultstring>
<detail>
<Exception>org.apache.ode.axis2.OdeFault: Invocation of method
resume in management interface failed!
at
org.apache.ode.axis2.service.ManagementService.invokeBusinessLogic(ManagementService.java:137)
at
org.apache.ode.axis2.service.ManagementService.access$100(ManagementService.java:69)
at
org.apache.ode.axis2.service.ManagementService$InstanceMessageReceiver.invokeBusinessLogic(ManagementService.java:236)
- Hide quoted text -
at
org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:145)
at
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:120)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.apache.ode.axis2.service.ManagementService.invokeBusinessLogic(ManagementService.java:114)
... 22 more
Caused by: org.apache.ode.bpel.pmapi.InvalidRequestException: The process
"null" is available.
at
org.apache.ode.bpel.engine.ProcessAndInstanceManagementImpl.getDebugger(ProcessAndInstanceManagementImpl.java:521)
at
org.apache.ode.bpel.engine.ProcessAndInstanceManagementImpl.getDebugger(ProcessAndInstanceManagementImpl.java:551)
at
org.apache.ode.bpel.engine.ProcessAndInstanceManagementImpl.resume(ProcessAndInstanceManagementImpl.java:370)
... 27 more</Exception>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
I think, this is business fault and should return a defined fault. Maybe you
can add wsdl faults for all methods.