WebGate – Oracle Client Conflict
When installing the 10.1.4 WebGate to protect an application with web services that relied on the Oracle Client for database connectivity, the application failed to run after the install. The following message is what was received back from the application:
The provider is not compatible with the version of Oracle client
The WebGate installation went seamlessly. It seemed apparent from the message that there must be an Oracle Client dll conflict. After looking at the IIS process through Process Explorer it became apparent that the application was relying on the Oracle 10g R2 client, but that WebGate was loading the Oracle 10g R1 client prior to the Web Service. Then when the web service was invoked, it would get the wrong client and thus fail.
My first instinct was to change the Oracle Client the web appl was using to 10.1 from 10.2. This worked for a while but it turned out there was a bug in the the 10.1 client that caused one of the components of the web app to fail. I had to re-install the 10.2 client.
My next instinct was to just proxy the web application with a proxy server and take the WebGate out of the mix on the web server where the app was hosted. Then I read a MetaLink KB article that suggested using a WebGate 7.0.4 build that DOES NOT include the oracle client in it. This seemed like a good opportunity so I parked the proxy idea.
I installed the WebGate but could not configure it with the 10.1.4 Access Server. In the Access Server oblog.log there was the following message.
Client and Server’s NAP versions do not match
It turns out that the the 10.1.4 Access Server IS backwards compatible but not by default. In the ..\access\oblix\apps\common\bin\globalparams.xml file
there is a parameter – IsBackwardCompatible – that needs to be set to true. Once that is set, voila, the WebGate configuration completes.