Monday, April 4, 2011

OSB complains JCA class cannot be found

Recently I experienced some problems with OSB complaining about JCA class cannot be found. My SOA suite version is 11.1.1.3.
As I work on OSB JCA DB adapters, all of a sudden I see errors like the following:
Invalid JCA transport endpoint configuration, exception: javax.resource.ResourceException: Cannot locate Java class oracle.tip.adapter.db.DBWriteInteractionSpec
Invalid JCA transport endpoint configuration, exception: javax.resource.ResourceException: Cannot locate Java class oracle.tip.adapter.db.DBActivationSpec
This initially gives me the impression that someone touched the startup script that messed up the classpath. So I modified the startup script to hard code the jar files in the classpath. That didn’t really solve the problem.
After sifting through log files and comparing config.xml, I noticed that my OSB server is missing from the DB adapter deployment target list.
  <app-deployment>
    <name>DbAdapter</name>
    <target>AdminServer,osb_server1,soa_server1</target>
  </app-deployment>

You can either edit your config.xml file to add it back in. Or go to weblogic console -> deployments  -> DbAdapter -> Targets and make sure “osb_server1” is checked.
I think there is a bug that can cause this to happen. I don’t have an exact way to reproduce it. As you work on OSB JCA adapter services, this error may creep up on you.

2 comments:

  1. I was facing a similar problem related to MQ Adapter. Resolved it in the way you have mentioned.. Thanks a lot.

    ReplyDelete