Oracle Service Bus, processing Java Object Messages with JMS transport

A few releases back Oracle enhanced to JMS transport to be able to handle Java Objects in queues and topic. The JMS transport now has the option to either receive Java Objects in the OSB processes by retrieving them from a topic or queue, or storing the plain Java Objects. First we need to create a new queue in Weblogic, in my case QueueuIn. 1. Create the java entity object Create the next entity object [sourcecode language="xml"] package nl.xenta.entities; import...

Oracle Service Bus, java callouts with XmlObjects

In the Oracle Service Bus we can make use of java callouts to invoke plain java. Basically there aren't any restrictions on the the input and output parameters of the static methods. There are 2 situations which will differ in the way we get the data returned back from the java callout, see this Return primitives, Strings or XmlObjects from the java callout. In this case we can just retrieve the data from the $body variable and execute xpath expressions on it to immediately get the...

Oracle Service Bus, Implementing Aggregator pattern by use of Split-Join

One of the patterns mentioned on the eai patterns site is the so called Aggregator pattern. "Use a stateful filter, an Aggregator, to collect and store individual messages until a complete set of related messages has been received. Then, the Aggregator publishes a single message distilled from the individual messages" We will be using this pattern in our next use case. Use case On the Oracle Service Bus we will implement the EmployeeService with an operation called...

JAXB and how to work around duplicate variables

For our current adf project we're generating webservice proxy clients against the wsdls of our OSB services. In one of the services we had the next xsd construction : [sourcecode language="xml"] XML Represenation of the Employee domain object [/sourcecode] The object contains both an id-element and an id-attribute. When trying to generate the Webservice proxy against the wsdl containing this...

Oracle Service Bus, how to verify Result Caching is active

Oracle Service Bus has a feature now for a while which gives us the option to switch on Result Caching on services. Result Caching is based on Oracle Coherence, an in-memory data grid. Basically what it does is cache the results from the calls to the business services. Which means on a second call to the service, OSB will first verify if the data, identified by a xpath-expression is in the cache. If it is, i will be retrieved from the cache, if it isn't the call to the physical endpoint of...

Weblogic, QBrowser and topics

Besides using the Weblogic Console to add subscribers (durable) to our topics we can also use QBrowser to browse queues and topics on your Weblogic Server. Download the tool here, configurate the .bat/.sh so all the correct versions of the jar are included or create the Weblogic Full Client (http://download.oracle.com/docs/cd/E12840_01/wls/docs103/client/t3.html). Connect to your Weblogic instance. You will get an overview of all your queues and topic, and also our MyTopic. Click on...

Weblogic, topics and (non)-durable subscribers

For one of my testcases i implemented a simple process in the Oracle Service Bus which stores messages on a Weblogic topic. This blog will not contain any rocket science, just a quick overview on how to deal with topics and subscribers in Weblogic. In case of storing messages on Weblogic queues you can just browse in the Weblogic Console and look into the messages To be able to look at the message available in a topic we need to first subscribe to the topic. Create a new JMS...

Book Review : WS-BPEL 2.0 for SOA Composite Applications with Oracle SOA Suite 11g

Already read this book a while ago, but never had the time to do a short review on it. After reading 'Oracle SOA Suite 11g R1 Developer’s Guide' i was still hoping to read some new refreshing information. BPEL 2.0 is fairly new for me. Read about the specs, but never had much of a chance to get in touch with it for development purpose. The book mentions most of the "what's new changes" spread around in several chapters in the book. I would rather have some sort of short overview in the...

Oracle Weblogic, resetting datasources

In our OSB services we make a lot of use of jca database adapters calling stored procedures. After changing the package structure in the database (adding new procedures) we get the next stacktrace (partly in Dutch) [sourcecode language="xml"] Invoke JCA outbound service failed with application error, exception: com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException:...

Weblogic jdbc resource out of sync

For some development task we added a jdbc resource needed for one of our business services which was based on the database adapter. For a test we added environment settings for let's say development1, but later on we needed to switch this setup to development2. Easy task by just editting the jdbc resource setup in the console, change the settings and go (or restart the server and go). But in both cases the resource kept pointing to the development1 environment. The config for the jdbc...