JNDI over HTTP
bghcm Jun 25, 2004 3:50 PMI have an application using JNDI and EJBs without error on 3.2.3.
Due to firewall issues I am trying to enable JNDI using http-invoker.
However, after following the directions on page 218 of the docs I'm able to access the invoker servlet but it returns:
javax.naming.NamingException: Failed to retrieve Naming interface [Root exception is java.io.IOException: Invalid reply content seen: class org.jboss.invocation.InvocationException]
implying (I think) that the servlet is unable to access the standard JNDI interface on the JMX bus (running on 1099).
jndi properties look like this-
java.naming.factory.initial=org.jboss.naming.HttpNamingContextFactory java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces java.naming.provider.url=http://192.168.0.99:8080/invoker/JMXInvokerServlet
and mbean configuration for the invoker is:
<!-- Expose the Naming service interface via HTTP --> <mbean code="org.jboss.invocation.http.server.HttpProxyFactory" name="jboss:service=invoker,type=http,target=Naming"> <!-- The Naming service we are proxying --> <attribute name="InvokerName">jboss:service=Naming</attribute> <!-- Compose the invoker URL from the cluster node address --> <attribute name="InvokerURLPrefix">http://</attribute> <attribute name="InvokerURLSuffix">:8080/invoker/JMXInvokerServlet</attribute> <attribute name="UseHostName">false</attribute> <attribute name="ExportedInterface">org.jnp.interfaces.Naming</attribute> <attribute name="JndiName"></attribute> <attribute name="ClientInterceptors"> <interceptors> <interceptor>org.jboss.proxy.ClientMethodInterceptor</interceptor> <interceptor>org.jboss.proxy.SecurityInterceptor</interceptor> <interceptor>org.jboss.naming.interceptors.ExceptionInterceptor</interceptor> <interceptor>org.jboss.invocation.InvokerInterceptor</interceptor> </interceptors> </attribute> </mbean>
Does anyone have JNDI working over HTTP? What am I missing here? Any comments appreciated. Thanks