osb

Oracle Service Bus 11g Development Cookbook has been published!

Good news today from the publisher! The book of which i'm coauthor of has been published! After months of hard work it's finally there. Oracle Service Bus 11g Development Cookbook : http://www.packtpub.com/oracle-service-bus-11g-development-cookbook/book I hope you will all like it. Thanks to the other authors (Guido, Edwin, Jan and Mischa) for all their hard work and for the great few months of working together to establish this great piece of work. Special thanks go out to Guido...

Oracle Service Bus : Using custom xpath functions in xslt

One of the readers of my blog post 'Oracle Service Bus 11g, Using Custom Xpath Functions asked we can reuse the custom xpath functions in a xsl transformation. It's possibel to reuse the jar and calll the custom functions from within a xsl transformation. Starting with creating the resources needed for the custom xpath function : XML Configuration file (osb-custom.xml) Property file (optional, osb-custom.properties) Custom Function Class (jar package) Restart the osb service so...

Oracle Service Bus, Request Entity Too Large

In the osb we use business services (http transport + wsdl) to call our composites on the soa suite. In a few situations the routing in the osb fail with the next error [sourcecode language="xml"] BEA-380000 Request Entity Too Large RouteNodeLeesDeclaratieCompleet response-pipeline [/sourcecode] Looking in the list of instances in the soa suite we see the instances over there just complete in a valid way but still the routing in the osb fails. Solution Go to the...

Oracle Service Bus, Generic fault handling

For a usecase i needed a construction which would give me the option to implemenent generic service error handling in which i could conditionally execute activities like alerts, reports, logging, etc One place which will contain all the error handling logic and which could be easily extended both in implementation of the logic for handling errors and being able to easily add new errors to be handle which the metadata for this error. In case third party applications decide to trigger new...

Oracle Service Bus, The number of parameters for registered XQuery resource System1_To_Fault does not match that given to it at runtime

To be able to make use of Dynamic Xquery the xqueries itself all need to have the same defined interface. So after defining the different xqueries and test them one by one in Eclipse all seem to work. On runtime i get the next error : [sourcecode language="xml"] The number of parameters for registered XQuery resource System1_To_Fault does not match that given to it at runtime [/sourcecode] I was pretty sure after logging all the binded input variables they were all containing...

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...

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...

java.lang.NoClassDefFoundError: oracle/tip/adapter/db/DBConnectionManager

During activation of one of our osb project we get the next stacktrace [sourcecode language="java"] java.lang.NoClassDefFoundError: oracle/tip/adapter/db/DBConnectionManager at oracle.tip.adapter.db.DBConnectionFactory.(DBConnectionFactory.java:71) at oracle.tip.adapter.db.DBManagedConnectionFactory.createConnectionFactory(DBManagedConnectionFactory.java:274) at...