0

次のようなデータを返すように WSO2 DSS をセットアップしました。

<Products>
   <Product>
      <SKU>12345678910123</SKU>
      <Item>123456</Item>
      <ItemName>My Product Name</ItemName>
   </Product>
</Products>

返すデータがない場合は、次のようになります。

<Products xmlns="http://data.mydomain.com/wso2/Products/getSKUinfo"/>

上記のサービスに接続するために、WSO2 ESB パススルー プロキシをセットアップしました。esbhost.domain.com/services/Products/SKU/12345678910123 のような URL でサービスにアクセスすると、上記のようになります。私がやりたいのは、基本的にこれを返すために「ステータス」ノード(またはそれが呼ばれるもの)を追加することです:

<Products>
   <Status>1</Status>
   <Product>
       <SKU>12345678910123</SKU>
       <Item>123456</Item>
       <ItemName>My Product Name</ItemName>
   </Product>
</Products>

一致するデータがない場合、または返すデータがない場合、応答は次のようになります。

<Products>
   <Status>0</Status>
</Products>

これは WSO2 ESB で実行できますか? または、WSO2 DSS サービスに何かを追加する必要がありますか?

適切な用語を使用していない場合はご容赦ください。

ありがとう、ジャレッド

4

1 に答える 1

1

はい、ESB で実行できます。基本的に、そのプロキシ サービスの「outSequence」では、単純にフィルターメディエーターを使用して、XPath を使用してペイロードをチェックし、一致がないか、データがないかどうかをチェックできます。そのため、フィルター メディエーターから個別のパスで、エンリッチメディエーターを使用してメッセージを作成し、必要な要素 (0 など) を追加できます。したがって、基本的にフィルター メディエーターの "true" パスでは、"Product" 要素をプロパティに保存し、後でエンリッチを使用してメッセージ本文の最後に作成された要素に追加できます。これらのメディエーターがどのように機能するかを把握するために、 ESB サンプルをチェックアウトすることをお勧めします。

乾杯、アンジャナ。

于 2012-04-25T18:52:21.487 に答える