ode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Denis Weerasiri <ddweeras...@gmail.com>
Subject Re: GSOC project ideas
Date Thu, 19 Mar 2009 11:46:46 GMT
Hi all,

I studied how the ODE Management API is deployed as a web service during the
startup of ODE in order to deploy the debugging functionality as a web
service programatically during the startup of ODE. So I created the WSDL
from the service class (BpelManagementFacedImpl) and implement Axis2 wrapper
class for the debugger interface. Then I change the
org.apache.ode.axis2.ODEServer#init method in order to start the debugging
service when ODE starts. As well the relevant schema were added to
ode-bpel-schemas module and created the .xsdconfig file in order to generate
the bean classes. Then I changed the rakefile in order to add relevant
schema to the war distribution.

Then I build ODE and put war distribution inside tomcat and start ODE.

Debugger service was created without no exceptions. But when I invoke
operations it gives a exception stack as follows. It seems like there is a
serializing/deserializing problem.

<soapenv:Fault>

<soapenv:Code>axis2ns72:Server</soapenv:Code>

<soapenv:Reason>

java.lang.RuntimeException: Couldn't convert object
[Lorg.apache.ode.bpel.bdi.breaks.Breakpoint;@9fb152 into a response element.

</soapenv:Reason>

<soapenv:Detail>

<axis2ns73:RuntimeException>

java.lang.RuntimeException: Couldn't convert object
[Lorg.apache.ode.bpel.bdi.breaks.Breakpoint;@9fb152 into a response element.

at org.apache.ode.il.DynamicService.convertToOM(DynamicService.java:164)

at org.apache.ode.il.DynamicService.invoke(DynamicService.java:73)

at
org.apache.ode.axis2.service.DebuggingWebService$DynamicMessageReceiver.invokeBusinessLogic(DebuggingWebService.java:95)

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.util.RESTUtil.invokeAxisEngine(RESTUtil.java:125)

at
org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:119)

at
org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLRequest(AxisServlet.java:799)

at org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:242)

at org.apache.ode.axis2.hooks.ODEAxisServlet.doGet(ODEAxisServlet.java:62)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)

at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)

at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)

at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)

at java.lang.Thread.run(Thread.java:619)

</axis2ns73:RuntimeException>

</soapenv:Detail>

</soapenv:Fault>


 Please help me on this matter.

Cheers,

Denis Weerasiri


On Tue, Feb 10, 2009 at 4:00 AM, Matthieu Riou <matthieu.riou@gmail.com>wrote:

> On Sun, Feb 8, 2009 at 8:29 AM, Denis Weerasiri <ddweerasiri@gmail.com
> >wrote:
>
> > Hi,
> >
> > I'm interested in implementing a interactive debugging tool for WS-BPEL
> > developers on Apache ODE which enables to set breakpoints, and
> > watch/inspect
> > instance variables as GSOC project.
>
>
> Sweet! Really good idea :)
>
>
> >
> > These days I'm developing a WS-BPEL status tracking tool which generate
> an
> > SVG flow diagram based on the BPEL code, and view the instance variable
> > values and the activity details of the running instances. I used the ODE
> > Management API for that. But it seems that ODE doesn't provide any API
> for
> > handling breakoints.
> > Please let me know whether there is any API or some tool already
> developed
> > for handling breakpoint functionality in ODE.
> > As well I'm clueless of the capacity of this project idea, whether it's
> > possible to achieve.
> > Or if there is any other interresting ideas for GSOC under Apache ODE
> > project please let me know.
>
>
> It is possible as it's a feature that used to exist back in the days when
> ODE was still called PXE and was developed by Intalio only. Debugging had
> been developed for Netbeans by a third party.
>
> Since then, even if it's never really been tested, I've been very careful
> to
> not remove this code and keep it up-to-date with the different refactoring
> we've done, thinking we'll probably revive this feature sooner or later. So
> even if it's probably buggy, most of the code is still present and should
> be
> operational.
>
> So if you check the InstanceManagement interface [1], you'll see
> suspend(iid) and resume(iid) methods, which is a start. Those are
> implemented by the DebuggerSupport class [2], which is useful to look at
> but
> is mostly internal API (external tooling shouldn't use it directly).
> Instead
> those methods should be used through BpelManagementFacadeImpl that
> delegates
> to DebuggerSupport. You'll find all the usual suspects:
> getGlobalBreakpoints, addActivityBreakpoint, removeBreakpoint, ... For the
> moment, even though those methods are on BpelManagementFacadeImpl like all
> others of the management API, they're not accessible remotely yet. But that
> wouldn't too hard to add.
>
> I think that should be enough information to get you started but don't
> hesitate to ask if you have any other additional question or problems.
>
> Cheers,
> Matthieu
>
> [1]
>
> http://svn.apache.org/repos/asf/ode/trunk/bpel-api/src/main/java/org/apache/ode/bpel/pmapi/InstanceManagement.java
> [2]
>
> http://svn.apache.org/repos/asf/ode/trunk/engine/src/main/java/org/apache/ode/bpel/engine/DebuggerSupport.java
>
>
> >
> >
> > Best regards,
> > Denis Weerasiri.
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message