Does this work for Ode deployed on ServiceMix? I keep getting a null pointer
exception:
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:346)
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:94)
at
org.apache.ode.bpel.runtime.ExpressionLanguageRuntimeRegistry.evaluate(
ExpressionLanguageRuntimeRegistry.java:80)
at org.apache.ode.bpel.runtime.ASSIGN.evalRValue(ASSIGN.java:192)
at org.apache.ode.bpel.runtime.ASSIGN.copy(ASSIGN.java:356)
at org.apache.ode.bpel.runtime.ASSIGN.run(ASSIGN.java:79)
at sun.reflect.GeneratedMethodAccessor26.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)
at org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java:139)
at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(
BpelRuntimeContextImpl.java:817)
at org.apache.ode.bpel.engine.BpelProcess.handleWorkEvent(
BpelProcess.java:310)
at org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(
BpelEngineImpl.java:311)
at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(
BpelServerImpl.java:390)
at
org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl.doExecute(
QuartzSchedulerImpl.java:351)
at
org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl.access$000(
QuartzSchedulerImpl.java:65)
at org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl$1$1.call
(QuartzSchedulerImpl.java:234)
at
org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl.execTransaction(
QuartzSchedulerImpl.java:275)
at org.apache.ode.bpel.scheduler.quartz.QuartzSchedulerImpl$2.call(
QuartzSchedulerImpl.java:303)
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:595)
From the source code this points to this line:
_transformerFactory.setURIResolver(resolver);
It looks like the transformer factory has not been initialised for the
XslTransformHandler?
I am using Ode 1.0.0 deployed on ServiceMix 3.1.
Thanks
Mike.
On 6/20/07, Alex Boisvert <[EMAIL PROTECTED]> wrote:
Yep, that seems more like it. (And yes, dashes are allowed in XSLT
variable
name which are QNames)
alex
On 6/20/07, Michael Horwitz <[EMAIL PROTECTED]> wrote:
>
> I'm guessing, but based on the email trail I think you should have
> something
> more like:
>
> <bpel:assign>
> <bpel:copy>
> <bpel:from>
> bpws:doXslTransform("Orchestration.xsl", $ca-
> response.payload, 'gal-response', $gal-response.payload)
> </bpel:from>
> <bpel:to variable="response" part="payload"/>
> </bpel:copy>
> </bpel:assign>
>
> The third parameter name is the name of the variable you need to use
> inside
> the XSL stylesheet to access the gal-response document (not sure if
dashes
> are allowed in XSLT variable names?).
>
> Mike.
>
>
> On 6/20/07, Vishal Bhasin <[EMAIL PROTECTED]> wrote:
> >
> > I'm sorry for being a little slow on this one, I did the following
> > expression in the BPEL:
> >
> > <bpel:assign>
> > <bpel:copy>
> > <bpel:from>
> > bpws:doXslTransform("Orchestration.xsl", $ca-
> > response.payload, $gal-response.payload, $response.payload)
> > </bpel:from>
> > <bpel:to variable="response" part="payload"/>
> > </bpel:copy>
> > </bpel:assign>
> >
> > I want to merge $ca-response.payload & $gal-response.payload in
> > $response.payload. In executing this in get the following error:
> >
> > error: org.apache.ode.jbi.msgmap.MessageTranslationException: Unmapped
> > Fault : {http://docs.oasis-open.org/wsbpel/2.0/
> > process/executable}selectionFailure: An exception occured while
> evaluating
> > "{OXPath10Expression bpws:doXslTransform("Orc
> > hestration.xsl", $ca-response.payload, $gal-response.payload,
> > $response.payload)}": Error while executing an XPath expre
> > ssion: net.sf.saxon.trans.StaticError: XPath syntax error at char 104
in
> > {...se.payload, $response.paylo...}:
> > Cannot find a matching 4-argument function named {
> > http://schemas.xmlsoap.org/ws/2004/03/business-process}doXslTransf
> > orm()]
> >
> > Can you please help me with finding out what I'm doing wrong?
> >
> > Many thanks!
>