2

WSO2 ESB v 4.5.1 を使用して、2 つの SOAP Web サービスに分散トランザクションを実装しようとしています。

2 つの別個の Web サービス (それぞれが独自のデータベースに接続されています) と、両方のサービスと通信するプロキシ サービスを実装しました。Proxy-service には Transaction mediator が含まれています。

私が理解している限り、このバージョンの ESB は Atomikos (www.atomikos.com) を使用しており、トランザクション メディエーターがトランザクションを管理する唯一の方法です。

分散トランザクションを使用するように WSO2 ESB と Atomikos を構成する方法は? 分散トランザクション実装の唯一の例を見つけました。システム トランザクションが ESB 自体によって作成される単純なケースを示します。私の場合、トランザクションは外部 Web サービスに「渡される」(伝播される) 必要があります。

SOAP を介した分散トランザクションの例はありますか?

どんな助けでも大歓迎です。

4

3 に答える 3

0

「サポートされていない」理由について詳しく教えてください。

AFAIK WSO2 は Axis2 を Web サービス スタックとして使用しており、Axis2 は WS-Atomic Transactions をサポートしています: http://wiki.apache.org/ws/StackComparison

Axis2 は WS-Atomic Transactions をサポートしていますが、WSO2 にはそれを利用するために必要なものが欠けていますか?

于 2013-05-24T11:05:27.550 に答える
0

これはサポートされていません。できることは、障害シーケンスを使用し、その障害シーケンス内にロールバック ロジックを追加することです。たとえば、最初のサービスを呼び出した後、2 番目のサービスの呼び出しが失敗したとします。次に、障害シーケンスに陥る必要があり、そのシーケンス内で、service1 の呼び出しをロールバックするロジックを記述する必要があります。

于 2013-04-22T19:08:29.330 に答える