Saturday, September 03, 2011
WebSphere "invalid Oracle URL specified" error
Another unhelpful WebSphere error, this time with an assist from Oracle.
This happened to me when I configured my JDBC data source with the default wpdbJDBC_oracle JDBC provider, using the XA datasource (OracleXADataSource), and used the "container managed" J2C authentication alias instead of "component managed". The WebSphere admin console will successfully test the connection, but when you use it in a web application, it will fail with this "Invalid Oracle URL specified" error. It was so hard to track down because it made me focus on the JDBC URL, which wasn't ever the problem. It never occurred to me that the admin console and the web applications would somehow be getting connections and signing into Oracle differently, which tricked me into thinking that my configuration was really ok when it wasn't.
For the record, the web application was just doing a straight JNDI datasource lookup without any resource-ref mapping in web.xml, using the same JNDI name as bound in the server.
Also, changing to a different non-XA JDBC provider using plain OracleConnectionPoolDataSource resulted in "invalid username/password".
When I changed the datasource to use the component-managed alias instead, and restarted, everything worked.