donderdag 5 november 2009

Working with Business Events in SOA 11g

I have just created a new post on the company website on how to create and use Business Events in and OFM11g environment.

You can read all about it right HERE!

maandag 28 september 2009

ESB bootstrap failed

Have you ever come across the following error when deploying an esb to your SOA 10.1.3.x server?

error code: 2006 : 5
summary: ESB DT Cache is not initialized. May be ESB bootstrap failed
Fix: Please review ESB prameters for their correctness.


If you have, then you might have found that it can be quite a pain to find out where the problem lies.

A good place to start your search would be in the following log files:

<ORACLE_HOME>\j2ee\oc4j_soa\log\oc4j_soa_default_group_1\log.xml

OR

<ORACLE_HOME>\j2ee\oc4j_soa\log\coreman.log


Here you can find logging and errors originating from the esb server. Below you can find a number of error's and how to solve them...

1. If you find a "ORA-01000: maximum open cursors exceeded error" in the log.xml file then you should do the following:

a. Shutdown the SOA server. (opmnctl stopall)
b. Shutdown the database server.
c. Increase OPEN_CURSORS parameter in the Oracle initialisation file to 1500
d. Startup database and startup SOA server. (opmnctl startall)

2. If you find a sql-db error concerning the listener in coreman.log then you could try the following:

a. Shutdown the SOA server (opmnctl stopall)
b. Shutdown the database server and listener.
c. Start the database, then the listener
d. Start the SOA server (opmnctl startall)

Good luck!

donderdag 2 juli 2009

Fusion Middleware 11g download and install

As of the first of july it is possible to download the new Fusion Middleware 11g software.

This means we can now officially play with the new SOA 11gR1 software. But first we have to install it...

As I'm writing this, I am also trying to install a full version of the SOA Suite. (So no developer version and it's on windows).

Software Checklist:
- Soa Suite 11gR1
- Weblogic 10.3
- Repository Creation Utility (RCU)
- Oracle Database 9+
- JDeveloper 11g
- SOA JDeveloper extensions
It turns out these are hard to find, so here is the link:
http://www.oracle.com/technology/products/jdev/101/update/fmw_products.xml


There are quite a few steps to take before we are ready to test-drive the new SOA Suite.

1. First you must have a database to use as a repository. I used an 10g XE database.
- Be sure to set the processes parameter to 200 and after doing so restart the database.
(alter system set PROCESSES=200 scope=SPFILE;)

2. You have to create the soa repositories by using the Repository Creation Utility which is a really nice tool! (RCU)
- Ignore the warning about database incompatibility (if you are using Oracle XE)

3. Install weblogic server... which is mainly next... next... next... finish...

4. Install a loopback adapter on your (windows) pc.

5. Set java home and add the jdk and jre to your path variable and start the SoaSuite 11g setup. Which is really next... next... next... finish!

6. Configure the SOA Suite by running the domain creation wizard which is mostly self explanatory

7. Start the admin server using the command:
%MIDDLEWARE_HOME%\user_projects\domains\[domain_name]\bin\startWeblogic.cmd

8. Start the managed servers (soa_server1, bam_server1) by using the following command:
%MIDDLEWARE_HOME%\user_projects\domains\[domain_name]\bin\startManagedWeblogic.cmd soa_server1 [hostname]:[admin_port]

9. Wait a minute for the servers to startup.
(in some cases you might get a PermgenSpace error, which you can fix by adding the startup argument "-xx:MaxPermSize=256M" or any other amount of increased MB's)

10. When everything is well, you can now login to the enterprise manager as follows:
http://[hostname]:[admin_port]/em
(username and password you must know already because you specified these during domain creation)

11. Or you can login to the weblogic adminstration console:
http://[hostname]:[admin_port]/console

12. Check out the consoles and start developing your first services (more on that later)

(ps. Don't forget to install the soa suite design time components for JDeveloper!)


Comparing this installation to 10g I find that the installation of the prerequisites are far easier than they used to be in 10g. (Think IRCA) The same goes for the installation and configuration of the suite itself.

Useful link:

http://download.oracle.com/docs/cd/E12839_01/doc.1111/e13925/toc.htm

Good luck!

maandag 9 maart 2009

Endpoint in Oracle ESB shows no more input

Have you ever had that problem where suddenly an deployed ESB shows no more input fields when you go to its endpoint? Well I had!

Perhaps I should first provide you with the setup. And its a very simple one.

I have a database adapter which returns a number of values. Then there is also an Routing Service which provides the adapter with its input and output. All calls to de database adapter must go through this Routing Services.

Now I suddenly ran into the problem that no more values were returned when the service was called with proper input. So I went to check the endpoint of the routing service in the esb console. I found out it specified no input fields. So when I checked the endpoint of the database adapter itself, it did show input fields. Weird... So probably the mapping between the input of the routing service and the adapter is faulty. Right?

Wrong.. 

Turns out someone edited the database table on which I was querying... (talk about governance)

So actually the mapping between the database output and the routing service was wrong. But this doesnt show at first in JDeveloper because its reads from its local wsdl. So i regenerated the wsdl and then the error in the mapping showed up. Of course now it was easily fixable.

The real issue here is that when such a thing happens, no errors of any kind appear. Not in the console and not in the logs. And because the input isn't shown in the routing service one easily jumps to the conclusion something must be wrong with the input.

But what probably happens is that ESB checks all the mappings when you click the endpoint, not just the input mapping.

So it is always a wize thing to regenerate the wsdl before you go on you ESB bugfixing endeavours.

Hopes this helps you identify a problem a bit faster...

vrijdag 30 januari 2009

Welcome

Hello everybody and welcome to flexiblejavaguy. 

This is my very first blog item and I intend to post a few messages every month on various topics.

The topics I intend to blog about are the following:

- Java in all it ways
- Java frameworks
- Service Oriënted Architecture (specifically the Oracle SOA Stack)
- Flex

Of course the list above might change over time.

I hope this blog will help you solve problems and will make for some interesting reading.

So, please check back in a while..

Greetings,

Marcel