I'm doing something similar to yours... I would put the XSLT translation into
its own activation component and the writer in its own activation component. 
Hence you will have 2 activation specs in the JBI, one to translate and the
other to write.  In the descriptor, it will look something like this:

<sm:activationSpec componentName="fileTranslator"
service="foo:fileTranslator" destinationService="foo:fileSender">
                                <sm:component>
                                        <bean 
class="org.apache.servicemix.components.xslt.XsltComponent">
                                                <property name="xsltResource"
value="classpath:transform_xml_sql.xsl"/>
                                        </bean>
                                </sm:component>
</sm:activationSpec>
<sm:activationSpec componentName="fileSender" service="foo:fileSender">
                                <sm:component>
<bean class="org.apache.servicemix.components.file.FileWriter">
                                                <property name="directory" 
value="outbox"/>
                                                <property name="marshaler">
                                                        <bean
class="org.apache.servicemix.components.util.DefaultFileMarshaler">
                                                                <property 
name="fileName">
                                                                        <bean
                                                                        
class="org.apache.servicemix.expression.JaxenStringXPathExpression">
                                                                                
<constructor-arg
                                                                                
        value="concat('rfid_', /Matrics/@id, '.xml')"/>
                                                                        </bean>
                                                                </property>
                                                        </bean>
                                                </property>
                                        </bean>
                                </sm:component>
                        </sm:activationSpec>

HTH,

-los


Alex75 wrote:
> 
> Hi World, I have an XML copied from another location to a directory via
> servicemix.
> I want also to transform that using xslt (I already created the style) and
> than save the tranformed file to the same location.
> 
> Here the xml config file.... what's wrong?
> 
> <beans xmlns:sm="http://servicemix.apache.org/config/1.0";
> xmlns:foo="http://servicemix.org/demo/";>
> 
>       <!-- the JBI container -->
>       <sm:container id="jbi" name="writer" flowName="jms" 
> useMBeanServer="true"
>               createMBeanServer="true" dumpStats="true" statsInterval="10"
> rmiPort="1111">
> 
>               <sm:activationSpecs>
> 
>                       <!-- Write files to the outbox directory -->
>                       <sm:activationSpec componentName="fileSender" 
> service="foo:fileSender">
>                               <sm:component>
>                                       <bean 
> class="org.apache.servicemix.components.xslt.XsltComponent">
>                                               <property name="xsltResource"
> value="classpath:transform_xml_sql.xsl"/>
>                                       </bean>
>                               </sm:component>
>                               <sm:component>
>                                       <bean 
> class="org.apache.servicemix.components.file.FileWriter">
>                                               <property name="directory" 
> value="outbox"/>
>                                               <property name="marshaler">
>                                                       <bean
> class="org.apache.servicemix.components.util.DefaultFileMarshaler">
>                                                               <property 
> name="fileName">
>                                                                       <bean
>                                                                       
> class="org.apache.servicemix.expression.JaxenStringXPathExpression">
>                                                                               
> <constructor-arg
>                                                                               
>         value="concat('rfid_', /Matrics/@id, '.xml')"/>
>                                                                       </bean>
>                                                               </property>
>                                                       </bean>
>                                               </property>
>                                       </bean>
>                               </sm:component>
>                       </sm:activationSpec>
> 
>               </sm:activationSpecs>
>       </sm:container>
> 
>       <!-- the work manager (thread pool) for this container -->
>       <bean id="workManager" 
> class="org.jencks.factory.WorkManagerFactoryBean">
>               <property name="threadPoolSize" value="30"/>
>       </bean>
> 
> </beans>
> 

-- 
View this message in context: 
http://www.nabble.com/XSLT-transform-and-file-save-tf2652926s12049.html#a7403175
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to