Hi I tried setting the result attribute to string in saxon endpoint. Then I am getting the following error. Actullay I want to sftp the text file generated from saxon.. So My file component is giving me the following error.
Here is my xbean fro saxon-endpoint <beans xmlns:saxon="http://servicemix.apache.org/saxon/1.0" xmlns:first="http://servicemix.apache.com/first"> <!-- START SNIPPET: xslt --> <saxon:xslt service="first:xslt" endpoint="endpoint" resource="classpath:transform.xsl" result="string"/> <!-- END SNIPPET: xslt --> </beans> here is my file component xbean <file:sender service="first:fileProduction" endpoint="senderProd" directory="c:/test/servicemix/out" > <property name="marshaler"> <bean class="org.apache.servicemix.components.util.BinaryFileMarshaler" > </bean> </property> </file:sender> [Fatal Error] :1:1: Content is not allowed in prolog. [Fatal Error] :1:1: Content is not allowed in prolog. ERROR - FileComponent - Error processing exchange InOnly[ id: ID:172.24.44.33-11c75a7186a-9:4 status: Active role: provider service: {http://servicemix.apache.com/first}fileProduction endpoint: senderProd in: Unable to display: org.xml.sax.SAXParseException: Content is not allowed in prolog. ] javax.jbi.messaging.MessagingException: Could not find attachment: content at org.apache.servicemix.components.util.BinaryFileMarshaler.writeMessage(BinaryFileMarshale r.java:78) at org.apache.servicemix.file.FileSenderEndpoint.processInOnly(FileSenderEndpoint.java:86) at org.apache.servicemix.common.endpoints.ProviderEndpoint.process(ProviderEndpoint.java:100 ) at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:540) at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:4 92) at org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46) at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImp l.java:610) at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172) at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167) at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134) 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) Thanks Neena splatch wrote: > > Did you try result attribute for saxon enpoint? > At the http://servicemix.apache.org/servicemix-saxon.html page with > warning about this saxon bug: > http://sourceforge.net/tracker/index.php?func=detail&aid=1558133&group_id=29872&atid=397617. > > This should help you transform message without bean endpoint. > > Regards, > Luke > > > NeenaMathew wrote: >> >> Hi >> >> I want create a text file out of the XML content. When I try to use >> servicemix-saxon component the transformed content is placed in the body >> of the Message and I am getting the error from servicemix that it is not >> valid xml. How can I specify theat the output is not xml but text and >> attach it part of the message no as the content of the message to saxon >> component. >> >> Currently I wrote a servicemix-bean component to which takes the xml >> content from the message and call the saxon to do the transformation to >> text and atatch the text in the message. Is the right way to do the xml >> to text transformation? >> >> NormalizedMessage message = exchange.getMessage("in"); >> Source content = message.getContent(); >> NormalizedMessage outMessage = exchange.createMessage(); >> outMessage.setContent(content); >> /* >> * Transform the incomeing xml message in to the text content >> */ >> ByteArrayOutputStream out = XMLTransformer.getInstance().transform( >> content, xslt); >> >> DataSource ds = new ByteArrayDataSource(out.toByteArray(), null); >> DataHandler handler = new DataHandler(ds); >> outMessage.addAttachment("content", handler); >> String fileName = "lms_Funds_" + System.currentTimeMillis() >> + ".txt"; >> outMessage.setProperty(FILE_NAME_PROPERTY, fileName); >> exchange.setMessage(outMessage, "out"); >> channel.send(exchange) >> > > -- View this message in context: http://www.nabble.com/Servicemix-saxon-comonent-to-transform-the-xml-to-text-tp19538474p19553162.html Sent from the ServiceMix - User mailing list archive at Nabble.com.
