The InitialContext returned to a client from the JBoss naming service contains entries for all the EJBs, services (such as topic and queue), etc. The name jdbc is not bound (I dumped the contents using list("java:/")).
When the InitialContext is obtained from within the container, jdbc is bound (lookups against java:/jdbc succeed).
The startup log shows it being bound here:
16:25:41,736 INFO [jdbc/FirebirdDS] Bound connection factory for resource adapter for ConnectionManager 'jboss.jca:service=NoTxCM,name=jdbc/FirebirdDS to JNDI name 'java:/jdbc/FirebirdDS'
16:25:41,746 INFO [jdbc/XA-Firebird-Rxs] Bound connection factory for resource adapter for ConnectionManager 'jboss.jca:service=TxCM,name=jdbc/XA-Firebird-Rxs to JNDI name 'java:/jdbc/XA-Firebird-Rxs'
Why isn't jdbc showing up outside the container, and how may I begin correcting it?
One answer I've gotten was that the java:/ namespace shouldn't be available outside the container, but I'm looking up and using EJBs from the client that way, and OC4J returned pooled connections the same way.