tag:blogger.com,1999:blog-1839316484051079047.post75087586192754050..comments2024-03-16T06:30:40.580+01:00Comments on Java / Oracle SOA blog: Global Transactions and Quality of Service in OSBEdwin Biemondhttp://www.blogger.com/profile/02338716126881111629noreply@blogger.comBlogger33125tag:blogger.com,1999:blog-1839316484051079047.post-6324596442236879692014-12-17T10:18:06.237+01:002014-12-17T10:18:06.237+01:00Hi,I have a service which is atomic transaction, S...Hi,I have a service which is atomic transaction, So when we are invoking atomic transactional service over proxy service, we are getting the error "Transaction context is required", As for same we added policy file of AT in business and proxy service but again we are getting same error.<br />please help meAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-1839316484051079047.post-9494591959574738852014-07-31T08:26:25.776+02:002014-07-31T08:26:25.776+02:00Hello All,
I am using split join with MQ.Suppose ...Hello All,<br /> I am using split join with MQ.Suppose I have 2 request then sometimes I am getting response for all 2 request but sometimes I am getting only 1 response.MQ is returning the resposne.But Invoke service is not picking up that response sometimes.<br /><br />Any suggession.<br /><br />Namshttps://www.blogger.com/profile/16388475458725311364noreply@blogger.comtag:blogger.com,1999:blog-1839316484051079047.post-25356067619659814522014-03-28T12:51:20.661+01:002014-03-28T12:51:20.661+01:00Hi Biemond,
My requirement is, PS1 polls a databas...Hi Biemond,<br />My requirement is, PS1 polls a database table for status with 'Ready'. markreadvalue='Processing'.-> publish to JMS Q<br /><br />PS2 polls the JMS Q and call a API. when the API returns success message, the record in the database tablw will be updated to 'Processed' if there is any error occoured in the services, the table will be updated to 'ERROR&Anonymoushttps://www.blogger.com/profile/12825022241898780244noreply@blogger.comtag:blogger.com,1999:blog-1839316484051079047.post-26709190248887409882013-08-19T11:50:51.001+02:002013-08-19T11:50:51.001+02:00Hi,
I don't know MQ but you can check the MQ ...Hi,<br /><br />I don't know MQ but you can check the MQ adapter or the IBM documentation. <br /><br />By the way HTTP does not support XA. <br /><br />But what can happen is that the OSB response message flow can fail -> OSB does rollback on a request queue and reads again the message ( without redirect you will have a loop ), with Exactly Once and XA it tries also to rollback the BS Edwin Biemondhttps://www.blogger.com/profile/02338716126881111629noreply@blogger.comtag:blogger.com,1999:blog-1839316484051079047.post-4094955243557838192013-08-19T11:35:13.848+02:002013-08-19T11:35:13.848+02:00Hi,
there is no solution for this unless you deve...Hi,<br /><br />there is no solution for this unless you develop your own API on EBS which is also not supported. <br />Compensation is the only way and business talking about transactions :-). Maybe you need to do some extra monitoring, async and an errorhospital to compensate for not using XA.<br /><br />Thanks Edwin Biemondhttps://www.blogger.com/profile/02338716126881111629noreply@blogger.comtag:blogger.com,1999:blog-1839316484051079047.post-45292284890276638482013-08-14T13:10:01.932+02:002013-08-14T13:10:01.932+02:00Thanks Edwin for providing the solution. But we ha...Thanks Edwin for providing the solution. But we have a difficulty here - as per the business decision - we are NOT suppose to undo/delete any data outside the transaction which did the changes. This means either we have to commit or rollback changes in the SAME transaction itself. We can't undo changes through BPEL Compensation. <br /><br />Just looking for any solutions with these technicalAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-1839316484051079047.post-70745322943263389062013-08-14T12:26:26.285+02:002013-08-14T12:26:26.285+02:00Hi Edwin,
I have made a proxy service using MQ tr...Hi Edwin,<br /><br />I have made a proxy service using MQ transport and depending on the message content I'm routing the message to three different business services. Business services are of MQ, JMS and HTTP respectively. How I can ensure at least once QoS in this case. If At least Once is not possible then Can I at least gurantee message delivery.<br /><br />How to check whether the MQ, I&#sagnik sarkarhttps://www.blogger.com/profile/04487300927177163729noreply@blogger.comtag:blogger.com,1999:blog-1839316484051079047.post-23824435299653246332013-08-12T16:55:15.024+02:002013-08-12T16:55:15.024+02:00Hi,
this is hard, you can skip the EBS api and do...Hi,<br /><br />this is hard, you can skip the EBS api and do it directly ( not really a great plan ) on the EBS tables <br />or give up Global XA try to do some compensation in the BPEL. The BPEL gives back a soap fault or a fault response in Async. The OSB flow should call the other invoked BPEL and ask for compensation or start a new BPEL compensation proces.<br />or keep the adapters outside Edwin Biemondhttps://www.blogger.com/profile/02338716126881111629noreply@blogger.comtag:blogger.com,1999:blog-1839316484051079047.post-60155332856554825642013-08-09T08:48:14.416+02:002013-08-09T08:48:14.416+02:00Hi Biemond,
I Would request for your suggestion f...Hi Biemond,<br /><br />I Would request for your suggestion for this business scenario. Currently we have application design where OSB receives requests from other applications. OSB does service orchestration by forwarding to more than One BPEL process in any OSB Flow. Each BPEL in turn calls multiple Mediators passing on the request. These mediators calls Oracle EBS using APIs through DB AdaptorsAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-1839316484051079047.post-12607447827618276512013-08-05T09:11:30.396+02:002013-08-05T09:11:30.396+02:00Hi Biemond,
It worked after I marked "Is XA ...Hi Biemond,<br /><br />It worked after I marked "Is XA Required" in Advanced Settings of JMS Transport tab.<br /><br />Thanks for the great post ...Bantyhttps://www.blogger.com/profile/10040002159042382444noreply@blogger.comtag:blogger.com,1999:blog-1839316484051079047.post-17422354581078834402013-08-05T06:24:46.934+02:002013-08-05T06:24:46.934+02:00Hi,
Did you add a redirect policy on this Respons...Hi,<br /><br />Did you add a redirect policy on this ResponseQ , here you can provide the queue and set the maximum retries like 2.<br /><br />Are you now having a loop.<br /><br />ThanksEdwin Biemondhttps://www.blogger.com/profile/02338716126881111629noreply@blogger.comtag:blogger.com,1999:blog-1839316484051079047.post-82359630894883493212013-08-04T14:48:53.485+02:002013-08-04T14:48:53.485+02:00Hi Biemond,
I tried to implement the mentioned ca...Hi Biemond,<br /><br />I tried to implement the mentioned case. I marked the JMS connection factory as XA. but still the a is not getting rotlled back to error queue but to ResponseQ.<br />I am clueless. please suggest<br />Thanks<br />SoumitraBantyhttps://www.blogger.com/profile/10040002159042382444noreply@blogger.comtag:blogger.com,1999:blog-1839316484051079047.post-52928543520347904972013-04-04T23:21:16.226+02:002013-04-04T23:21:16.226+02:00Thanks, it works! If you add a Routing Options ele...Thanks, it works! If you add a Routing Options element after service callout and set QoS to exactly-once, both EJB calls are executed in the same PS transaction context. It's a little strange that there is no check box on the service callout properties tab itself but anyway.<br /><br />It caused another problem in my case-) Both EJB classes run within the same global TX but there must two Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-1839316484051079047.post-8566950762928702312013-04-03T00:05:54.271+02:002013-04-03T00:05:54.271+02:00Sorry for the delay, and thanks for the hint, I wi...Sorry for the delay, and thanks for the hint, I will try thatAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-1839316484051079047.post-68309931230656998582013-03-20T20:09:07.644+01:002013-03-20T20:09:07.644+01:00Hi,
Can you add routing options in the service ca...Hi,<br /><br />Can you add routing options in the service callout and set QoS on exactly once, (default is best effort )<br />and enable same transaction for response <br /><br />thanks<br />Edwin Biemondhttps://www.blogger.com/profile/02338716126881111629noreply@blogger.comtag:blogger.com,1999:blog-1839316484051079047.post-29041800716320781762013-03-14T23:05:08.140+01:002013-03-14T23:05:08.140+01:00So how can I make sure that both EJB service callo...So how can I make sure that both EJB service callouts participate in the global TX started by the proxy srv?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-1839316484051079047.post-81969725369917211602013-03-14T23:03:10.962+01:002013-03-14T23:03:10.962+01:00Hi,
My proxy service is a SOAP web service create...Hi,<br /><br />My proxy service is a SOAP web service created from a WSDL defining its input parameters such as are region name, country name etc. The biz service is defined from the EJB client, as you described in one of your previous posts-) In the flow I use two service callouts to call my EJB methods. The second one throws an exception but the first one does not roll back.<br /><br />Thanks Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-1839316484051079047.post-58096589735238742452013-03-14T12:14:34.571+01:002013-03-14T12:14:34.571+01:00Hi,
What did you use for the invoke of the second...Hi,<br /><br />What did you use for the invoke of the second ejb method. did you do use a publish or a service callout. These are default in an other transaction ( you can set QoS , in transport or routing options ) and also what is your starting point, do you use JMS as proxy transport( this enables XA ) <br /><br />ThanksEdwin Biemondhttps://www.blogger.com/profile/02338716126881111629noreply@blogger.comtag:blogger.com,1999:blog-1839316484051079047.post-79547069931582076362013-03-13T22:26:29.826+01:002013-03-13T22:26:29.826+01:00I'm trying to test EJB3 transaction rollback i...I'm trying to test EJB3 transaction rollback in OSB. I created an EJB3 session bean with two methods persisting data in two different database tables. Following btw one of your posts-) For example the first method creates a region and the second one a country from that region in the Oracle XE HR schema. The session bean is marked @TransactionAttribute(TransactionAttributeType.REQUIRED). <br /Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-1839316484051079047.post-5139122422947779082013-02-13T21:41:34.217+01:002013-02-13T21:41:34.217+01:00Hi,
you can loose return message ( unless you can...Hi,<br /><br />you can loose return message ( unless you can handle the error ) and no rollback on the consumer proxy. When something goes wrong on the way back the consuming message and BS is not rollback and the business service commits.<br /><br />with xa you can rollback everything and make sure the BS can get the message only once.<br /><br />thanks Edwin Biemondhttps://www.blogger.com/profile/02338716126881111629noreply@blogger.comtag:blogger.com,1999:blog-1839316484051079047.post-4169710553338131332013-02-04T16:45:33.734+01:002013-02-04T16:45:33.734+01:00Hi Edwin,
We met a stuck thread issue where it is ...Hi Edwin,<br />We met a stuck thread issue where it is being caused due to Synchronous receiver which is a OSB proxy in customer's environment.<br />Suggested is to turn off "Same Transaction for Response" by Support Team.<br />Our concern is to lose the message.<br />So we are wondering if use XA connection factories, Datasources and XA configured Resource Adapters and turn off Anonymoushttps://www.blogger.com/profile/16905996069326120012noreply@blogger.comtag:blogger.com,1999:blog-1839316484051079047.post-47917748087299649622013-01-28T21:20:57.097+01:002013-01-28T21:20:57.097+01:00Hi,
Not possible you can't change endpoint o...Hi, <br /><br />Not possible you can't change endpoint on the consuming side. Just create more jms consuming OSB proxies and deliver it all to the same Proxy service.<br /><br />thanks<br /> Edwin Biemondhttps://www.blogger.com/profile/02338716126881111629noreply@blogger.comtag:blogger.com,1999:blog-1839316484051079047.post-67832961872533698442013-01-24T00:17:07.109+01:002013-01-24T00:17:07.109+01:00Hi Edwin,
Is there anyway to use one proxy consumi...Hi Edwin,<br />Is there anyway to use one proxy consuming message from different queues available on same server. Reason I need this is because I am receiving messages from a ERP queue. this ERP system has multiple test environments and there is a JMS queue for each environment.<br /> but for me I just have one OSB test environment. I create foreign queue on weblogic for each JMS queue of ERP.<brAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-1839316484051079047.post-86277774234439204742012-12-19T23:07:17.739+01:002012-12-19T23:07:17.739+01:00With a topic , you can make some simple proxies wh...With a topic , you can make some simple proxies which are easier to maintain and 2 or more service callouts or publish actions.<br /><br />thanksEdwin Biemondhttps://www.blogger.com/profile/02338716126881111629noreply@blogger.comtag:blogger.com,1999:blog-1839316484051079047.post-79692475295011688382012-12-12T21:14:12.118+01:002012-12-12T21:14:12.118+01:00Hi Edwin, I tried following approach with routing ...Hi Edwin, I tried following approach with routing options -<br /><br />1. Proxy (XA Transaction - NO)<br />Routing options QOS: first two BS (Best Effort). 3rd (BPEL) BS (Exactly once. retry 2 at 5 seconds).<br />result - no message to first 2 queues. BPEL access retried as configured on ERPQueue.<br /><br />2. Proxy (XA Transaction - Yes)<br />Routing options QOS: same as above<br />Result : Gauravnoreply@blogger.com