WSO2 ESB Распределенные преобразования

Я пытаюсь реализовать распределенные транзакции через два веб-сервиса SOAP с помощью WSO2 ESB v 4.5.1.

Я реализовал два отдельных веб-сервиса (каждый из которых имеет подключение к своим базам данных) и прокси-сервис, который связывается с обоими сервисами. Прокси-сервис содержит посредник Транзакции.

Насколько я понял, в этой версии ESB используется Atomikos (www.atomikos.com), а посредник Transaction - единственный способ управлять транзакциями.

Как настроить WSO2 ESB и Atomikos для использования распределенных транзакций? Я нашел единственный пример реализации распределенных транзакций. Это показывает простой случай, когда системные транзакции создаются самим ESB. В моем случае транзакции должны быть "переданы" (распространены) на внешний веб-сервис.

Есть ли пример распределенных транзакций через SOAP?

Любая помощь будет оценена.

3 ответа

Это не поддерживается Что вы можете сделать, это использовать последовательность ошибок и добавить логику отката внутри этой последовательности ошибок. Например, вы вызываете первый сервис, а затем происходит сбой второго вызова сервиса. Затем вы должны оказаться в последовательности ошибок, и в этой последовательности вы должны написать логику для отката вызова service1.

Я хотел бы получить больше информации о причине, почему "это не поддерживается".

AFAIK WSO2 использует Axis2 в качестве стека веб-службы, а Axis2 поддерживает транзакции WS-Atomic: http://wiki.apache.org/ws/StackComparison

Неужели Axis2 поддерживает транзакции WS-Atomic, но в WSO2 отсутствует что-то необходимое для его использования?

Это (транзакции через различные сервисы) возможно с коммерческой версией Atomikos - ExtremeTransactions.

Я не верю, что он включен в WSO2. Вы могли бы спросить WSO2, могут ли они это сделать или нет...

НТН

Другие вопросы по тегам