Powered By Blogger

Thursday, December 12, 2013

OSB polling with JCA in clustered environment

We all know that OSB supports JCA protocol.In this post I will discuss one issue that we encountered when we implemented FTP poll with JCA in OSB  in soa/osb clustered environment

Setup 
  1. Created JCA FTP deployment connection factory with HA parameters
  2. Created FTP adapter in Jdeveloper
  3. Imported required artifacts from Jdev project into OSB
  4. Created OSB proxy with JCA
When we tested OSB proxy for polling files,we saw below error

Error in osb log

<Error> <JCA_FRAMEWORK_AND_ADAPTER> <osb01> <[ACTIVE] ExecuteThread: '145' for queue: 'weblogic.kernel.Default (self-tuning)'>  <097b277aaf0a827d:40ef1fa1:142b5024552:-8000-0000000000079fde> <1386802596992> <BEA-000000> Unable to create clustered resource for inbound.
Unable to create clustered resource for inbound.
Unable to create clustered resource for inbound.
Please make sure the database connection parameters are correct.
[Caused by: Unable to resolve 'jdbc.SOADataSource'. Resolved 'jdbc']>

<Error> <JCATransport> <osb01> <[ACTIVE] ExecuteThread: '145' for queue: 'weblogic.kernel.Default (self-tuning)'> <pravva01> <> <097b277aaf0a827d:40ef1fa1:142b5024552:-8000-0000000000079fde> <1386802596993> <BEA-381959> <Failed to activate JCABindingService for wsdl: servicebus:/WSDL, operation: Get, exception: BINDING.JCA-12600
Generic error.
Generic error.
Cause: {0}.
Please create a Service Request with Oracle Support.
BINDING.JCA-12600
Generic error.
Generic error.
Cause: {0}.
Please create a Service Request with Oracle Support.
        at oracle.tip.adapter.sa.impl.inbound.JCABindingActivationAgent.activateEndpoint(JCABindingActivationAgent.java:340)
        at oracle.tip.adapter.sa.impl.JCABindingServiceImpl.activate(JCABindingServiceImpl.java:113)
        at com.bea.wli.sb.transports.jca.binding.JCATransportInboundOperationBindingServiceImpl.activateService(JCATransportInboundOperationBindingServiceImpl
 

Solution

As highlighted in color 'jdbc/SOADataSource'  is one of parameters configured on JCA adapter connection factory and it is mandatory parameter.This data source is available with installation and  points to soa dehydration store schema SOAINFRA where high availability features are installed

By default this data source is targeted to soa cluster but in our case it is OSB which is using JCA framework.When OSB access configured FTP JNDI connection factory which is configured with 'jdbc/SOADataSource', this data source could not be looked up since it is not being targeted to OSB cluster

So we need to target  data source to osb cluster in addition to soa cluster and bounce OSB managed servers.This would resolve the issue

2 comments:

  1. Hi,
    Thanks for your marvelous posting! I quite enjoyed reading it, you are a great author.I will be sure to bookmark your blog and definitely will come back from now on. I want to encourage that you continue your great job, have a nice day.
    Authentication Services

    ReplyDelete
  2. I wish to show thanks to you just for bailing me out of this particular trouble. As a result of checking through the net and meeting techniques that were not productive, Same as your blog I found another one Oracle OSB 12c.Actually I was looking for the same information on internet for Oracle OSB 12c and came across your blog. I am impressed by the information that you have on this blog. Thanks once more for all the details.

    ReplyDelete