ってSOAPの送達保証規格(今のWEBサービスって大概HTTPだからいい加減なのだ)がVHSとβのごとく在る。大体、日本企業は前者が多く、外国企業が後者大目。ところがReliability派のOracle社が、WebLogicってTomcatの次あたりに有名なJavaのAPサーバを持ってるReliableMessaging派のBEA社を先月だか先々月買収したものだから、一体どうなるんだろうという…。
ちなみにいつも私はどうしているか、というと、先行き不透明などっちも使わないで、SOAPリクエストを受け取ったらすかさず一旦JMSに書き込んで、書き込み成功したらそこでクライアントには成功リプライを返すパターン。でDBが止まったりネットワーク切れたり突如APサーバが落ちたりで失敗の可能性がある本処理はトランザクションMDB*1でやる、と。クライアント-APサーバ間の通信障害時に二重送信の可能性があるから結局アプリ側での考慮が要るけど、通番つけて電文のロスト検出よりもID等でダブり検出の方が単純で間違いが少ない筈と思ってる。つかOracle DBだとそういうキー制約があるからダブり検出はそっちに任せればよいという。クライアントへの再送要求も要らないし、やっぱロストのリスクか二重送信のリスクかの二つに一つなら後者だね。

*1:JavaのMessage Driven Beanの略であり、PHPのモジュールの事では無い。