OSB: Cannot acquire data source error while using JCA DBAdapter in OSB
706550Jan 26 2011 — edited Jan 16 2012Hi 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