Thanks. There is already an issue raised in JIRA related to this. The issue
is not assigned yet

https://issues.apache.org/activemq/browse/SM-882

 

gnodet wrote:
> 
> Saxon is currently not able to set the output of the transformation
> into an attachement.
> This would be a nice addition, so please raise a JIRA.
> 
> In the mean time, I would change the XSLT so that the text is embedded
> in a simple xml tag:
> 
> <data> content of the text data here</data>
> 
> and I would write a simple file marshaler that would grab this data
> from the xml and write it.
> Actually, such a simple marshaler would be a good addition too, so if
> you ever write it, please
> raise a JIRA and attach your code (test cases are welcome too).
> 
> On Thu, Sep 18, 2008 at 3:40 PM, NeenaMathew
> <[EMAIL PROTECTED]> wrote:
>>
>> 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.
>>
>>
> 
> 
> 
> -- 
> Cheers,
> Guillaume Nodet
> ------------------------
> Blog: http://gnodet.blogspot.com/
> ------------------------
> Open Source SOA
> http://open.iona.com
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Servicemix-saxon-comonent-to-transform-the-xml-to-text-tp19538474p19616054.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to