Wednesday 30 January 2013

Apps Adapter Fails due to invalid Apps Context


While calling API from Oracle SOA 11g using OracleApps Adapter. BPEL Process which was calling API of OEBS fails and give error that  Invalid Apps Context.

Fault Thrown by SOA Component


2012-11-29T07:54:53.629+01:00] [soa_server1] [ERROR] [] [oracle.soa.bpel.engine.dispatch] [tid: orabpel.invoke.pool-4.thread-17] [userId: <anonymous>] [ecid: 75f494dcfdf9a2f6:12e9d78e:13b46f8f54b:-8000-00000000000078df,1:23847] [APP: soa-infra] failed to handle message[[
com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.oracle.com/bpel/extension}bindingFault}
messageType: {{http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage}
parts: {{
summary=<summary>Exception occured when binding was invoked.
Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'APPS_AP_VENDOR_SITES_PKG_INSERT_NEW' failed due to: Apps Context Error.
Error occurred while setting up Apps Context.
Context parameters should be valid.
Contact oracle support if error is not fixable.
".
The invoked JCA adapter raised a resource exception.
Please examine the above error message carefully to determine a resolution.
</summary>
,detail=<detail>ORA-00942: table or view does not exist
</detail>
,code=<code>EBzA-057</code>}

Solution

 There could be more then one causes of the above problem.

1. User and responsibility in JCA file is not properly defined.

<jca:binding />
<operation name="APPS_AP_VENDOR_SITES_PKG_INSERT_NEW">
<jca:operation
IRepInternalName="PLSQL:AP_VENDOR_SITES_PKG:INSERT_ROW"
SchemaName="SYS_USER"
PackageName="AP_VENDOR_SITES_PKG"
ProcedureName="INSERT_ROW"
InteractionSpec="oracle.tip.adapter.apps.AppsStoredProcedureInteractionSpec"
Username="sysadmin"
Responsibility="System Administrator" >
</jca:operation>

 
2. User mentioned in JCA properties do not have access\correct responsibility assigned in OEBS setup

Following properties should be correctly mentioned in JCA file as well as in OEBS setup.

Username="sysadmin"
Responsibility="System Administrator" 


3. User in jdbc datasource doesn't have enough rights to execute the API.

In my case problem was with the datasource user which was configured in WLS console doen't had enough rights. I provide with super user or apps user to access or execute the Apps Adapter from SOA plateform and my problem was resolved.

I hope this solution helps.