You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ode.apache.org by Sebastien Mosser <mo...@polytech.unice.fr> on 2008/01/07 17:25:11 UTC
Premature End Of file in bpws:doXslTransform
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 ##
mosser@asmodee:~/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
Re: Premature End Of file in bpws:doXslTransform
Posted by Alex Boisvert <bo...@intalio.com>.
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 <mo...@polytech.unice.fr> 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 ##
>
> mosser@asmodee:~/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
>