0

Camel 統合をサポートするために Websphere を統合し、DOM インベントリ モデルをセットアップしました。そのため、ユーザーが製品ページに到達してアイテムを選択すると、外部呼び出しが Camel 統合フレームワークに対して行われ、商取引の INVAVL テーブルが更新されます。

ただし、ページでは、在庫ステータスは引き続き利用不可として表示されます。ただし、同じ製品が再度選択されると、2 番目の要求が Camel 要求ではなく直接データベースに対して行われるため、利用可能として表示されます。

これに対する解決策はありますか?

4

1 に答える 1

0

Commerce が外部システムを呼び出すと、キャッシュに格納されたものではなく、外部システムから返されたオブジェクトが返されます。

外部システムが完全な情報セットを提供しない場合、その商取引自体が在庫応答に適用されます。

なぜこれを行うのかは、私にはよくわかりませんが、それが真実であることを観察しました。また、外部システムが在庫レコードの外部識別子を入力するため、実店舗の在庫表示にも影響しますが、キャッシュのみのバージョンはそうではありません。そしてjspsはそれがそこにあることを期待しています。

したがって、最初の実行は問題ないように見えますが、その後の実行ではインベントリが表示されません。

これをデバッグする最も簡単な方法は、Soap UI を使用して WCS で GetInventoryAvailability を呼び出すことです。

a) 既存のキャッシュ エントリが存在しない、および b) 既存のキャッシュ エントリが存在する場合。

次に、b) で返された応答と一致するまで、camel 応答をいじります。

通常、StoreIdentifier や AvailabilityTime など、重要であるとは考えていなかったフィールドです。

于 2015-05-06T21:29:30.353 に答える