Uploaded image for project: 'ODE'
  1. ODE
  2. ODE-223

BPEL process using bpws:doXslTransform(...) crash at tomcat restart

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 1.1.1
    • Fix Version/s: 1.2
    • Component/s: BPEL Runtime
    • Labels:
      None
    • Environment:
      OS : Mac OS/X 10.4
      Tomcat 5.5

      Description

      mosser@asmodeus:~/TvShowsOrchestration$ tomcat.sh stop
      ... bla bla bla ...
      16:56:06,224 INFO [BpelServerImpl] BPEL Server Stopped.
      16:56:06,225 INFO [ODEServer] Shutdown completed.
      ... bla bla bla ...
      mosser@asmodeus:~/TvShowsOrchestration$ tomcat.sh start
      ... bla bla bla ...
      16:56:53,337 INFO [ODEServer] Using DAO Connection Factory class org.apache.ode.dao.jpa.BPELDAOConnectionFactoryImpl.
      16:56:54,328 INFO [BpelServerImpl] BPEL Server Started.
      16:56:56,819 INFO [BpelServerImpl] Registered process

      {http://rainbow.i3s.unice.fr/mosser/jSeduite/orchestrations/tv}

      OnTvTonight-10.
      16:56:56,871 INFO [DeploymentPoller] Poller started.
      16:56:56,871 INFO [ODEServer] Process deployment polling started on path /opt/tomcat/webapps/ode/WEB-INF/processes.
      16:56:56,876 INFO [ODEServer] ODE Service Engine has been started.
      ... bla bla bla ...

      As far as we are, there is no trouble. Nos, let's try to invoke the process (each process using xsl stylesheet has the same weird behaviour) (invoke.sh is basically a 'curl | xmllint --format -' script)

      mosser@asmodeus:~/TvShowsOrchestration$ invoke.sh http://localhost:8080/ode/processes/TvShowsOrchestrations/process
      ERROR - GeronimoLog.error(108) | Scheduled job failed; jobDetail=

      {type=INVOKE_RESPONSE, inmem=true, mexid=4611686018427387905, channel=31, iid=0}

      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:913)
      at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(BpelProcess.java:392)
      at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.java:328)
      at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.java:373)
      at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:341)
      at org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler.java:340)
      at org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:179)
      at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:339)
      at org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.java:336)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
      at java.util.concurrent.FutureTask.run(FutureTask.java:123)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
      at java.lang.Thread.run(Thread.java:613)
      Caused by: java.lang.NullPointerException
      at org.apache.ode.utils.xsl.XslTransformHandler.parseXSLSheet(XslTransformHandler.java:84)
      at org.apache.ode.utils.xsl.XslTransformHandler.cacheXSLSheet(XslTransformHandler.java:106)
      at org.apache.ode.bpel.elang.xpath10.runtime.JaxenContexts$DoXslTransformFunction.call(JaxenContexts.java:367)
      at org.jaxen.expr.DefaultFunctionCallExpr.evaluate(DefaultFunctionCallExpr.java:186)
      at org.jaxen.expr.DefaultXPathExpr.asList(DefaultXPathExpr.java:112)
      at org.jaxen.BaseXPath.selectNodesForContext(BaseXPath.java:688)
      at org.jaxen.BaseXPath.selectNodes(BaseXPath.java:227)
      at org.apache.ode.bpel.elang.xpath10.runtime.XPath10ExpressionRuntime.evaluate(XPath10ExpressionRuntime.java:98)
      at org.apache.ode.bpel.runtime.ExpressionLanguageRuntimeRegistry.evaluate(ExpressionLanguageRuntimeRegistry.java:80)
      at org.apache.ode.bpel.runtime.ASSIGN.evalRValue(ASSIGN.java:196)
      at org.apache.ode.bpel.runtime.ASSIGN.copy(ASSIGN.java:362)
      at org.apache.ode.bpel.runtime.ASSIGN.run(ASSIGN.java:79)
      at sun.reflect.GeneratedMethodAccessor52.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
      ... 15 more

      Ouch ... it seems that my XSL stylesheet does not work ... BUT ...
      let's redeploy the process :

      mosser@asmodeus:~/TvShowsOrchestration$ ant deploy
      Buildfile: build.xml
      compile:

      deploy:
      [copy] Copying 1 file to /opt/tomcat/webapps/ode/WEB-INF/processes/TvShowsOrchestrations
      [copy] Copying /Users/mosser/workspaces/seduite/TvShowsOrchestration/OnTvTonight.cbp to /opt/tomcat/webapps/ode/WEB-INF/processes/TvShowsOrchestrations/OnTvTonight.cbp

      reload:
      [delete] Deleting /opt/tomcat/webapps/ode/WEB-INF/processes/TvShowsOrchestrations.deployed

      BUILD SUCCESSFUL
      Total time: 2 seconds

      Tomcat logs :
      17:01:30,054 INFO [BpelServerImpl] Unregistered process

      {http://rainbow.i3s.unice.fr/mosser/jSeduite/orchestrations/tv}

      OnTvTonight-10.
      17:01:30,829 INFO [BpelServerImpl] Registered process

      {http://rainbow.i3s.unice.fr/mosser/jSeduite/orchestrations/tv}

      OnTvTonight-11.
      17:01:30,829 INFO [DeploymentPoller] Deployment of artifact TvShowsOrchestrations successful: [

      {http://rainbow.i3s.unice.fr/mosser/jSeduite/orchestrations/tv}

      OnTvTonight-11]

      And now, let's invoke again :
      mosser@asmodeus:~/TvShowsOrchestration$ invoke.sh http://localhost:8080/ode/processes/TvShowsOrchestrations/process % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed
      100 3444 0 3444 0 0 4656 0 -::- -::- -::- 0
      <?xml version="1.0"?>
      <axis2ns7:OnTvTonightResponse xmlns:axis2ns7="http://rainbow.i3s.unice.fr/mosser/jSeduite/orchestrations/tv" xmlns:tns="http://rainbow.i3s.unice.fr/mosser/jSeduite/orchestrations/tv">
      <tns:shows>
      <tns:show>
      <tns:channel>Star academy </tns:channel>
      <tns:startAt> 20:50</tns:startAt>
      <tns:showTitle/>
      </tns:show>
      <!-- others french tv shows goes here ... -->
      </tns:shows>
      </axis2ns7:OnTvTonightResponse>

      So : MY STYLESHEET works ! Let's restart tomcat :
      mosser@asmodeus:~/TvShowsOrchestration$ tomcat.sh restart
      mosser@asmodeus:~/TvShowsOrchestration$ invoke.sh http://localhost:8080/ode/processes/TvShowsOrchestrations/process

      And ... null pointer exception again ...

        Attachments

        1. ODE-223.patch
          1 kB
          Alexey Ousov

          Activity

            People

            • Assignee:
              mriou Matthieu Riou
              Reporter:
              mosser Sebastian Mosser
            • Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: