SplitJoin in OSB

Hi,
Is there any way to test a splitjoin from console?

Yes you can, what is stopping you ?
I have tested using test console from OSB Console.
Thanks,
Vijay

Similar Messages

  • Passing header to split join BS

    hi All
    My proxy1 calls a split join BS which in turn calls 2 other proxy services(proxy2 and proxy3).
    The problem is that the header passed from proxy1 to split join BS is not passed to proxy2 and proxy3.
    note: I've confirmed that the header is passed from proxy1 to split join BS.
    Any ideas on how to pass header from split join to other proxies ?
    Thanks
    Ross

    Given the use case of SplitJoin in OSB, it works with the body only and does not give options to play around with the headers.
    You will have to introduce to intermediary proxy (IntProxy1/2) between the SplitJoin and proxy2/3. And you can have the logic of inserting the header in this IntProxy1/2. This way the header is passed on.
    You may want to refer Oracle Service Bus 10.3 - split join how to set header for invoked service
    Thanks,
    Patrick
    It is considered good etiquette to reward answerers with points (as "helpful" - 5 pts - or "correct" - 10pts).
    https://forums.oracle.com/forums/ann.jspa?annID=893

  • Invoke secured service in splitjoin in an osb proxy message flow

    Hello,
    I create a new Split-Join (in the OSB workshop application). Then
    I use an action "Invoke Service" to call a not secured business service. So far no problem. When I assign a security policy to my business service, the OSB does not accept. Here is the error message in the OSB workshop:
    [Parallel, Scope, Invoke Service] Binding contains Security policy assertions, which is not supported.
    Binding: "{http://testsplitjoin/v1}TestSplitJoinSOAPBinding"
    Service: "BusinessService TestSplitJoin/BusinessServiceNotSecure"     
    TestSplitJoin     SplitJoinTest.flow     line 43     1316955334516     3695
    How can I call a secured business service in a splitJoin?
    Thanks

    Are you sure that your for-each definition is correct? Does the flow within the for-each get executed multiple times?
    You can check this by logging the variable to which you assign the message in the for-each. Don't forget to put the log level to Error, so you're sure that it's logged.
    Let's say you get a list of persons like the following xml in a variable personList
    <Persons>
    <Person>Glenn</Person>
    <Person>Prasanth</Person>
    </Persons>
    Your for-each definition should be the following.
    For each variable: person
    XPath: +./Person+
    In Variable: personList
    You don't mention the Persons element in the XPath expression since it is the root element of the XML. The root element is represented by . (dot).
    In the for-each, the variable person can be used like any other variable.

  • OSB SplitJoin editor too slow

    I've tried this on two different PCs and the problem is the same.
    When editing a splitjoin flow in workshop or OEPE, any task takes way too long to do. If I want to view the xquery statement behind an assign action, I click the link next to Expression, and then have to wait a good 30-60 seconds for the expression editor to finally appear. During that time, the cpu fan kicks on to full speed, and javaw.exe usage is at 99%
    Both PCs run 2.4GHz intel dual cores with 2GB of ram on XP 32bit.

    Project has 3 Business Services, 1 Split-Join, 1 Proxy Service, 2 XQuery resources, and about 20 xsds.
    eclipse.ini
    -vm
    C:/osb/jrockit_160_05/jre/bin/javaw.exe
    -startup
    C:/osb/tools/eclipse_pkgs/2.0/eclipse_3.3.2/eclipse/plugins/org.eclipse.equinox.launcher_1.0.1.R33x_v20080118awtswtbridge.jar
    --launcher.library
    C:/osb/tools/eclipse_pkgs/2.0/eclipse_3.3.2/eclipse/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.3.R33x_v20080118
    -vmargs
    -Xms384m
    -Xmx768m
    -XX:MaxPermSize=256m
    -XX:PermSize=192m
    -XX:NewRatio=3
    -Xss256k
    -DprodMode=production
    -Dweblogic.home=C:/osb/wlserver_10.3
    -Dsun.lang.ClassLoader.allowArraySyntax=true
    -Dnitrox.boot.jar=file:C:/osb/workshop_10.3/nitrox-boot.jar
    -Dosgi.install.area=C:/osb/tools/eclipse_pkgs/2.0/eclipse_3.3.2/eclipse
    -Dosgi.instance.area.default=C:/osb/user_projects/workspaces/default
    -Dosgi.configuration.area=C:/osb/workshop_10.3/workshop4WP/eclipse/configuration
    -Declipse.product=com.bea.workshop.product.workshop
    -Dosgi.splashPath=file:C:/osb/workshop_10.3/workshop4WP/eclipse/plugins/com.bea.workshop.product

  • Can SplitJoin have a condition to choose in OSB?

    Hi There,
    I am wondering can Split-Join in the message flow contain a condition with in the one .flow?
    let says i have a split join that doing parallel flow. flow A and flow B.
    Than on top of the splitting can i have a conditions something like this?
    If condition = A route to flow A only
    If condition = B route to flow B only
    If condition = AB route to flow AB

    found the solution. yes there is a if then process function to be used.

  • Provide authenticated username as parameter to a business service in OSB 12c

    Dear OSB/OSB experts,
    I have the following issue:
    1. I have a web service that would accept username as a parameter in the SOAP request in order to do some internal authorization checks (filtering database rows, tables, etc.)
    2. I want to connect that web service as business service in OSB 12c
    3. The proxy service should NOT accept username as parameter
    4. The proxy service should be protected via OWSM policy for authentication (either against the WLS authentication providers or through SAML tokens validation)
    Based on the above is there any mechanism in the implementation of the proxy service to get the authenticated username from the security context and provide it as a parameter to the business service?
    The authentication policy could use SAML tokens between two WLS domains - one will be running the WLS where proxy service clients will be running and the other - for the SOA 12c.
    Many thanks in advance,
    Anatoli

    HI,
    u can use Conditional Branching
    http://docs.oracle.com/cd/E13159_01/osb/docs10gr3/userguide/modelingmessageflow.html#wp1061670
    Split join would be used in case u need to split your request and call your Business Service in Serial/parallel & then gather resposnes from multiple callouts to have single response
    http://docs.oracle.com/cd/E13159_01/osb/docs10gr3/userguide/splitjoin.html#wp1137258
    Abhinav

  • How to publish to different Business service in OSB

    Hi,
    I have a xml,based on the RecordType I need to send to two Business services.
    If 00020=Then i publish to LOSS BS
    if 00030=Then to Gain Business service.
    Then XML is as below.
    +<body>+
    +<CSSiteAndMeter>+
    +<Header>+
    +...+
    +</Header>+
    +<Detail>+
    +<RecordType>00010</RecordType>+
    +<RecordTypeLiteral>METERID</RecordTypeLiteral>+
    +</Detail>+
    +<Detail>+
    +<RecordType>00020</RecordType>+
    +<RecordTypeLiteral>LOSS</RecordTypeLiteral>+
    +</Detail>+
    +<Detail>+
    +<RecordType>00010</RecordType>+
    +<RecordTypeLiteral>METERID</RecordTypeLiteral>+
    +</Detail>+
    +<Detail>+
    +<RecordType>00030</RecordType>+
    +<RecordTypeLiteral>GAIN</RecordTypeLiteral>+
    +</Detail>+
    +<Trailer>+
    +...+
    +</Trailer>+
    +</CSSiteAndMeter>+
    +</body>+
    How do i do in OSB,though there is a IF condition in OSB which i can do by cheking the Record Type='00020',but i need the Record Type =00010 also while publishing, like below
    +<Detail>+
    +<RecordType>00010</RecordType>+
    +<RecordTypeLiteral>METERID</RecordTypeLiteral>+
    +</Detail>+
    +<Detail>+
    +<RecordType>00020</RecordType>+
    +<RecordTypeLiteral>LOSS</RecordTypeLiteral>+
    +</Detail>+

    HI,
    u can use Conditional Branching
    http://docs.oracle.com/cd/E13159_01/osb/docs10gr3/userguide/modelingmessageflow.html#wp1061670
    Split join would be used in case u need to split your request and call your Business Service in Serial/parallel & then gather resposnes from multiple callouts to have single response
    http://docs.oracle.com/cd/E13159_01/osb/docs10gr3/userguide/splitjoin.html#wp1137258
    Abhinav

  • QoS issue with OSB publish to JMS business service

    Hi,
    1. I have a http OSB proxy service which is publishing an audit message to a JMS queue through OSB business service.
    MainProxyService (http) --> Publish (best-effort) --> AuditBusinessService (JMS) --> Audit Queue
    2. I want 'Publish to JMS business service' to be a non-blocking call so that proxy service message flow can continue. Transaction support is disabled in proxy service as well as in JMS connection factory.
    3. As default value of QoS (quality of service) for publish action is best-effort, ideally proxy service should continue its message flow immediately after dispatching the message to publish action and it should not block the main proxy flow.
    4. But in my case, proxy service is blocking the message flow until the message is delivered to JMS business service/JMS queue. This is degrading performance of my application.
    5. I think default 'best-effort' QoS is not working with JMS business service as there is a significant time lag between publish action and its next subsequent action.
    6. If I replace the JMS business service with HTTP business service, then it seems to be a non-blocking call and message flow immediately proceeds to next actions.
    Correct me if I am going wrong anywhere or my understanding is wrong.
    Many thanks.

    HI,
    u can use Conditional Branching
    http://docs.oracle.com/cd/E13159_01/osb/docs10gr3/userguide/modelingmessageflow.html#wp1061670
    Split join would be used in case u need to split your request and call your Business Service in Serial/parallel & then gather resposnes from multiple callouts to have single response
    http://docs.oracle.com/cd/E13159_01/osb/docs10gr3/userguide/splitjoin.html#wp1137258
    Abhinav

  • OSB SPLIT JOin How to verify it is working parallel

    HI ,
    I am using Oracle service Bus 11.1.1.3 and I have following Requirement
    PS 1 : Receives the request ,validates the input and calls proxyservice 2 (using publish action )
    PS 2[Sb ] :Receives the req from Proxyservice 1 queries a DB using the DB Dapater and obtains a list of subscribers for the request .
    Each item of the list contains information about the subscriber metadata(data format,JMS endpoint) .For Each Subscriber calls Proxyservice 3 which the subscriber meta data info and the actual request received .
    PS 3 [SB ]: Receievs the subscriber meta data and the actual request XML .depending upon the format specified in the meta data for the subscriber performs transformation(using xquery) and post the transformed xml to the subscriber specific queue [JMS ].
    Proxyservice 3 is common for all subscriber depending upon the metadata different Xquery needs to be called for different subscriber [this is achieved using Dynamic xquery ].
    My requirement is i need to call Proxyservice 3 in parallel for all subscriber .
    OSB doesnot out of the box provide action for spanning multiple threads of a PS from another PS .
    I have tried using Split join .Have created a Split Join which will loop through the list of Subscribers returned in PS2 and call PS3 for Each loop (have specified paralle =yes in split join ).
    How do I confirm that PS3 is called in parallel for all the subscribers .
    Is there any other way I could implement this requirement of spanning multiple threads ?
    Thanks a regards ,
    Yamini

    HI Abhinav ,
    Thanks a lot for the help .I had tried with adding log actions at various places.
    Added a log action as the first action of the for loop (split join )
    Start of PS3 and End of PS3 ..
    Please find some of teh readings .
    Reading 1
    for loop ******************************: 2011-09-01T16:24:12.825+01:00
    for loop ******************************: 2011-09-01T16:24:12.965+01:00
    for loop ******************************: 2011-09-01T16:24:12.965+01:00
    for loop ******************************: 2011-09-01T16:24:13.137+01:00
    progate Input Time Stamp ::::: 2011-09-01T16:24:12.965+01:00 ODM
    Progate Input Time Stamp ::::: 2011-09-01T16:24:13.028+01:00 oye
    Progate Input Time Stamp ::::: 2011-09-01T16:24:13.121+01:00 hade
    Progate Input Time Stamp ::::: 2011-09-01T16:24:13.199+01:00 PAM
    JMSSSSS Posting: 2011-09-01T16:24:13.043+01:00 odm
    JMSSSSS Posting: 2011-09-01T16:24:13.043+01:00 oye
    JMSSSSS Posting: 2011-09-01T16:24:13.137+01:00 hades
    JMSSSSS Posting: 2011-09-01T16:24:13.199+01:00 PAM
    Reading 2:
    Calling the SplitJoin: 2011-08-31T17:54:20.914+01:00
    ending the SplitJoin: 2011-08-31T17:54:20.929+01:00
    THE COUNT ******************************: 2011-08-31T17:54:21.662+01:00
    THE COUNT ******************************: 2011-08-31T17:54:22.021+01:00
    Prooooooogate Input Time Stamp ::::: 2011-08-31T17:54:23.254+01:00 odm
    Prooooooogate Input Time Stamp ::::: 2011-08-31T17:54:23.269+01:00 pam
    JMSSSSS Posting: 2011-08-31T17:54:23.285+01:00 odm
    JMSSSSS Posting: 2011-08-31T17:54:23.363+01:00 pam
    As far as my analysis goes PS3 is executed in parallel but it is not instantaited at one go (all threads in parallel ) .
    I am not able to conclude the level of parallelism achieved using Split join ..
    Do let me know if I am missing anything
    Yamini

  • OSB (ALSB) to implement a Resequencer? (EIP Pattern)

    Hello *,
    has somebody ever tried to implement using OSB (BEA ALSB) the Resequencer EIP Pattern (Hohpe, Woolf)?
    http://www.enterpriseintegrationpatterns.com/Resequencer.html
    Generally I wonder how the OSB product concept maps to the EIP Patterns. Are there some guidelines for scenarios like Splitter/Aggregator , Enricher/Filter, etc.?
    my customer want's to implement at least the Resequence and Splitter. Any tips are very welcome here!!
    grtx,
    \thomas

    Hi Thomas,
    Depending on your exact requirement for your Resequencer you may be able to use the underlying WebLogic JMS Unit of Order to get this. Read more here:
    http://download-llnw.oracle.com/docs/cd/E11035_01/wls100/jms/uoo.html
    With regards the other patterns, OSB supports all the ones you mention:
    Splitter/Aggregator - use the split/join functionality described here:
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/splitjoin.html
    Enricher - this can be achieved in a number of ways depending on where you are getting your enrichment data from. Service callouts allow you to invoke a service from within the proxy message flow, Java callouts allows you to implement Java code, and there is an XQuery function to allow you to read content from a database (note in the next release of OSB we will have support for the Oracle database adapter and so will have richer functionality here)
    Filter - again this depends on the exact requirement but there are a number of options here including routing tables, if/then capability, operational branching, etc.
    Hope that is useful.
    Chris

  • Splitjoin invocation

    hi,
    I am getting this fault in osb split join while using Parallel to invoke three external sevices
    <faultcode>soapenv:Server</faultcode>
    <faultstring>
    BEA-380001: [subLanguageExecutionFault] [BEA-2031509] Executing an expression caused an unhandled fault: Variable 'pointsBalanceRequest' is being referenced before it has been initialized with a value.: Fault [{http://docs.oasis-open.org/wsbpel/2.0/process/executable}uninitializedVariable] [BEA-2031518] Variable 'pointsBalanceRequest' is being referenced before it has been initialized with a value.
    Executing Process Reference: GetLoyaltyMemberProfileOSB/splitjoin/v10/GetLoyaltyMemberProfileSplitJoin; instance ID: uuid:ea3018e377a427e6:-6824b51:1382c77d9c5:-7fc6; thread: Thread 6 (RUNNING); frame ID: lockHandler,15; location: 40 ({http://www.bea.com/wli/sb/stages/transform/config}assign [88,11]) - ENTER.
    </faultstring>
    Can anybody can share any URLS of how to hadle this.
    Expecting a reply from ASAP
    regards
    sri

    i assume the pointsBalanceRequest variable is the input variable of the business service you're trying to invoke in the split join?
    can you try 'filling' this variable before this invoke with an assign instead of a replace?
    http://www.xenta.nl/blog/2011/07/03/oracle-service-bus-implementing-aggregator-pattern-by-use-of-split-join/ maybe that one helps a bit too

  • Split joins in OSB

    Hi,
    Actually i do have a requirement where i need to call 2 business services simultaneously(in parallel) in OSB(Like using Flow activity in SOA) using split joins. Is it possible to call 2 business services parallely in OSB?
    Can any one please help me out with any blogs or steps that i can follow to achieve this.
    Your help is appreciated.
    Thanks,
    Naveen

    That is not entirely true. Split Join itself is based on single operation, i.e. the input to split join will be a single message, but within the split join you can invoke multiple services in parallel. You can either dynamically decide the number of parallel flows at runtime (similar to FlowN) or you can have static number of parallel calls (like Flow activity of BPEL) within split join.
    In case you want to call two business services in parallel, create a WSDL(if needed, in most cases you can reuse the WSDL of the Proxy Service itself for SplitJoin as well unless you are doing enrichment within Proxy before calling business services) for split join which has request message which contains data for both business services. Within the split join you can configure calls to both business services in parallel and you can also add transformations for each business services in respective branches.
    You can than aggregate the response from both services if needed and return that as a response of split join.
    Here is an example of Static Split Join:
    http://www.xenta.nl/blog/2011/07/03/oracle-service-bus-implementing-aggregator-pattern-by-use-of-split-join/

  • Error while comitting a transaction in oSB. The following is the error stack

    Error while comitting a transaction in OSB. The following is the error stack
    <Apr 20, 2015 12:00:15 AM MDT> <Error> <EJB> <BEA-010026> <Exception occurred during commit of transaction Xid=BEA1-1AE41F1CAE45F2B146FD(296700848),Status=Rolled back. [Reason=Unknown],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=2,seconds left=120,XAServerResourceInfo[WLStore_SOA_PRDKS_DOMAIN_FileStore_SOA_MS2]=(ServerResourceInfo[WLStore_SOA_PRDKS_DOMAIN_FileStore_SOA_MS2]=(state=new,assigned=none),xar=null,re-Registered = false),XAServerResourceInfo[WLStore_OSB_PRDKS_DOMAIN_FileStore_auto_1]=(ServerResourceInfo[WLStore_OSB_PRDKS_DOMAIN_FileStore_auto_1]=(state=rolledback,assigned=OSB_MS1),xar=WLStore_OSB_PRDKS_DOMAIN_FileStore_auto_11603460297,re-Registered = false),XAServerResourceInfo[weblogic.jdbc.jta.DataSource]=(ServerResourceInfo[weblogic.jdbc.jta.DataSource]=(state=ended,assigned=none),xar=CMSDS,re-Registered = false),SCInfo[OSB_PRDKS_DOMAIN+OSB_MS1]=(state=rolledback),SCInfo[SOA_PRDKS_DOMAIN+SOA_MS2]=(state=pre-prepared),properties=({}),local properties=({weblogic.jdbc.jta.CMSDS=[ No XAConnection is attached to this TxInfo ]}),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=OSB_MS1+soaprd-vip-osb-ms1.cos.is.keysight.com:8001+OSB_PRDKS_DOMAIN+t3+, XAResources={eis/wls/Queue, WEDB_EVEREST_OSB_PRDKS_DOMAIN, XREFDS_OSB_PRDKS_DOMAIN, eis/activemq/Queue, CustomSchemaDS_OSB_PRDKS_DOMAIN, MobileApps_CIA_DS1_OSB_PRDKS_DOMAIN, eis/tibjmsDirect/Queue, eis/jbossmq/Queue, eis/Apps/Apps, MobileApps_AOS_MDS_OSB_PRDKS_DOMAIN, MobileApps_AOS_DRDS_OSB_PRDKS_DOMAIN, WSATGatewayRM_OSB_MS1_OSB_PRDKS_DOMAIN, eis/webspheremq/Queue, eis/AQ/aqSample, SBLPROD_OSB_PRDKS_DOMAIN, wlsbjmsrpDataSource_OSB_PRDKS_DOMAIN, eis/aqjms/Queue, CMSDS_OSB_PRDKS_DOMAIN, WLStore_OSB_PRDKS_DOMAIN_WseeFileStore_auto_1, FAP_OSB_PRDKS_DOMAIN, eis/sunmq/Queue, eis/pramati/Queue, FMWAPPDS_OSB_PRDKS_DOMAIN, weblogic.jdbc.jta.DataSource, GSDC_OSB_PRDKS_DOMAIN, eis/tibjms/Topic, eis/fioranomq/Topic, WLStore_OSB_PRDKS_DOMAIN_FileStore_MS1, PresidioOracleAppsDS_OSB_PRDKS_DOMAIN, GSDCDS_OSB_PRDKS_DOMAIN, eis/aqjms/Topic, CustOutDS_OSB_PRDKS_DOMAIN, OFMW/Logging/BAM, MobileAppsDS_OSB_PRDKS_DOMAIN, FIDDS_OSB_PRDKS_DOMAIN, WLStore_OSB_PRDKS_DOMAIN__WLS_OSB_MS1, HRMSDS_OSB_PRDKS_DOMAIN, WEDB_OSB_PRDKS_DOMAIN, OracleAppsDS_OSB_PRDKS_DOMAIN, eis/wls/Topic, eis/tibjms/Queue, eis/tibjmsDirect/Topic, IntrastatDS_OSB_PRDKS_DOMAIN, MobileApps_AOS_COSDS_OSB_PRDKS_DOMAIN, MobileApps_CIA_DS2_OSB_PRDKS_DOMAIN, EVEREST_WEDB_OSB_PRDKS_DOMAIN, WLStore_OSB_PRDKS_DOMAIN_FileStore_auto_1, Everest_OSB_PRDKS_DOMAIN},NonXAResources={})],CoordinatorURL=SOA_MS2+soaprd-vip-soa-ms2.cos.is.keysight.com:8002+SOA_PRDKS_DOMAIN+t3+): javax.transaction.SystemException: Lost connection to server while commit was in progress, ignoring because initiating server is not coordinating server. Remote Exception received=weblogic.rjvm.PeerGoneException: ; nested exception is:
            java.rmi.UnmarshalException: Incoming message header or abbreviation processing failed ; nested exception is:
            java.io.InvalidClassException: oracle.jdbc.xa.OracleXAException; local class incompatible: stream classdesc serialVersionUID = -2542408691177300269, local class serialVersionUID = -4551795881821760665
            at weblogic.transaction.internal.TransactionImpl.commit(TransactionImpl.java:376)
            at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:237)
            at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:224)
            at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:552)
            at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:423)
            at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:325)
            at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4659)
            at weblogic.jms.client.JMSSession.execute(JMSSession.java:4345)
            at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3821)
            at weblogic.jms.client.JMSSession.access$000(JMSSession.java:115)
            at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5170)
            at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
            at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
            at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

    Hi,
    Have you tried Cancelling the release before adding the version?
    Select the active version of the IDOC Segment and cancel its release first. Only then you will be able to add a version.
    Please let me know if it worked!
    Vijay

  • OSB file logging settings configuration

    Dear Experts,
    I need to know if it is possible to log on file all messages of error (i.e $fault variable) during a flow execution without using in the flow neither logs neither report. Is it possible ? If it is, which the correct WLS settings configuration ?
    Regards,
    Mike
    Edited by: Mike.Di on 3-dic-2009 5.55
    Edited by: Mike.Di on 3-dic-2009 5.57

    I can only think of one solution: using the debugging/tracing facilities of OSB. You could enable execution tracing for a particular proxy service, or you could enable debugging of pipelines in the alsbdebug.xml file in your domain's home. For this WLS's log should have a severity level of debug. Of course this would mean you'd have a lot more messages in the log files, not just the errors. I would not recommend this for a production environment.
    Why can't you use the Log action that's specially designed for sending messages to WLS's log file?

  • OSB: Cannot acquire data source error while using JCA DBAdapter in OSB

    Hi All,
    I've entered 'Cannot acquire data source' error while using JCA DBAdapter in OSB.
    Error infor are as follows:
    The invocation resulted in an error: Invoke JCA outbound service failed with application error, exception: com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/DBAdapter1/RetrievePersonService [ RetrievePersonService_ptt::RetrievePersonServiceSelect(RetrievePersonServiceSelect_inputParameters,PersonTCollection) ] - WSIF JCA Execute of operation 'RetrievePersonServiceSelect' failed due to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by Exception [EclipseLink-7060] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.ValidationException
    Exception Description: Cannot acquire data source [jdbc/soademoDatabase].
    Internal Exception: javax.naming.NameNotFoundException: Unable to resolve 'jdbc.soademoDatabase'. Resolved 'jdbc'; remaining name 'soademoDatabase'.
    ; nested exception is:
    BINDING.JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    JNDI Name for the Database pool: eis/DB/soademoDatabase
    JNDI Name for the Data source: jdbc/soademoDatabase
    I created a basic DBAdapter in JDeveloper, got the xsd file, wsdl file, .jca file and the topLink mapping file imported them into OSB project.
    Then I used the .jca file to generate a business service, and tested, then the error occurs as described above.
    Login info in RetrievePersonService-or-mappings.xml
    <login xsi:type="database-login">
    <platform-class>org.eclipse.persistence.platform.database.oracle.Oracle9Platform</platform-class>
    <user-name></user-name>
    <connection-url></connection-url>
    </login>
    jca file content are as follows:
    <adapter-config name="RetrievePersonService" adapter="Database Adapter" wsdlLocation="RetrievePersonService.wsdl" xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">
    <connection-factory location="eis/DB/soademoDatabase" UIConnectionName="Connection1" adapterRef=""/>
    <endpoint-interaction portType="RetrievePersonService_ptt" operation="RetrievePersonServiceSelect">
    <interaction-spec className="oracle.tip.adapter.db.DBReadInteractionSpec">
    <property name="DescriptorName" value="RetrievePersonService.PersonT"/>
    <property name="QueryName" value="RetrievePersonServiceSelect"/>
    <property name="MappingsMetaDataURL" value="RetrievePersonService-or-mappings.xml"/>
    <property name="ReturnSingleResultSet" value="false"/>
    <property name="GetActiveUnitOfWork" value="false"/>
    </interaction-spec>
    </endpoint-interaction>
    </adapter-config>
    RetrievePersonService_db.wsdl are as follows:
    <?xml version="1.0" encoding="UTF-8"?>
    <WL5G3N0:definitions name="RetrievePersonService-concrete" targetNamespace="http://xmlns.oracle.com/pcbpel/adapter/db/KnowledeMgmtSOAApplication/AdapterJDevProject/RetrievePersonService" xmlns:WL5G3N0="http://schemas.xmlsoap.org/wsdl/" xmlns:WL5G3N1="http://xmlns.oracle.com/pcbpel/adapter/db/KnowledeMgmtSOAApplication/AdapterJDevProject/RetrievePersonService" xmlns:WL5G3N2="http://schemas.xmlsoap.org/wsdl/soap/">
    <WL5G3N0:import location="RetrievePersonService.wsdl" namespace="http://xmlns.oracle.com/pcbpel/adapter/db/KnowledeMgmtSOAApplication/AdapterJDevProject/RetrievePersonService"/>
    <WL5G3N0:binding name="RetrievePersonService_ptt-binding" type="WL5G3N1:RetrievePersonService_ptt">
    <WL5G3N2:binding style="document" transport="http://www.bea.com/transport/2007/05/jca"/>
    <WL5G3N0:operation name="RetrievePersonServiceSelect">
    <WL5G3N2:operation soapAction="RetrievePersonServiceSelect"/>
    <WL5G3N0:input>
    <WL5G3N2:body use="literal"/>
    </WL5G3N0:input>
    <WL5G3N0:output>
    <WL5G3N2:body use="literal"/>
    </WL5G3N0:output>
    </WL5G3N0:operation>
    </WL5G3N0:binding>
    <WL5G3N0:service name="RetrievePersonService_ptt-bindingQSService">
    <WL5G3N0:port binding="WL5G3N1:RetrievePersonService_ptt-binding" name="RetrievePersonService_ptt-bindingQSPort">
    <WL5G3N2:address location="jca://eis/DB/soademoDatabase"/>
    </WL5G3N0:port>
    </WL5G3N0:service>
    </WL5G3N0:definitions>
    Any suggestion is appricated .
    Thanks in advance!
    Edited by: user11262117 on Jan 26, 2011 5:28 PM

    Hi Anuj,
    Thanks for your reply!
    I found that the data source is registered on server soa_server1 as follows:
    Binding Name: jdbc.soademoDatabase
    Class: weblogic.jdbc.common.internal.RmiDataSource_1033_WLStub
    Hash Code: 80328036
    toString Results: ClusterableRemoteRef(8348400613458600489S:10.2.1.143:[8001,8001,-1,-1,-1,-1,-1]:base_domain:soa_server1 [8348400613458600489S:10.2.1.143:[8001,8001,-1,-1,-1,-1,-1]:base_domain:soa_server1/291])/291
    Binding Name: jdbc.SOADataSource
    Class: weblogic.jdbc.common.internal.RmiDataSource_1033_WLStub
    Hash Code: 92966755
    toString Results: ClusterableRemoteRef(8348400613458600489S:10.2.1.143:[8001,8001,-1,-1,-1,-1,-1]:base_domain:soa_server1 [8348400613458600489S:10.2.1.143:[8001,8001,-1,-1,-1,-1,-1]:base_domain:soa_server1/285])/285
    I don't know how to determine which server the DBAdapter is targetted to.
    But I found the following information:
    Under Deoloyment->DBAdapter->Monitoring->Outbound Connection Pools
    Outbound Connection Pool Server State Current Connections Created Connections
    eis/DB/SOADemo AdminServer Running 1 1
    eis/DB/SOADemo soa_server1 Running 1 1
    eis/DB/soademoDatabase AdminServer Running 1 1
    eis/DB/soademoDatabase soa_server1 Running 1 1
    The DbAdapter is related to the following files:
    C:\ Oracle\ Middleware\ home_11gR1\ Oracle_SOA1\ soa\ connectors\ DbAdapter. rar
    C:\ Oracle\ Middleware\ home_11gR1\ Oracle_SOA1\ soa\ DBPlan\ Plan. xml
    I unzipped DbAdapter.rar, opened weblogic-ra.xml and found that there's only one data source is registered:
    <?xml version="1.0"?>
    <weblogic-connector xmlns="http://www.bea.com/ns/weblogic/90">
    <enable-global-access-to-classes>true</enable-global-access-to-classes>
    <outbound-resource-adapter>
    <default-connection-properties>
    <pool-params>
    <initial-capacity>1</initial-capacity>
    <max-capacity>1000</max-capacity>
    </pool-params>
    <properties>
    <property>
    <name>usesNativeSequencing</name>
    <value>true</value>
    </property>
    <property>
    <name>sequencePreallocationSize</name>
    <value>50</value>
    </property>
    <property>
    <name>defaultNChar</name>
    <value>false</value>
    </property>
    <property>
    <name>usesBatchWriting</name>
    <value>true</value>
    </property>
    <property>
    <name>usesSkipLocking</name>
    <value>true</value>
    </property>
    </properties>
              </default-connection-properties>
    <connection-definition-group>
    <connection-factory-interface>javax.resource.cci.ConnectionFactory</connection-factory-interface>
    <connection-instance>
    <jndi-name>eis/DB/SOADemo</jndi-name>
              <connection-properties>
                   <properties>
                   <property>
                   <name>xADataSourceName</name>
                   <value>jdbc/SOADataSource</value>
                   </property>
                   <property>
                   <name>dataSourceName</name>
                   <value></value>
                   </property>
                   <property>
                   <name>platformClassName</name>
                   <value>org.eclipse.persistence.platform.database.Oracle10Platform</value>
                   </property>
                   </properties>
              </connection-properties>
    </connection-instance>
    </connection-definition-group>
    </outbound-resource-adapter>
    </weblogic-connector>
    Then I decided to use eis/DB/SOADemo for testing.
    For JDeveloper project, after I deployed to weblogic server, it works fine.
    But for OSB project referencing wsdl, jca and mapping file from JDeveloper project, still got the same error as follows:
    BEA-380001: Invoke JCA outbound service failed with application error, exception:
    com.bea.wli.sb.transports.jca.JCATransportException: oracle.tip.adapter.sa.api.JCABindingException: oracle.tip.adapter.sa.impl.fw.ext.org.collaxa.thirdparty.apache.wsif.WSIFException: servicebus:/WSDL/DBAdapterTest/DBReader [ DBReader_ptt::DBReaderSelect(DBReaderSelect_inputParameters,PersonTCollection) ] - WSIF JCA Execute of operation 'DBReaderSelect' failed due to: Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by Exception [EclipseLink-7060] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.ValidationException
    Exception Description: Cannot acquire data source [jdbc/SOADataSource].
    Internal Exception: javax.naming.NameNotFoundException: Unable to resolve 'jdbc.SOADataSource'. Resolved 'jdbc'; remaining name 'SOADataSource'.
    ; nested exception is:
    BINDING.JCA-11622
    Could not create/access the TopLink Session.
    This session is used to connect to the datastore.
    Caused by Exception [EclipseLink-7060] (Eclipse Persistence Services - 2.0.2.v20100323-r6872): org.eclipse.persistence.exceptions.ValidationException
    Exception Description: Cannot acquire data source [jdbc/SOADataSource].
    Internal Exception: javax.naming.NameNotFoundException: Unable to resolve 'jdbc.SOADataSource'. Resolved 'jdbc'; remaining name 'SOADataSource'.
    You may need to configure the connection settings in the deployment descriptor (i.e. DbAdapter.rar#META-INF/weblogic-ra.xml) and restart the server. This exception is considered not retriable, likely due to a modelling mistake.
    It almost drive me crazy!!:-(
    What's the purpose of 'weblogic-ra.xml' under the folder of 'C:\Oracle\Middleware\home_11gR1\Oracle_OSB1\lib\external\adapters\META-INF'?
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Maybe you are looking for

  • Why can't I download photos from my harddrive in PSE Organizer 8?

    I've tried 3 different times to download my photos in PSE Organizer 8 from my harddrive.  Each time I tried a smaller group.  I just upgraded from Elements 4 and I was impressed with some of the features with the organizer and decided to try and use

  • Html files with included php: related files, code color?

    Hi there, Wow, what an active forum! I have two questions about html files that include php. Almost all my html files have this structure: <?php (php stuff) require_once 'somefile.php'; ?> (html stuff) My first question is, is there any way for DW CS

  • Contact / email form problem

    I am adding a contact / forward email form to a website I am building and ran into a snag. I have the Adobe Classroom in a book for AS3, and in chapter 13 it gives me the code, along with a start file and completed file. The problem is, the completed

  • Red Rocket & Premier Pro CC

    So I have a Sonnet Thunderbolt 2 expansion box.  It has a Red Rocket only in it.  I am current on software, firmware and OS.  When the card is used in Redcine-X Pro it works great.  When used in Premier Pro CC it hangs and won't play much at all.  As

  • Page has expired