bpel - SOAComposite to OSB - SoaDirect Transaction propagation -
मेरे पास निम्न परिदृश्य है:
सरल बनाने के लिए, मान लें कि DBAdapter1 एक डेटाबेस तालिका से रिकॉर्ड हटाता है और DBAdapter2 (ओएसबी प्रॉक्सी के माध्यम से लागू होता है) एक अलग टेबल मैं दूसरे डीडी में एक विफलता के मामले में पहली डीबीएडेटर इनवॉओ को रोलबैक करने में सक्षम होना चाहता हूं।
एक बीपीईएल प्रक्रिया के अंतर्गत मैं SOADIRECT का उपयोग कर डीबीएडैटर 1 और एक ओएसबी प्रॉक्सी का उपयोग कर रहा हूं। मेरी बीपीएल प्रक्रिया में लेनदेन = आवश्यक है।
ओएसबी प्रॉक्सी में, मैं संदेश संभाल टैब में TransactionRequired = सक्षम किया जा रहा हूं, साथ ही साथ डीओएडीएप्टर 2 को लागू करने के लिए रूट गतिविधि में 'सटीक-एक' ।
यह कॉन्फ़िगरेशन ठीक काम करता है, यानी, अगर डीबीएडेटर 2 (या ओएसबी प्रॉक्सी) में कोई त्रुटि आती है, तो सभी लेन-देन वापस लाया जाता है, हालांकि मैं ओएसबी प्रॉक्सी से बीपीईएल को वापस गलती नहीं कर पा रहा हूं । बीपीईएल आमंत्रण इस प्रकार समाप्त होगा:
oracle.soa.api.invocation.InvocationException: com.bea.wli.sb.transports.client.SB ट्रांस्पोर्ट अप्सप्शन: एक एसबी परिवहन संदेश प्रसंस्करण के दौरान हुई परिवहन अपवाद । जेटीए लेनदेन सक्रिय राज्य में नहीं है जो मेरे लिए कोई मतलब नहीं लगता है, क्योंकि ओएसबी प्रॉक्सी को बीपीईएल में शुरू किए गए वैश्विक लेन-देन को समाप्त नहीं करना चाहिए। अगर मैं अपनी प्रॉक्सी सेवा में एक त्रुटि हैंडलर जोड़ता हूं, तो मैं DBAdapter2 से आने वाली उचित त्रुटि को प्राप्त कर सकता हूं, हालांकि यह गलती कभी वापस बीपीईएल में नहीं फैलती है।
कोई भी विचार मैं यहाँ गलत क्या कर रहा हूं? मैं osb से bpel के लिए soadirect का उपयोग कर लेनदेन और दोषों का प्रचार कैसे कर सकता हूं?
त्रुटि हैंडलर में एक दोषपूर्ण परिभाषित किया गया है और उत्तर में "साबुन गलती का प्रचार करें "
अगर आप अपनी प्रॉक्सी का परीक्षण करते हैं तो आपको गलती का तत्व प्राप्त होगा।
मुझे बताएं।!
Comments
Post a Comment