13.9.11. Use XStream to Populate an Object Graph

download PDF

Procedure 13.4. Task

  1. Configure XStream on an action:
    <action name="soapui-client-action"  class="org.jboss.soa.esb.actions.soap.SOAPClient">
        <property name="wsdl"  value="http://localhost:18080/acme/services/RetailerService?wsdl"/>
        <property name="operation" value="GetOrder"/>
        <property name="get-payload-location" value="get-order-params" />
        <property name="set-payload-location" value="get-order-response" />
        <property name="responseXStreamConfig">
            <alias name="customerOrder" class="com.acme.order.Order"         
                namespace="http://schemas.acme.com/services/CustomerOrder.xsd" />
            <alias name="orderheader" class="com.acme.order.Header" 
                namespace="http://schemas.acme.com/services/CustomerOrder.xsd" />
            <alias name="item" class="com.acme.order.OrderItem" 
                namespace="http://schemas.acme.com/services/CustomerOrder.xsd" />
        </property>
    </action>
    In the above example, there is also an example of how to specify non-default named locations for the request parameters Map and response object instance.
  2. Specify any field name mappings and XStream annotated classes:
    <property name="responseXStreamConfig">
        <fieldAlias name="header" class="com.acme.order.Order" fieldName="headerFieldName" />
        <annotation class="com.acme.order.Order" />
    </property>
    Field mappings can be used to map XML elements onto Java fields on occasions when the local name of the element does not correspond to the field name in the Java class.
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.