Red Hat Training

A Red Hat training course is available for JBoss Enterprise SOA Platform

13.3.12. SmooksTransformer

Important

The SmooksTransformer action will be deprecated in a future release. Refer to SmooksAction for a more general purpose and more flexible Smooks action class.
Class org.jboss.soa.esb.actions.converters.SmooksTransformer
The SmooksTransformer component supplies the JBoss Enterprise SOA Platform with message transformation functionality. This is an action component that allows the Smooks Data Transformation/Processing Framework to be plugged into an action pipeline.
A wide range of source and target data formats are supported by the SmooksTransformer component.

Table 13.7. SmooksTransformer Resource Configuration

Property Description Required
resource-config
The Smooks resource configuration file.
Yes

Table 13.8. SmooksTransformer Message Profile Properties (Optional)

Property Description Required
from
Message Exchange Participant name. Message Producer.
No
from-type
Message type/format produced by the "from" message exchange participant.
No
to
Message Exchange Participant name. Message Consumer.
No
to
 Message Exchange Participant name.  Message Consumer.
No
to-type
 Message type/format consumed by the “to” message exchange participant.
No
All the above properties can be overridden by supplying them as properties to the message (via the Message.Properties class).

Example 13.7. Sample Configuration: Default Input/Output

<action name="transform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
    <property name="resource-config" value="/smooks/config-01.xml" />
</action>

Example 13.8. Sample Configuration: Named Input/Output

<action name="transform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
    <property name="resource-config" value="/smooks/config-01.xml" /> 
    <property name="get-payload-location" value="get-order-params" />
    <property name="set-payload-location" value="get-order-response" />
</action>

Example 13.9. Sample Configuration: Using Message Proiles

<action name="transform" class="org.jboss.soa.esb.actions.converters.SmooksTransformer">
    <property name="resource-config" value="/smooks/config-01.xml" />
    <property name="from" value="DVDStore:OrderDispatchService" />
    <property name="from-type" value="text/xml:fullFillOrder" />
    <property name="to" value="DVDWarehouse_1:OrderHandlingService" />
    <property name="to-type" value="text/xml:shipOrder" />
</action>
Java objects are bound to the Message.Body under their beanId.