Category: SOAP



Problem: Transaction Rolledback.: weblogic.transaction.internal.TimedOutException: Transaction timed out after 603 seconds

A lot of you might have encountered an issue of Weblogic transaction timed out after 302/603 etc seconds. We have been struggling with this for some time as well.

Non Recoverable System Fault :

Transaction Rolledback.: weblogic.transaction.internal.TimedOutException: Transaction timed out after 603 seconds BEA1-3FB6FB464035C13E3227 at weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransactionImpl.java:1748) at weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTransactions(ServerTransactionManagerImpl.java:1591) at weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManagerImpl.java:1911) at weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTransactionManagerImpl.java:1501) at weblogic.transaction.internal.WLSTimer.timerExpired(WLSTimer.java:35) at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273) at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207) at weblogic.work.ExecuteThread.run(ExecuteThread.java:176) ; nested exception is: weblogic.transaction.internal.TimedOutException: Transaction timed out after 603 seconds BEA1-3FB6FB464035C13E3227

Solution: Fortunately enough we have managed to find a resolution to this one, which I would like to share.

This issue occurs due to the server time out settings. There are a few settings which you need to update in order to get this resolved.

1. SyncMaxWaitTime (from em console – no Restart required)
2. BPEL EJB’s (weblogic console – requires WLS restart)
3. Global Transaction time out or JTA settings. (weblogic console)
For details on how to change these settings there are a couple of existing articles which one could refer to:

 

 

 


AIA defines a common vocabulary of common business entities and their corresponding services.

AIA defines a common vocabulary across applications and industries. Enterprise Business Objects (EBOs) are the key elements in this context. They canonically describe standard business entities such as an order or an invoice. Based on these generic business entities, AIA delivers other artifacts such as Enterprise Business Services (EBSs), Enterprise Business Messages (EBMs), Enterprise Business Flows (EBFs), Composite Business Processes (CBPs), and Application Business Connector Services (ABCSs). We will describe the purposes of these artifacts and their relationships to each other later when we explain the AIA reference architecture. The combination of all of these SOA artifacts makes up the adaptable and extensible service-oriented reference architecture that AIA stands for.


As discussed in my previous post, using Oracle BPM to consume services exposed through Oracle Service Bus is the most common type of integration.  In the diagram below you can see the highlighted path that is taken in this case.  All of the communication is between the BPM execution engine, Service Bus, and the back end web services.

BPM OSB Integration

There are two possible methods to consume the services from OSB in Oracle BPM.  The first case is the same as consuming any other web service in Oracle BPM.  The second case involves using an Oracle Service Bus connector in Oracle BPM in order to provide better tooling to the developer when consuming the services.  Whichever method you choose to use during development will result in the same execution at runtime using standard web service calls.  In either case, these integrations are limited to SOAP services exposed over HTTP.  Currently SOAP over JMS (or any other protocol) is not supported.

I will now go through an example of consuming a service using both of these methods.

Oracle Service Bus Resources

In this post we will use an example OSB Service called HelloBPM.  This is a WSDL based Proxy Service that simply takes in a name and transforms it into a response message of “Hello Name!”  Below is the Proxy Service listed in the OSB console:

In order to consume this service as a standard web service, we need to know the URL of the WSDL.  By looking at the details of this proxy service in the OSB console, we see the endpoint URL is /OBPM/Services/HelloBPM.  We will use this in the next section:

 

Consuming as Standard Web Service

Within Oracle BPM, the first step in consuming a service either as a Web Service or as an OSB Service is to create a module to hold the service.  For the example of consuming the service as a standard Web Service, I have created a module named WebServices.  Once the module is created, you can right click on it and go to Catalogue Component -> Web Service.  This will bring up the Web service wizard you will use to consume the service:

The first step in the wizard is to provide the WSDL file.  As we saw in the OSB console earlier, the endpoint for our service is /OBPM/Services/HelloBPM.  We use that endpoint along with our OSB server host and port to retrieve the WSDL.  The complete address to the WSDL ishttp://localhost:7001/OBPM/Services/HelloBPM?wsdl

After the introspecting of the service is complete, click finish and you will see a HelloBPM web service module has been created within your WebServices module.  This new web services module will contain the service all related schemas are used within the service.  This service can now be used within your process.

 

 

Consuming using Service Bus Connector

Consuming the same service as an OSB service is very similar to the standard web service.  For this example, I have created a module named OSBServices to hold the OSB Service version.  This time we will right click on the OSBServices module and select Oracle Service Bus from the Catalogue Component menu.

Because we have not consumed a service from OSB yet we need to create a new OSB configuration.  You can provide any name you want for the configuration and select next.

You will then be required to enter the host, port, and login credentials of your OSB server.

Once the OSB configuration has been created you can browse the resources in OSB by project.  You can see below that OBPM is the selected project and it contains a single proxy service  called HelloBPM.

Once you click next, this service is consumed in much the same way as when using the standard web service.  Below is a very similar set of resources created in your catalog underneath your OSBServices module.  As with the other option, your service is now ready for use within your process.

 

Conclusion

As you have seen in this post, the two ways to consume OSB services within Oracle BPM are very similar.  However, we find the OSB integration makes it easier for a BPM developer to consume services.  If you do not use the OSB integration, the WSDL address for each individual service needs to be provided to the BPM developer to consume the service.  However, if you have a small number of services that have not previously been consumed through OSB, it is often easiest to use the standard web service method.

Referenced from Avion Consulting Blog

Kavin's Technology Space

Quorum of Thoughts, to Quench the flames!!

Rajesh Raheja on Enterprise Software Development

My thoughts on Enterprise Software Technologies...and more.

Gilberto Holms

Java/SOA Architecture Blog

Universo Middleware

"Não é a agilidade da resposta que ficará marcada para sempre como o seu atributo mais forte, é a qualidade e a profundidade do que você está dizendo."

Enjoy IT - SOA, Java, Event-Driven Computing and Integration

Sharing my thoughts and experiences on SOA, Java in the Enterprise, Event-Driven Computing and Integration in the Enterprise

Oracle Technologies Premier

Technical posts on OSB/WLS/AIA, Oracle SOA Suite, BPM and Fusion Middleware

Java på svenska

Just another WordPress.com weblog

SOA Community Blog

by Jürgen Kress

Oracle .. Java .. OpenSource .. SOA

Just another WordPress.com weblog

Nitin's Oracle Fusion Middleware and SOA World

SOA FMW BPM BPEL OSB Governance J2EE and all the Geeky stuff

Follow

Get every new post delivered to your Inbox.

Join 382 other followers

%d bloggers like this: