Two things come to mind, 1) Add <xsl:output method="xml"/> to your stylesheet 2) BPEL requires a single top-level element to be returned; make sure the output is non-empty.
alex On 1/7/08, SŽebastien Mosser <[EMAIL PROTECTED]> wrote: > > Hello. > > I've got a nasty exception when I try to use the bpws:doXslTransform > function. > > I've got a valid xsl file (works with 'xsltproc' at command line level), > which basically correspond to an 'echo' operation : > > ## file echo.xsl ## > <?xml version="1.0" encoding="UTF-8"?> > <xsl:transform version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > <xsl:template match="/"> > <xsl:copy-of select="." /> > </xsl:template> > </xsl:transform> > ## end of file ## > > [EMAIL PROTECTED]:~/tmp$ xsltproc echo.xsl data.xml > <?xml version="1.0"?> > <tns:result > xmlns:tns="http://rainbow.i3s.unice.fr/mosser/jSeduite/orchestrations/tv"> > <tns:content>content 1</tns:content> > <tns:content>content 2</tns:content> > </tns:result> > > I'm using it inside the following assign activity : > <bpws:assign name="FillResult" validate="no"> > <bpws:copy> > <bpws:from><![CDATA[bpws:doXslTransform("echo.xsl", > $output.payload/tns:result)]]></bpws:from> > <bpws:to part="payload" variable="output"> > <bpws:query > queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0 > "><![CDATA[/tns:result]]></bpws:query> > </bpws:to> > </bpws:copy> > </bpws:assign> > > (in fact, it should be a more complicated data processing stylesheet > -appending data into an array and filtering data on the fly-, but, well, > it doesn't work with 'echo' ...) > > when I invoke the process, it return the following faultString : > <faultstring> > {http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure > An exception occured while evaluating "{OXPath10Expression > bpws:doXslTransform("echo.xsl", $output.payload/tns:result)}": Premature > end of file. > </faultstring> > > which is ... weird :'(. > > does someone experiments previously similar troubles ? > > PS : the exception stack trace in tomcat logs is the following : > 17:19:27,117 ERROR [ODEService] Error processing response for MEX > {MyRoleMex#4611686018427387921 [Client hqejbhcnphr2vvxlasf56t] calling > { > http://rainbow.i3s.unice.fr/mosser/jSeduite/orchestrations/tv}TvService.process(...) > } > org.apache.axis2.AxisFault: > {http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure > An exception occured while evaluating "{OXPath10Expression > bpws:doXslTransform("echo.xsl", $output.payload/tns:result)}": Premature > end of file. > at org.apache.ode.axis2.ODEService.onResponse(ODEService.java > :221) > at > org.apache.ode.axis2.ODEService.onAxisMessageExchange(ODEService.java:173) > at > org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic( > ODEMessageReceiver.java:69) > at > org.apache.ode.axis2.hooks.ODEMessageReceiver.invokeBusinessLogic( > ODEMessageReceiver.java:50) > 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:796) > at > org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:239) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:690) > 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:613) > > Cheers, > > -- > Sebastian >
