osb

Oracle Service Bus 11g, Using Custom Xpath functions

In the new Oracle Service Bus 11g, Oracle gives us new functionality for the use of custom xpath functions. These functions we eventually can re-use in for example the xslt or xquery transformations. For this we need : 1. XML Configuration file (osb-custom.xml) 2. Property file (optional, osb-custom.properties) 3. Custom Function Class (jar package) All these files need to be stored at the next location [sourcecode language="xml"] /config/xpath-functions [/sourcecode] 1....

Oracle Service Bus 11g, installation

Besides the new patchset for Oracle SOA Suite 11g, Oracle also released the new Oracle Service Bus 11g. See Edwin his list for the new features. Download the installer and unpack the files and move the files from Disk2 to Disk1, otherwise the installation won't complete. Select the middleware home and we will create the new Oracle Service Bus Home in there. Configuration Wizard See this (2.10 Oracle Service Bus Domain Configuration Scenarios) overview to decide what the...

EAI/Oracle Service Bus testing with Citrus Framework, part2

Before reading on, read my first article on the Citrus Framework. In this second part of testing by use of the Citrus Framework i want to test a new scenario which was part of the middleware of my last customer. Scenario Some third party application stores messages on the Weblogic JMS queue in the middleware. My Oracle Service Bus project picks up the messages, does some transformation/enrichment/etc, and stores the data on the file share. Storing the file on the filesystem is the trigger...

Oracle Service Bus, invoke asynchronous webservices

In this blog i will give a short overview on how to invoke asynchronous webservices from the Oracle Service Bus, and route the callback from the service back to some other endpoint (service) on the bus. The flow we will create will look like this Asynchronous webservice To communicate from the Oracle Service Bus to an asynchronous webservice i used this (http://www.ewernli.com/web/guest/12) tutorial to get a service up and running on my glassfish. After deployment the service (wsdl)...

Oracle Service Bus, file transport, get filename from url

In Oracle Service Bus it's relative easy to get the filename which has been processed by the proxy service. On the $inbound context variable we can use the next xpath expression to get file uri [sourcecode language="xml"] $inbound/ctx:transport/ctx:request/tp:headers/file:fileName [/sourcecode] this will give us : [sourcecode language="xml"] c:\temp\testfile\1263968456285_test.xml [/sourcecode] Now i was struckling a bit on how to get just the filename from this url. Since i...

Jumpstart for Oracle Service Bus Development

The article which i wrote together with Ronald van Luttikhuizen is posted on the OTN site. My first one for OTN and i'm proud of it. If you still have any questions about it or other related subjects, i will be happy to help you. link : Jumpstart for Oracle Service Bus Development Download resources (OSB + Java) Original...

Oracle Service Bus, JMS Request/Response pattern

Inspired by the article of Edwin about JMS Request Reply Interaction Pattern in Soa Suite 11g, i will show a little example of what functionality Oracle Service Bus supplies to implement the jms request/response (reply) pattern. The solution is quiet simple. Create the wls resources Create JMS Server, MyJMSServer Create JMS Modules, MyJMSResources Create a Connection Factory, MyConnectionFactory Create 2 queues, MyQueueIn (request message), MyQueueOut (response message) Create...

Oracle Service Bus, transporting large files fails

Error [sourcecode language="xml"] weblogic.socket.MaxMessageSizeExceededException: Incoming message of size: '20000160' bytes exceeds the configured maximum of: '20000000' bytes for protocol: 't3'. weblogic.socket.MaxMessageSizeExceededException: Incoming message of size: '20000160' bytes exceeds the configured maximum of: '20000000' bytes for protocol: 't3' at weblogic.socket.AbstractMuxableSocket.incrementBufferOffset(AbstractMuxableSocket.java:262) at...

Evaluating xpath expressions

This week we were messing around with a routing problem in one of the Oracle Service Bus projects. We had an if-then-else construction which selects on the payload to see what transformation is needed and which business service it needs to call. Example payload [sourcecode language="xml"] VALUE1 1 VALUE2 10 [/sourcecode] test1 : /EDI/CONF_UNB/SYNTAX_ID result : node SYNTAX_ID with value 'VALUE1' test2 : count(/EDI/CONF_UNB/SYNTAX_ID) = 1 result :...

Oracle Service Bus, publish small/big messages to Oracle AQ endpoint

The weird thing was for certain responses i couldn't find the payload back when i queried the aq table in the database. [sourcecode language='sql'] select qt.user_data.text_vc , qt.user_data.text_lob from my_aq_table qt [/sourcecode] The process just completed succesfull in osb, but the payload wasn't there (well it looked like it wasn't there). When publishing big payloads to an Oracle AQ endpoint, Oracle (db) will decide weither the payload will get stored either as...