13.9.11. XStream を使用したオブジェクトグラフの設定
手順13.4 タスク
- アクションに XStream を設定します。
<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>上記の例では、要求パラメーター Map および応答オブジェクトインスタンスにデフォルト以外の名前付きの場所を指定する方法の例もあります。 - フィールド名マッピングと XStream アノテーションが付けられたクラスを指定します。
<property name="responseXStreamConfig"> <fieldAlias name="header" class="com.acme.order.Order" fieldName="headerFieldName" /> <annotation class="com.acme.order.Order" /> </property>フィールドマッピングは、要素のローカル名が Java クラスのフィールド名に対応していない場合に、XML 要素を occasions の Java フィールドにマップするために使用できます。